fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
[gnulib.git] / ChangeLog
1 2012-03-08  Bruno Haible  <bruno@clisp.org>
2
3         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
4         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
5         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
6         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
7         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
8         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
9         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
10
11 2012-03-08  Bruno Haible  <bruno@clisp.org>
12
13         remainderf: Override buggy system function on IRIX 6.5.
14         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
15         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
16         when it exists.
17         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
18
19 2012-03-08  Jim Meyering  <meyering@redhat.com>
20
21         test-readtokens.c: avoid const-related compilation warnings
22         * tests/test-readtokens.c: Avoid const-related compilation warnings.
23
24 2012-03-07  Jim Meyering  <meyering@redhat.com>
25             Bruno Haible  <bruno@clisp.org>
26
27         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
28         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
29         tests/randomd.c.
30         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
31         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
32         tests/randoml.c.
33         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
34
35 2012-03-07  Bruno Haible  <bruno@clisp.org>
36
37         expm1l: Avoid compilation error on AIX.
38         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
39         AIX 5.2..7.1.
40
41 2012-03-07  Bruno Haible  <bruno@clisp.org>
42
43         expm1l: Don't override undeclared system function on IRIX 6.5.
44         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
45         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
46         it exists. Set HAVE_DECL_EXPM1L.
47         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
48         HAVE_EXPM1L.
49         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
50         HAVE_EXPM1L.
51         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
52
53 2012-03-07  Bruno Haible  <bruno@clisp.org>
54
55         remainderl: Don't override undeclared system function on IRIX 6.5.
56         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
57         HAVE_REMAINDERL.
58         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
59         declared when it exists. Set HAVE_DECL_REMAINDERL.
60         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
61         not HAVE_REMAINDERL.
62         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
63         HAVE_REMAINDERL.
64         * doc/posix-functions/remainderl.texi: Mention missing declaration
65         problem.
66
67 2012-03-07  Bruno Haible  <bruno@clisp.org>
68
69         rintf: Don't override undeclared system function on IRIX 6.5.
70         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
71         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
72         exists. Set HAVE_DECL_RINTF.
73         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
74         HAVE_RINTF.
75         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
76         HAVE_RINTF.
77         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
78
79 2012-03-07  Bruno Haible  <bruno@clisp.org>
80
81         roundl: Avoid compilation error on AIX.
82         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
83         AIX 5.2..7.1.
84
85 2012-03-07  Bruno Haible  <bruno@clisp.org>
86
87         roundl: Don't override undeclared system function on IRIX 6.5.
88         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
89         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
90         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
91         * modules/roundl (configure.ac): For replacement code, test
92         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
93         (Depends-on): Update conditions.
94         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
95
96 2012-03-07  Bruno Haible  <bruno@clisp.org>
97
98         roundf: Don't override undeclared system function on IRIX 6.5.
99         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
100         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
101         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
102         * modules/roundf (configure.ac): For replacement code, test
103         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
104         (Depends-on): Update conditions.
105         * modules/roundf-ieee (Depends-on): Update conditions.
106         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
107
108 2012-03-07  Bruno Haible  <bruno@clisp.org>
109
110         round: Don't override undeclared system function on IRIX 6.5.
111         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
112         argument.
113         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
114         also when it is not declared. Set HAVE_ROUND. For replacement code,
115         test HAVE_ROUND, not HAVE_DECL_ROUND.
116         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
117         not HAVE_DECL_ROUND.
118         (Depends-on): Update conditions.
119         * modules/round-ieee (Depends-on): Update conditions.
120         * doc/posix-functions/round.texi: Mention the IRIX problem.
121
122 2012-03-07  Bruno Haible  <bruno@clisp.org>
123
124         copysignf: Don't override undeclared system function on IRIX 6.5.
125         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
126         HAVE_COPYSIGNF.
127         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
128         declared when it exists. Set HAVE_DECL_COPYSIGNF.
129         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
130         not HAVE_COPYSIGNF.
131         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
132         HAVE_COPYSIGNF.
133         * doc/posix-functions/copysignf.texi: Mention missing declaration
134         problem.
135
136 2012-03-07  Jim Meyering  <meyering@redhat.com>
137
138         readtokens: add tests
139         * modules/readtokens-tests: New file.
140         * tests/test-readtokens.c: New file.
141
142 2012-03-07  Jim Meyering  <meyering@redhat.com>
143
144         quotearg: the module must now include quote.h
145         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
146         So must the module.
147         * modules/quotearg (Files): Add quote.h.
148
149 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
150
151         readtokens: avoid core dumps with unusual calling patterns
152         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
153         * lib/readtokens.c: Include limits.h.
154         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
155         (readtoken): Don't cache the delimiters; the cache code was buggy
156         if !delim && saved_delim, or if the new n_delim differs from the old.
157         Also, it wasn't thread-safe.
158
159 2012-03-07  Bruno Haible  <bruno@clisp.org>
160
161         quote: Adhere to common module description layout.
162         * modules/quote (Makefile.am): Add back empty section.
163
164 2012-03-06  Akim Demaille  <demaille@gostai.com>
165
166         quote: fuse into quotearg
167         This patch is made for the benefit of Bison.
168         quote does not leave the choice of the quoting style to the user.
169         quoting_style provides poor customizability, yet quoting_options,
170         which is very rich, is hidden inside quotearg.c.  So in order to
171         allow quote customization, move its implementation to quotearg.c.
172         * lib/quote.c: Remove.
173         * modules/quote: Adjust.
174         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
175         warning: provide all the members of literal structs.
176         (quote_quoting_options): New.
177         (quote, quote_n): Import implementation from quote.c.
178         * lib/quote.h: Import the comments from quote.c.
179         (quote_quoting_options): New.
180
181 2012-03-06  Bruno Haible  <bruno@clisp.org>
182
183         Tests for module 'expm1l-ieee'.
184         * modules/expm1l-ieee-tests: New file.
185         * tests/test-expm1l-ieee.c: New file.
186
187         New module 'expm1l-ieee'.
188         * modules/expm1l-ieee: New file.
189
190         Tests for module 'expm1f-ieee'.
191         * modules/expm1f-ieee-tests: New file.
192         * tests/test-expm1f-ieee.c: New file.
193
194         New module 'expm1f-ieee'.
195         * modules/expm1f-ieee: New file.
196
197         Tests for module 'expm1-ieee'.
198         * modules/expm1-ieee-tests: New file.
199         * tests/test-expm1-ieee.c: New file.
200         * tests/test-expm1-ieee.h: New file.
201
202         New module 'expm1-ieee'.
203         * modules/expm1-ieee: New file.
204         * m4/expm1-ieee.m4: New file.
205         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
206         whether expm1 works with a minus zero argument. Replace it if not.
207         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
208         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
209         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
210         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
211         (Depends-on): Update conditions.
212         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
213         AIX problem.
214
215 2012-03-06  Bruno Haible  <bruno@clisp.org>
216
217         Work around expm1f bug on IRIX 6.5.
218         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
219         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
220         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
221         not work.
222         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
223         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
224         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
225         (Depends-on): Update conditions.
226         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
227
228 2012-03-06  Bruno Haible  <bruno@clisp.org>
229
230         Tests for module 'expm1l'.
231         * modules/expm1l-tests: New file.
232         * tests/test-expm1l.c: New file.
233
234         New module 'expm1l'.
235         * lib/math.in.h (expm1l): New declaration.
236         * lib/expm1l.c: New file.
237         * m4/expm1l.m4: New file.
238         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
239         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
240         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
241         * modules/expm1l: New file.
242         * tests/test-math-c++.cc: Check the declaration of expm1l.
243         * doc/posix-functions/expm1l.texi: Mention the new module.
244
245 2012-03-06  Bruno Haible  <bruno@clisp.org>
246
247         Tests for module 'expm1f'.
248         * modules/expm1f-tests: New file.
249         * tests/test-expm1f.c: New file.
250
251         New module 'expm1f'.
252         * lib/math.in.h (expm1f): New declaration.
253         * lib/expm1f.c: New file.
254         * m4/expm1f.m4: New file.
255         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
256         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
257         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
258         * modules/expm1f: New file.
259         * tests/test-math-c++.cc: Check the declaration of expm1f.
260         * doc/posix-functions/expm1f.texi: Mention the new module.
261
262 2012-03-06  Bruno Haible  <bruno@clisp.org>
263
264         Tests for module 'expm1'.
265         * modules/expm1-tests: New file.
266         * tests/test-expm1.c: New file.
267         * tests/test-expm1.h: New file.
268
269         New module 'expm1'.
270         * lib/math.in.h (expm1): New declaration.
271         * lib/expm1.c: New file.
272         * m4/expm1.m4: New file.
273         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
274         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
275         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
276         * modules/expm1: New file.
277         * tests/test-math-c++.cc: Check the declaration of expm1.
278         * doc/posix-functions/expm1.texi: Mention the new module.
279
280 2012-03-06  Bruno Haible  <bruno@clisp.org>
281
282         math: Ensure declarations of math functions.
283         * modules/acosf (Depends-on): Add 'extensions'.
284         * modules/asinf (Depends-on): Likewise.
285         * modules/atan2f (Depends-on): Likewise.
286         * modules/atanf (Depends-on): Likewise.
287         * modules/cbrt (Depends-on): Likewise.
288         * modules/cbrtf (Depends-on): Likewise.
289         * modules/cbrtl (Depends-on): Likewise.
290         * modules/copysignf (Depends-on): Likewise.
291         * modules/copysignl (Depends-on): Likewise.
292         * modules/cosf (Depends-on): Likewise.
293         * modules/coshf (Depends-on): Likewise.
294         * modules/expf (Depends-on): Likewise.
295         * modules/fabsf (Depends-on): Likewise.
296         * modules/fabsl (Depends-on): Likewise.
297         * modules/fmaf (Depends-on): Likewise.
298         * modules/fmal (Depends-on): Likewise.
299         * modules/fmodf (Depends-on): Likewise.
300         * modules/fmodl (Depends-on): Likewise.
301         * modules/frexpf (Depends-on): Likewise.
302         * modules/frexpl (Depends-on): Likewise.
303         * modules/hypot (Depends-on): Likewise.
304         * modules/hypotf (Depends-on): Likewise.
305         * modules/hypotl (Depends-on): Likewise.
306         * modules/ldexpf (Depends-on): Likewise.
307         * modules/ldexpl (Depends-on): Likewise.
308         * modules/log10f (Depends-on): Likewise.
309         * modules/log10l (Depends-on): Likewise.
310         * modules/log1p (Depends-on): Likewise.
311         * modules/logb (Depends-on): Likewise.
312         * modules/logf (Depends-on): Likewise.
313         * modules/modff (Depends-on): Likewise.
314         * modules/modfl (Depends-on): Likewise.
315         * modules/powf (Depends-on): Likewise.
316         * modules/remainderf (Depends-on): Likewise.
317         * modules/remainderl (Depends-on): Likewise.
318         * modules/rintf (Depends-on): Likewise.
319         * modules/rintl (Depends-on): Likewise.
320         * modules/sinf (Depends-on): Likewise.
321         * modules/sinhf (Depends-on): Likewise.
322         * modules/sqrtf (Depends-on): Likewise.
323         * modules/tanf (Depends-on): Likewise.
324         * modules/tanhf (Depends-on): Likewise.
325         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
326         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
327         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
328         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
329         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
330         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
331         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
332         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
333         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
334         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
335         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
336         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
337         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
338         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
339         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
340         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
341         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
342         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
343         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
344         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
345         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
346         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
347         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
348         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
349         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
350         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
351         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
352         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
353         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
354         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
355         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
356         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
357         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
358         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
359         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
360         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
361         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
362         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
363         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
364         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
365         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
366
367 2012-03-06  Bruno Haible  <bruno@clisp.org>
368
369         math: Update module names in warnings.
370         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
371         tanl): Use specific module name in warn-on-use warning.
372
373 2012-03-06  Bruno Haible  <bruno@clisp.org>
374
375         expl: Simplify computation.
376         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
377
378 2012-03-05  Bruno Haible  <bruno@clisp.org>
379
380         exp* tests: More tests.
381         * tests/test-exp.h: New file.
382         * tests/test-exp.c: Include <float.h> and test-exp.h.
383         (main): Invoke test_function.
384         * tests/test-expf.c: Include <float.h> and test-exp.h.
385         (main): Invoke test_function.
386         * tests/test-expl.c: Include <float.h> and test-exp.h.
387         (main): Invoke test_function.
388         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
389         (Makefile.am): Add randomd.c to test_exp_SOURCES.
390         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
391         (Makefile.am): Add randomf.c to test_expf_SOURCES.
392         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
393         (Depends-on): Add 'float'.
394         (Makefile.am): Add randoml.c to test_expl_SOURCES.
395
396         expl: Fix precision of computed result.
397         * lib/expl.c: Completely rewritten.
398         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
399         (Maintainer): Add me.
400         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
401
402 2012-03-05  Bruno Haible  <bruno@clisp.org>
403
404         cbrt* tests: More tests.
405         * tests/test-cbrt.h: New file.
406         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
407         (main): Invoke test_function.
408         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
409         (main): Invoke test_function.
410         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
411         (main): Invoke test_function.
412         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
413         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
414         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
415         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
416         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
417         (Depends-on): Add 'float'.
418         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
419
420 2012-03-05  Bruno Haible  <bruno@clisp.org>
421
422         hypot* tests: More tests.
423         * tests/test-hypot.h: New file, partially extracted from
424         tests/test-hypotl.c.
425         * tests/test-hypot.c: Include test-hypot.h.
426         (main): Invoke test_function.
427         * tests/test-hypotf.c: Include test-hypot.h.
428         (main): Invoke test_function.
429         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
430         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
431         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
432         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
433         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
434         tests/randomf.c.
435         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
436         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
437         tests/randoml.c.
438         (Depends-on): Add 'fpucw', 'float'.
439         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
440
441 2012-03-05  Bruno Haible  <bruno@clisp.org>
442
443         fpucw: Doc about FreeBSD.
444         * lib/fpucw.h: Mention FreeBSD in comments.
445
446 2012-03-04  Bruno Haible  <bruno@clisp.org>
447
448         sqrt* tests: More tests.
449         * tests/test-sqrt.h: New file.
450         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
451         (main): Invoke test_function.
452         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
453         (main): Invoke test_function.
454         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
455         (main): Invoke test_function.
456         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
457         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
458         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
459         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
460         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
461         (Depends-on): Add 'float'.
462         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
463
464 2012-03-04  Bruno Haible  <bruno@clisp.org>
465
466         remainder* tests: More tests.
467         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
468         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
469         (main): Invoke test_function.
470         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
471         (main): Invoke test_function.
472         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
473         (main): Invoke test_function.
474         * modules/remainder-tests (Files): Add tests/test-remainder.h,
475         tests/randomd.c.
476         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
477         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
478         tests/randomf.c.
479         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
480         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
481         tests/randoml.c.
482         (Depends-on): Add 'float'.
483         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
484
485 2012-03-04  Bruno Haible  <bruno@clisp.org>
486
487         remainder, remainderf, remainderl: Fix computation for large quotients.
488         * lib/remainder.c: Completely rewritten.
489         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
490         USE_FLOAT.
491         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
492         USE_LONG_DOUBLE.
493         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
494         isnand, isinf. Remove round, fma.
495         * modules/remainderf (Files): Add lib/remainder.c.
496         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
497         Remove roundf, fmaf.
498         * modules/remainderl (Files): Add lib/remainder.c.
499         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
500         isinf. Remove roundl, fmal.
501         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
502         REMAINDER_LIBM.
503         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
504         REMAINDERF_LIBM.
505         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
506         REMAINDERL_LIBM.
507
508 2012-03-04  Bruno Haible  <bruno@clisp.org>
509
510         fmod* tests: More tests.
511         * tests/test-fmod.h (my_ldexp): New function.
512         (test_function): Reduce amount of random numbers to test. Add tests
513         of very large quotients x / y.
514         * tests/test-fmod.c (MAX_EXP): New macro.
515         * tests/test-fmodf.c (MAX_EXP): Likewise.
516         * tests/test-fmodl.c (MAX_EXP): Likewise.
517
518 2012-03-04  Bruno Haible  <bruno@clisp.org>
519
520         fmod, fmodl: Fix computation for large quotients x / y.
521         * lib/fmod.c: Completely rewritten.
522         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
523         USE_LONG_DOUBLE.
524         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
525         isnand. Remove fma.
526         * modules/fmodl (Files): Add lib/fmod.c.
527         (Depends-on): Add float, isfinite, signbit, fabsl,
528         frexpl, ldexpl, isnanl. Remove fma.
529         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
530         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
531
532 2012-03-03  Bruno Haible  <bruno@clisp.org>
533
534         fmod* tests: More tests.
535         * tests/test-fmod.h: New file.
536         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
537         (main): Invoke test_function.
538         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
539         (main): Invoke test_function.
540         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
541         (main): Invoke test_function.
542         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
543         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
544         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
545         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
546         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
547         (Depends-on): Add 'float'.
548         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
549
550 2012-03-03  Bruno Haible  <bruno@clisp.org>
551
552         rint* tests: More tests.
553         * tests/test-rint.h: New file, partially extracted from
554         tests/test-rintl.c.
555         * tests/test-rint.c: Include test-rint.h.
556         (main): Invoke test_function.
557         * tests/test-rintf.c: Include test-rint.h.
558         (main): Invoke test_function.
559         * tests/test-rintl.c: Include test-rint.h.
560         (main): Invoke test_function.
561         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
562         (Makefile.am): Add randomd.c to test_rint_SOURCES.
563         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
564         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
565         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
566         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
567
568 2012-03-03  Bruno Haible  <bruno@clisp.org>
569
570         modf* tests: More tests.
571         * tests/test-modf.h: New file.
572         * tests/test-modf.c: Include <float.h> and test-modf.h.
573         (main): Invoke test_function.
574         * tests/test-modff.c: Include <float.h> and test-modf.h.
575         (main): Invoke test_function.
576         * tests/test-modfl.c: Include <float.h> and test-modf.h.
577         (main): Invoke test_function.
578         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
579         (Makefile.am): Add randomd.c to test_modf_SOURCES.
580         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
581         (Makefile.am): Add randomf.c to test_modff_SOURCES.
582         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
583         (Depends-on): Add 'float'.
584         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
585
586 2012-03-03  Bruno Haible  <bruno@clisp.org>
587
588         fabs* tests: More tests.
589         * tests/test-fabs.h: New file, partially extracted from
590         tests/test-fabsl.c.
591         * tests/test-fabs.c (RANDOM): New macro.
592         * tests/test-fabsf.c (RANDOM): New macro.
593         * tests/test-fabsl.c (RANDOM): New macro.
594         * modules/fabs-tests (Files): Add tests/randomd.c.
595         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
596         * modules/fabsf-tests (Files): Add tests/randomf.c.
597         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
598         * modules/fabsl-tests (Files): Add tests/randoml.c.
599         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
600
601 2012-03-03  Bruno Haible  <bruno@clisp.org>
602
603         ldexp* tests: More tests.
604         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
605         * tests/test-ldexp.c (RANDOM): New macro.
606         * tests/test-ldexpf.c (RANDOM): New macro.
607         * tests/test-ldexpl.c (RANDOM): New macro.
608         * modules/ldexp-tests (Files): Add tests/randomd.c.
609         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
610         * modules/ldexpf-tests (Files): Add tests/randomf.c.
611         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
612         * modules/ldexpl-tests (Files): Add tests/randoml.c.
613         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
614
615 2012-03-03  Bruno Haible  <bruno@clisp.org>
616
617         frexp* tests: More tests.
618         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
619         * tests/test-frexp.c (RANDOM): New macro.
620         * tests/test-frexpf.c (RANDOM): New macro.
621         * tests/test-frexpl.c (RANDOM): New macro.
622         * modules/frexp-tests (Files): Add tests/randomd.c.
623         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
624         * modules/frexpf-tests (Files): Add tests/randomf.c.
625         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
626         * modules/frexpl-tests (Files): Add tests/randoml.c.
627         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
628
629 2012-03-03  Bruno Haible  <bruno@clisp.org>
630
631         Support for pseudo-random numbers in tests.
632         * tests/randomf.c: New file.
633         * tests/randomd.c: New file.
634         * tests/randoml.c: New file.
635         * tests/macros.h (randomf, randomd, randoml): New declarations.
636
637 2012-03-03  Bruno Haible  <bruno@clisp.org>
638
639         frexp* tests: Refactor.
640         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
641         * tests/test-frexp.c: Include and use it.
642         * tests/test-frexpf.c: Likewise.
643         * tests/test-frexpl.c: Likewise.
644         * modules/frexp-tests (Files): Add tests/test-frexp.h.
645         * modules/frexpf-tests (Files): Likewise.
646         * modules/frexpl-tests (Files): Likewise.
647
648 2012-03-02  Jim Meyering  <meyering@redhat.com>
649
650         maint: don't specify XZ_OPT=-9ev in dist-related rule
651         Using xz's -9 option is warranted only if you have a very large
652         tarball (see xz's documentation for the sizes vs. presets), and
653         requires 64MiB of memory at decompression time.
654         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
655         Automake's default of just "-e" is fine.  Override on a
656         per-package basis by setting XZ_OPT e.g., in cfg.mk.
657
658 2012-03-01  Eric Blake  <eblake@redhat.com>
659
660         maint.mk: allow announcement for non-gnulib project
661         * maint.mk (announcement): Skip gnulib version if not used.
662
663 2012-03-01  Jim Meyering  <meyering@redhat.com>
664
665         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
666         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
667         envvar settings cannot interfere.  Otherwise, setting envvars like
668         prohibit=foo require=bar, etc. would cause spurious test failures.
669
670 2012-03-01  Eric Blake  <eblake@redhat.com>
671
672         maint.mk: add per-line exclusions to prohibitions
673         * maint.mk (_sc_search_regexp): Add $exclude parameter.
674         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
675         (sc_const_long_option): Use it.
676
677 2012-03-01  Bruno Haible  <bruno@clisp.org>
678
679         Tests for module 'expl-ieee'.
680         * modules/expl-ieee-tests: New file.
681         * tests/test-expl-ieee.c: New file.
682
683         New module 'expl-ieee'.
684         * modules/expl-ieee: New file.
685
686         Tests for module 'exp-ieee'.
687         * modules/exp-ieee-tests: New file.
688         * tests/test-exp-ieee.c: New file.
689
690         New module 'exp-ieee'.
691         * modules/exp-ieee: New file.
692
693         Tests for module 'expf-ieee'.
694         * modules/expf-ieee-tests: New file.
695         * tests/test-expf-ieee.c: New file.
696         * tests/test-exp-ieee.h: New file.
697
698         New module 'expf-ieee'.
699         * modules/expf-ieee: New file.
700
701 2012-02-29  Bruno Haible  <bruno@clisp.org>
702
703         cbrtl-ieee: Work around test failure on IRIX 6.5.
704         * m4/cbrtl-ieee.m4: New file.
705         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
706         test whether cbrtl works with a minus zero argument. Replace it if not.
707         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
708         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
709         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
710         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
711         (Depends-on): Update conditions.
712         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
713         m4/signbit.m4.
714         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
715         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
716         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
717
718         Tests for module 'cbrtl-ieee'.
719         * modules/cbrtl-ieee-tests: New file.
720         * tests/test-cbrtl-ieee.c: New file.
721
722         New module 'cbrtl-ieee'.
723         * modules/cbrtl-ieee: New file.
724
725         Tests for module 'cbrt-ieee'.
726         * modules/cbrt-ieee-tests: New file.
727         * tests/test-cbrt-ieee.c: New file.
728
729         New module 'cbrt-ieee'.
730         * modules/cbrt-ieee: New file.
731
732         Tests for module 'cbrtf-ieee'.
733         * modules/cbrtf-ieee-tests: New file.
734         * tests/test-cbrtf-ieee.c: New file.
735         * tests/test-cbrt-ieee.h: New file.
736
737         New module 'cbrtf-ieee'.
738         * modules/cbrtf-ieee: New file.
739
740 2012-02-29  Bruno Haible  <bruno@clisp.org>
741
742         cbrtf: Work around bug in IRIX 6.5 system function.
743         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
744         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
745         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
746         work.
747         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
748         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
749         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
750         (Depends-on): Update conditions.
751         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
752
753 2012-02-29  Bruno Haible  <bruno@clisp.org>
754
755         Tests for module 'cbrtl'.
756         * modules/cbrtl-tests: New file.
757         * tests/test-cbrtl.c: New file.
758
759         New module 'cbrtl'.
760         * lib/math.in.h (cbrtl): New declaration.
761         * lib/cbrtl.c: New file.
762         * m4/cbrtl.m4: New file.
763         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
764         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
765         HAVE_DECL_CBRTL.
766         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
767         HAVE_DECL_CBRTL.
768         * modules/cbrtl: New file.
769         * tests/test-math-c++.cc: Check the declaration of cbrtl.
770         * doc/posix-functions/cbrtl.texi: Mention the new module.
771
772 2012-02-29  Bruno Haible  <bruno@clisp.org>
773
774         Tests for module 'cbrtf'.
775         * modules/cbrtf-tests: New file.
776         * tests/test-cbrtf.c: New file.
777
778         New module 'cbrtf'.
779         * lib/math.in.h (cbrtf): New declaration.
780         * lib/cbrtf.c: New file.
781         * m4/cbrtf.m4: New file.
782         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
783         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
784         HAVE_DECL_CBRTF.
785         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
786         HAVE_DECL_CBRTF.
787         * modules/cbrtf: New file.
788         * tests/test-math-c++.cc: Check the declaration of cbrtf.
789         * doc/posix-functions/cbrtf.texi: Mention the new module.
790
791 2012-02-29  Bruno Haible  <bruno@clisp.org>
792
793         cbrt: Provide replacement on MSVC and Minix.
794         * lib/math.in.h (cbrt): New declaration.
795         * lib/cbrt.c: New file.
796         * m4/cbrt.m4: New file.
797         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
798         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
799         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
800         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
801         (Depends-on): Add dependencies.
802         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
803         * tests/test-math-c++.cc: Check the declaration of cbrt.
804         * doc/posix-functions/cbrt.texi: Mention that the module provides a
805         replacement.
806
807 2012-02-29  Bruno Haible  <bruno@clisp.org>
808
809         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
810         * m4/hypotl-ieee.m4: New file.
811         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
812         test whether hypotl works with mixed NaN and Infinity arguments.
813         Replace it if not.
814         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
815         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
816         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
817         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
818         (Depends-on): Update conditions.
819         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
820         (Depends-on): Add hypot-ieee.
821         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
822         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
823
824         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
825         * m4/hypotf-ieee.m4: New file.
826         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
827         test whether hypotf works with mixed NaN and Infinity arguments.
828         Replace it if not.
829         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
830         (Depends-on): Add hypot-ieee.
831         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
832         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
833
834         hypot-ieee: Work around test failure on OSF/1 and native Windows.
835         * lib/math.in.h (hypot): New declaration.
836         * lib/hypot.c: New file.
837         * m4/hypot-ieee.m4: New file.
838         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
839         whether hypot works with mixed NaN and Infinity arguments. Replace it
840         if not.
841         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
842         REPLACE_HYPOT.
843         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
844         * modules/hypot (Files): Add lib/hypot.c.
845         (Depends-on): Add dependencies.
846         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
847         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
848         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
849         * tests/test-math-c++.cc: Check the declaration of hypot.
850         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
851
852         Tests for module 'hypotl-ieee'.
853         * modules/hypotl-ieee-tests: New file.
854         * tests/test-hypotl-ieee.c: New file.
855
856         New module 'hypotl-ieee'.
857         * modules/hypotl-ieee: New file.
858
859         Tests for module 'hypot-ieee'.
860         * modules/hypot-ieee-tests: New file.
861         * tests/test-hypot-ieee.c: New file.
862
863         New module 'hypot-ieee'.
864         * modules/hypot-ieee: New file.
865
866         Tests for module 'hypotf-ieee'.
867         * modules/hypotf-ieee-tests: New file.
868         * tests/test-hypotf-ieee.c: New file.
869         * tests/test-hypot-ieee.h: New file.
870
871         New module 'hypotf-ieee'.
872         * modules/hypotf-ieee: New file.
873
874 2012-02-29  Bruno Haible  <bruno@clisp.org>
875
876         Remove unused variables.
877         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
878         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
879         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
880         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
881
882 2012-02-29  Eric Blake  <eblake@redhat.com>
883
884         termios: fix pid_t always, not just for tcgetsid
885         * doc/posix-headers/termios.texi (termios.h): Mention problem.
886         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
887         just when building tcgetsid.
888
889 2012-02-29  Bruno Haible  <bruno@clisp.org>
890
891         Tests for module 'hypotl'.
892         * modules/hypotl-tests: New file.
893         * tests/test-hypotl.c: New file.
894
895         New module 'hypotl'.
896         * lib/math.in.h (hypotl): New declaration.
897         * lib/hypotl.c: New file.
898         * m4/hypotl.m4: New file.
899         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
900         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
901         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
902         * modules/hypotl: New file.
903         * tests/test-math-c++.cc: Check the hypotl declaration.
904         * doc/posix-functions/hypotl.texi: Mention the new module.
905
906 2012-02-29  Eric Blake  <eblake@redhat.com>
907
908         tcgetsid: fix cygwin header bug
909         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
910
911         docs: update cygwin progress
912         * doc/posix-functions/llround.texi (llround): Added in cygwin
913         1.7.8.
914         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
915         * doc/glibc-functions/program_invocation_name.texi
916         (program_invocation_name): Likewise.
917         * doc/glibc-functions/program_invocation_short_name.texi
918         (program_invocation_short_name): Likewise.
919         * doc/glibc-functions/madvise.texi (madvise): Likewise.
920         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
921         Likewise.
922         * doc/posix-functions/pthread_spin_destroy.texi
923         (pthread_spin_destroy): Added in cygwin 1.7.10.
924         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
925         Likewise.
926         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
927         Likewise.
928         * doc/posix-functions/pthread_spin_trylock.texi
929         (pthread_spin_trylock): Likewise.
930         * doc/posix-functions/pthread_spin_unlock.texi
931         (pthread_spin_unlock): Likewise.
932         * doc/posix-functions/pthread_setschedprio.texi
933         (pthread_setschedprio): Likewise.
934         * doc/posix-functions/pthread_attr_getstack.texi
935         (pthread_attr_getstack): Likewise.
936         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
937         (pthread_attr_getstackaddr): Likewise.
938         * doc/glibc-functions/pthread_getattr_np.texi
939         (pthread_getattr_np): Likewise.
940         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
941         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
942         * doc/posix-functions/clock_settime.texi (clock_settime):
943         Likewise.
944         * doc/posix-functions/pthread_attr_getguardsize.texi
945         (pthread_attr_getguardsize): Likewise.
946         * doc/posix-functions/pthread_attr_setguardsize.texi
947         (pthread_attr_setguardsize): Likewise.
948         * doc/posix-functions/pthread_attr_setstack.texi
949         (pthread_attr_setstack): Likewise.
950         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
951         (pthread_attr_setstackaddr): Likewise.
952         * doc/posix-functions/clock_getcpuclockid.texi
953         (clock_getcpuclockid): Likewise.
954         * doc/posix-functions/pthread_getcpuclockid.texi
955         (pthread_getcpuclockid): Likewise.
956         * doc/glibc-functions/error.texi (error): Likewise.
957         * doc/glibc-functions/error_at_line.texi (error_at_line):
958         Likewise.
959         * doc/glibc-functions/error_message_count.texi
960         (error_message_count): Likewise.
961         * doc/glibc-functions/error_one_per_line.texi
962         (error_one_per_line): Likewise.
963         * doc/glibc-functions/error_print_progname.texi
964         (error_print_progname): Likewise.
965         * doc/posix-functions/pthread_condattr_getclock.texi
966         (pthread_condattr_getclock): Likewise.
967         * doc/posix-functions/pthread_condattr_setclock.texi
968         (pthread_condattr_setclock): Likewise.
969         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
970         Likewise.
971         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
972         * doc/glibc-functions/getpt.texi (getpt): Likewise.
973         * doc/glibc-functions/get_current_dir_name.texi
974         (get_current_dir_name): Likewise.
975         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
976         Likewise.
977         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
978         wrong return type.
979         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
980         1.7.11.
981
982 2012-02-29  Bruno Haible  <bruno@clisp.org>
983
984         Tests for module 'hypotf'.
985         * modules/hypotf-tests: New file.
986         * tests/test-hypotf.c: New file.
987
988         New module 'hypotf'.
989         * lib/math.in.h (hypotf): New declaration.
990         * lib/hypotf.c: New file.
991         * m4/hypotf.m4: New file.
992         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
993         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
994         REPLACE_HYPOTF.
995         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
996         REPLACE_HYPOTF.
997         * modules/hypotf: New file.
998         * tests/test-math-c++.cc: Check the hypotf declaration.
999         * doc/posix-functions/hypotf.texi: Mention the new module.
1000
1001         hypot: Prepare for hypotf module.
1002         * m4/hypot.m4: New file.
1003         * modules/hypot (Files): Add m4/hypot.m4.
1004         (configure.ac): Invoke gl_FUNC_HYPOT.
1005
1006 2012-02-29  Bruno Haible  <bruno@clisp.org>
1007
1008         hypot tests: More tests.
1009         * tests/test-hypot.c: Include <float.h>.
1010         (main): Add tests about overflow and underflow.
1011
1012 2012-02-29  Bruno Haible  <bruno@clisp.org>
1013
1014         math code: Add comments.
1015         * lib/acosl.c: Add comment about related glibc source files.
1016         * lib/asinl.c: Likewise.
1017         * lib/atanl.c: Likewise.
1018         * lib/expl.c: Likewise.
1019         * lib/logl.c: Likewise.
1020         * lib/sincosl.c: Likewise.
1021         * lib/sinl.c: Likewise.
1022         * lib/tanl.c: Likewise.
1023         * lib/trigl.c: Likewise.
1024         * lib/cosl.c: Likewise. Fix comments.
1025
1026 2012-02-28  Bruno Haible  <bruno@clisp.org>
1027
1028         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
1029         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
1030         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
1031         HUGE_VALL are defined.
1032         (numeric_equald): Renamed from numeric_equal.
1033         (numeric_equalf, numeric_equall): New functions.
1034         (main): Check also HUGE_VALF, HUGE_VALL.
1035         * modules/math-tests (Files): Add tests/macros.h.
1036         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
1037         HUGE_VALL.
1038
1039 2012-02-28  Bruno Haible  <bruno@clisp.org>
1040
1041         doc: Move ISO C11 feature notes into POSIX chapters.
1042         * doc/posix-functions/aligned_alloc.texi: Renamed from
1043         doc/glibc-functions/aligned_alloc.texi.
1044         * doc/posix-functions/quick_exit.texi: Renamed from
1045         doc/glibc-functions/quick_exit.texi.
1046         * doc/posix-headers/uchar.texi: Renamed from
1047         doc/glibc-headers/uchar.texi.
1048         * doc/posix-functions/c16rtomb.texi: Renamed from
1049         doc/glibc-functions/c16rtomb.texi.
1050         * doc/posix-functions/c32rtomb.texi: Renamed from
1051         doc/glibc-functions/c32rtomb.texi.
1052         * doc/posix-functions/mbrtoc16.texi: Renamed from
1053         doc/glibc-functions/mbrtoc16.texi.
1054         * doc/posix-functions/mbrtoc32.texi: Renamed from
1055         doc/glibc-functions/mbrtoc32.texi.
1056         * doc/gnulib.texi: Update.
1057         (Glibc uchar.h): Remove section.
1058         Suggested by Eric Blake.
1059
1060 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
1061
1062         stdnoreturn: port to MSVC better
1063         MSVC standard headers use __declspec(noreturn), so #define noreturn
1064         to empty on that platform.  Reported by Bruno Haible in
1065         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
1066         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
1067         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
1068
1069 2012-02-28  Bruno Haible  <bruno@clisp.org>
1070
1071         doc: Mention new glibc headers and functions.
1072         * doc/glibc-headers/uchar.texi: New file.
1073         * doc/glibc-functions/aligned_alloc.texi: New file.
1074         * doc/glibc-functions/c16rtomb.texi: New file.
1075         * doc/glibc-functions/c32rtomb.texi: New file.
1076         * doc/glibc-functions/clock_adjtime.texi: New file.
1077         * doc/glibc-functions/fanotify_init.texi: New file.
1078         * doc/glibc-functions/fanotify_mark.texi: New file.
1079         * doc/glibc-functions/inet6_opt_append.texi: New file.
1080         * doc/glibc-functions/inet6_opt_find.texi: New file.
1081         * doc/glibc-functions/inet6_opt_finish.texi: New file.
1082         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
1083         * doc/glibc-functions/inet6_opt_init.texi: New file.
1084         * doc/glibc-functions/inet6_opt_next.texi: New file.
1085         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
1086         * doc/glibc-functions/inet6_rth_add.texi: New file.
1087         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
1088         * doc/glibc-functions/inet6_rth_init.texi: New file.
1089         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
1090         * doc/glibc-functions/inet6_rth_segments.texi: New file.
1091         * doc/glibc-functions/inet6_rth_space.texi: New file.
1092         * doc/glibc-functions/login.texi: New file.
1093         * doc/glibc-functions/mbrtoc16.texi: New file.
1094         * doc/glibc-functions/mbrtoc32.texi: New file.
1095         * doc/glibc-functions/name_to_handle_at.texi: New file.
1096         * doc/glibc-functions/ntp_gettimex.texi: New file.
1097         * doc/glibc-functions/open_by_handle_at.texi: New file.
1098         * doc/glibc-functions/prlimit.texi: New file.
1099         * doc/glibc-functions/process_vm_readv.texi: New file.
1100         * doc/glibc-functions/process_vm_writev.texi: New file.
1101         * doc/glibc-functions/recvmmsg.texi: New file.
1102         * doc/glibc-functions/scandirat.texi: New file.
1103         * doc/glibc-functions/sendmmsg.texi: New file.
1104         * doc/glibc-functions/setns.texi: New file.
1105         * doc/glibc-functions/timespec_get.texi: New file.
1106         * doc/gnulib.texi: Include them.
1107         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
1108         sections.
1109         Reported by Eric Blake.
1110
1111 2012-02-28  Bruno Haible  <bruno@clisp.org>
1112
1113         Avoid compilation errors with MSVC option -fp:strict.
1114         * lib/floor.c: Use MSVC specific pragma fenv_access.
1115         * lib/ceil.c: Likewise.
1116         * lib/trunc.c: Likewise.
1117         * lib/round.c: Likewise.
1118         * lib/rint.c: Likewise.
1119         * lib/fma.c: Likewise.
1120         * lib/integer_length.c: Likewise.
1121         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
1122         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
1123         * tests/test-floor2.c: Likewise.
1124         * tests/test-floorf2.c: Likewise.
1125         * tests/test-ceil2.c: Likewise.
1126         * tests/test-ceilf2.c: Likewise.
1127         * tests/test-trunc2.c: Likewise.
1128         * tests/test-truncf2.c: Likewise.
1129         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
1130
1131 2012-02-27  Bruno Haible  <bruno@clisp.org>
1132
1133         Tests for module 'sqrtl-ieee'.
1134         * modules/sqrtl-ieee-tests: New file.
1135         * tests/test-sqrtl-ieee.c: New file.
1136
1137         New module 'sqrtl-ieee'.
1138         * modules/sqrtl-ieee: New file.
1139
1140         Tests for module 'sqrt-ieee'.
1141         * modules/sqrt-ieee-tests: New file.
1142         * tests/test-sqrt-ieee.c: New file.
1143
1144         New module 'sqrt-ieee'.
1145         * modules/sqrt-ieee: New file.
1146
1147         Tests for module 'sqrtf-ieee'.
1148         * modules/sqrtf-ieee-tests: New file.
1149         * tests/test-sqrtf-ieee.c: New file.
1150         * tests/test-sqrt-ieee.h: New file.
1151
1152         New module 'sqrtf-ieee'.
1153         * modules/sqrtf-ieee: New file.
1154
1155 2012-02-27  Bruno Haible  <bruno@clisp.org>
1156
1157         remainderl-ieee: Work around test failure on OSF/1.
1158         * m4/remainderl-ieee.m4: New file.
1159         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
1160         present, test whether remainderl works with a zero second argument.
1161         Replace it if not.
1162         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
1163         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
1164         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
1165         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
1166         (Depends-on): Update conditions.
1167         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
1168         (Depends-on): Add remainder-ieee.
1169         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
1170         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
1171         module.
1172
1173         remainderf-ieee: Work around test failure on OSF/1.
1174         * m4/remainderf-ieee.m4: New file.
1175         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
1176         present, test whether remainderf works with a zero second argument.
1177         Replace it if not.
1178         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
1179         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
1180         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
1181         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
1182         (Depends-on): Update conditions.
1183         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
1184         (Depends-on): Add remainder-ieee.
1185         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
1186         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
1187         module.
1188
1189         remainder-ieee: Work around test failure on OSF/1.
1190         * m4/remainder-ieee.m4: New file.
1191         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
1192         present, test whether remainder works with a zero second argument.
1193         Replace it if not.
1194         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
1195         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
1196         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
1197         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
1198         (Depends-on): Update dependencies.
1199         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
1200         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
1201         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
1202
1203         Tests for module 'remainderl-ieee'.
1204         * modules/remainderl-ieee-tests: New file.
1205         * tests/test-remainderl-ieee.c: New file.
1206
1207         New module 'remainderl-ieee'.
1208         * modules/remainderl-ieee: New file.
1209
1210         Tests for module 'remainder-ieee'.
1211         * modules/remainder-ieee-tests: New file.
1212         * tests/test-remainder-ieee.c: New file.
1213
1214         New module 'remainder-ieee'.
1215         * modules/remainder-ieee: New file.
1216
1217         Tests for module 'remainderf-ieee'.
1218         * modules/remainderf-ieee-tests: New file.
1219         * tests/test-remainderf-ieee.c: New file.
1220         * tests/test-remainder-ieee.h: New file.
1221
1222         New module 'remainderf-ieee'.
1223         * modules/remainderf-ieee: New file.
1224
1225 2012-02-27  Bruno Haible  <bruno@clisp.org>
1226
1227         modff, modfl: Fix configure syntax error.
1228         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
1229         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
1230
1231 2012-02-27  Bruno Haible  <bruno@clisp.org>
1232
1233         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
1234         * m4/fmodl-ieee.m4: New file.
1235         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
1236         whether fmodl works with zero arguments. Replace it if not.
1237         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
1238         (Depends-on): Add fmod-ieee.
1239         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
1240         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
1241
1242         fmodf-ieee: Work around test failure on OSF/1.
1243         * m4/fmodf-ieee.m4: New file.
1244         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
1245         whether fmodf works with zero arguments. Replace it if not.
1246         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
1247         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
1248         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
1249         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
1250         (Depends-on): Update dependencies.
1251         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
1252         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
1253         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
1254
1255         fmodf-ieee: Work around test failure on MSVC 9.
1256         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
1257         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
1258
1259         fmod-ieee: Work around test failures on OSF/1, mingw.
1260         * m4/fmod-ieee.m4: New file.
1261         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
1262         whether fmod works with zero arguments. Replace it if not.
1263         * lib/math.in.h (fmod): New declaration.
1264         * lib/fmod.c: New file.
1265         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
1266         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
1267         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
1268         * modules/fmod (Files): Add lib/fmod.c.
1269         (Depends-on): Add math, isinf, trunc, fma.
1270         (configure.ac): Arrange to compile lib/fmod.c if needed.
1271         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
1272         m4/signbit.m4.
1273         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
1274         * tests/test-math-c++.cc: Check the declaration of fmod.
1275         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
1276
1277         fmodl-ieee: Fix test failures.
1278         * lib/fmodl.c (fmodl): Treat Inf specially.
1279         * modules/fmodl (Depends-on): Add isinf.
1280
1281         Tests for module 'fmodl-ieee'.
1282         * modules/fmodl-ieee-tests: New file.
1283         * tests/test-fmodl-ieee.c: New file.
1284
1285         New module 'fmodl-ieee'.
1286         * modules/fmodl-ieee: New file.
1287
1288         Tests for module 'fmod-ieee'.
1289         * modules/fmod-ieee-tests: New file.
1290         * tests/test-fmod-ieee.c: New file.
1291
1292         New module 'fmod-ieee'.
1293         * modules/fmod-ieee: New file.
1294
1295         Tests for module 'fmodf-ieee'.
1296         * modules/fmodf-ieee-tests: New file.
1297         * tests/test-fmodf-ieee.c: New file.
1298         * tests/test-fmod-ieee.h: New file.
1299
1300         New module 'fmodf-ieee'.
1301         * modules/fmodf-ieee: New file.
1302
1303 2012-02-27  Bruno Haible  <bruno@clisp.org>
1304
1305         Tests for module 'rintl-ieee'.
1306         * modules/rintl-ieee-tests: New file.
1307         * tests/test-rintl-ieee.c: New file.
1308
1309         New module 'rintl-ieee'.
1310         * modules/rintl-ieee: New file.
1311
1312         Tests for module 'rint-ieee'.
1313         * modules/rint-ieee-tests: New file.
1314         * tests/test-rint-ieee.c: New file.
1315
1316         New module 'rint-ieee'.
1317         * modules/rint-ieee: New file.
1318
1319         Tests for module 'rintf-ieee'.
1320         * modules/rintf-ieee-tests: New file.
1321         * tests/test-rintf-ieee.c: New file.
1322         * tests/test-rint-ieee.h: New file.
1323
1324         New module 'rintf-ieee'.
1325         * modules/rintf-ieee: New file.
1326
1327 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
1328
1329         regex: re_search etc. should return -2 when memory exhausted
1330         This bug was uncovered when testing 'grep'.  Without the fix,
1331         re_search and friends return -1 when memory is exhausted, but -1
1332         means no match, and this causes grep to falsely report no-match
1333         instead of memory-exhaustion.  See
1334         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
1335         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
1336         trouble; this can occur if re_search_internal ran out of memory.
1337
1338 2012-02-26  Bruno Haible  <bruno@clisp.org>
1339
1340         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
1341         * m4/modfl-ieee.m4: New file.
1342         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
1343         whether modfl works with Inf. Replace it if not.
1344         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
1345         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
1346         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
1347         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
1348         (Depends-on): Update dependencies.
1349         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
1350         m4/signbit.m4.
1351         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
1352         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
1353
1354         modfl-ieee: Fix dependencies.
1355         * modules/modfl-ieee (Depends-on): Add modf-ieee.
1356
1357         modfl-ieee: Fix test failures.
1358         * lib/modfl.c (modfl): Treat NaN and Inf specially.
1359         * modules/modfl (Depends-on): Add isfinite, isinf.
1360
1361         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
1362         * m4/modff-ieee.m4: New file.
1363         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
1364         whether modff works with NaN and Inf. Replace it if not.
1365         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
1366         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
1367         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
1368         * modules/modff (configure.ac): Consider REPLACE_MODFF.
1369         (Depends-on): Update dependencies.
1370         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
1371         m4/signbit.m4.
1372         (Depends-on): Add modf-ieee.
1373         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
1374         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
1375
1376         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
1377         * m4/modf-ieee.m4: New file.
1378         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
1379         whether modf works with NaN and Inf. Replace it if not.
1380         * lib/math.in.h (modf): New declaration.
1381         * lib/modf.c: New file.
1382         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
1383         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
1384         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
1385         * modules/modf (Files): Add lib/modf.c.
1386         (Depends-on): Add math, isfinite, trunc, isinf.
1387         (configure.ac): Addrange to compile lib/modf.c if needed.
1388         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
1389         m4/signbit.m4.
1390         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
1391         * tests/test-math-c++.cc: Check the declaration of modf.
1392         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
1393
1394         Tests for module 'modfl-ieee'.
1395         * modules/modfl-ieee-tests: New file.
1396         * tests/test-modfl-ieee.c: New file.
1397
1398         New module 'modfl-ieee'.
1399         * modules/modfl-ieee: New file.
1400
1401         Tests for module 'modf-ieee'.
1402         * modules/modf-ieee-tests: New file.
1403         * tests/test-modf-ieee.c: New file.
1404
1405         New module 'modf-ieee'.
1406         * modules/modf-ieee: New file.
1407
1408         Tests for module 'modff-ieee'.
1409         * modules/modff-ieee-tests: New file.
1410         * tests/test-modff-ieee.c: New file.
1411         * tests/test-modf-ieee.h: New file.
1412
1413         New module 'modff-ieee'.
1414         * modules/modff-ieee: New file.
1415
1416 2012-02-26  Bruno Haible  <bruno@clisp.org>
1417
1418         Tests for module 'fabsl-ieee'.
1419         * modules/fabsl-ieee-tests: New file.
1420         * tests/test-fabsl-ieee.c: New file.
1421
1422         New module 'fabsl-ieee'.
1423         * modules/fabsl-ieee: New file.
1424
1425         Tests for module 'fabs-ieee'.
1426         * modules/fabs-ieee-tests: New file.
1427         * tests/test-fabs-ieee.c: New file.
1428
1429         New module 'fabs-ieee'.
1430         * modules/fabs-ieee: New file.
1431
1432         Tests for module 'fabsf-ieee'.
1433         * modules/fabsf-ieee-tests: New file.
1434         * tests/test-fabsf-ieee.c: New file.
1435         * tests/test-fabs-ieee.h: New file.
1436
1437         New module 'fabsf-ieee'.
1438         * modules/fabsf-ieee: New file.
1439
1440 2012-02-26  Bruno Haible  <bruno@clisp.org>
1441
1442         Tests for module 'fmal-ieee'.
1443         * modules/fmal-ieee-tests: New file.
1444         * tests/test-fmal-ieee.c: New file.
1445
1446         New module 'fmal-ieee'.
1447         * modules/fmal-ieee: New file.
1448
1449         Tests for module 'fma-ieee'.
1450         * modules/fma-ieee-tests: New file.
1451         * tests/test-fma-ieee.c: New file.
1452
1453         New module 'fma-ieee'.
1454         * modules/fma-ieee: New file.
1455
1456         Tests for module 'fmaf-ieee'.
1457         * modules/fmaf-ieee-tests: New file.
1458         * tests/test-fmaf-ieee.c: New file.
1459         * tests/test-fma-ieee.h: New file.
1460
1461         New module 'fmaf-ieee'.
1462         * modules/fmaf-ieee: New file.
1463
1464 2012-02-26  Bruno Haible  <bruno@clisp.org>
1465
1466         Tests for module 'ldexpl-ieee'.
1467         * modules/ldexpl-ieee-tests: New file.
1468         * tests/test-ldexpl-ieee.c: New file.
1469
1470         New module 'ldexpl-ieee'.
1471         * modules/ldexpl-ieee: New file.
1472
1473         Tests for module 'ldexp-ieee'.
1474         * modules/ldexp-ieee-tests: New file.
1475         * tests/test-ldexp-ieee.c: New file.
1476
1477         New module 'ldexp-ieee'.
1478         * modules/ldexp-ieee: New file.
1479
1480         Tests for module 'ldexpf-ieee'.
1481         * modules/ldexpf-ieee-tests: New file.
1482         * tests/test-ldexpf-ieee.c: New file.
1483         * tests/test-ldexp-ieee.h: New file.
1484
1485         New module 'ldexpf-ieee'.
1486         * modules/ldexpf-ieee: New file.
1487
1488 2012-02-26  Bruno Haible  <bruno@clisp.org>
1489
1490         Refactor frexp*-ieee tests.
1491         * tests/test-frexp-ieee.h: New file.
1492         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
1493         (main): Just call test_function.
1494         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
1495         (main): Just call test_function.
1496         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
1497         (main): Just call test_function.
1498         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
1499         * modules/frexp-ieee-tests (Files): Likewise.
1500         * modules/frexpl-ieee-tests (Files): Likewise.
1501
1502         Tests for module 'frexpl-ieee'.
1503         * modules/frexpl-ieee-tests: New file.
1504         * tests/test-frexpl-ieee.c: New file.
1505
1506         New module 'frexpl-ieee'.
1507         * modules/frexpl-ieee: New file.
1508
1509         Tests for module 'frexp-ieee'.
1510         * modules/frexp-ieee-tests: New file.
1511         * tests/test-frexp-ieee.c: New file.
1512
1513         New module 'frexp-ieee'.
1514         * modules/frexp-ieee: New file.
1515
1516         Tests for module 'frexpf-ieee'.
1517         * modules/frexpf-ieee-tests: New file.
1518         * tests/test-frexpf-ieee.c: New file.
1519
1520         New module 'frexpf-ieee'.
1521         * modules/frexpf-ieee: New file.
1522
1523 2012-02-26  Bruno Haible  <bruno@clisp.org>
1524
1525         roundl-ieee tests: More tests.
1526         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1527         (main): Add tests for [MX] shaded specification in POSIX.
1528         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1529         (Depends-on): Add isnanl-nolibm.
1530
1531         round-ieee tests: More tests.
1532         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1533         (main): Add tests for [MX] shaded specification in POSIX.
1534         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1535         (Depends-on): Add isnand-nolibm.
1536
1537         roundf-ieee tests: More tests.
1538         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1539         (main): Add tests for [MX] shaded specification in POSIX.
1540         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1541         (Depends-on): Add isnanf-nolibm.
1542
1543         truncl-ieee tests: More tests.
1544         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1545         (main): Add tests for [MX] shaded specification in POSIX.
1546         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1547         (Depends-on): Add isnanl-nolibm.
1548
1549         trunc-ieee tests: More tests.
1550         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1551         (main): Add tests for [MX] shaded specification in POSIX.
1552         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1553         (Depends-on): Add isnand-nolibm.
1554
1555         truncf-ieee tests: More tests.
1556         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1557         (main): Add tests for [MX] shaded specification in POSIX.
1558         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1559         (Depends-on): Add isnanf-nolibm.
1560
1561         ceill-ieee tests: More tests.
1562         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1563         (main): Add tests for [MX] shaded specification in POSIX.
1564         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1565         (Depends-on): Add isnanl-nolibm.
1566
1567         ceil-ieee tests: More tests.
1568         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1569         (main): Add tests for [MX] shaded specification in POSIX.
1570         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1571         (Depends-on): Add isnand-nolibm.
1572
1573         ceilf-ieee tests: More tests.
1574         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1575         (main): Add tests for [MX] shaded specification in POSIX.
1576         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1577         (Depends-on): Add isnanf-nolibm.
1578
1579         floorl-ieee tests: More tests.
1580         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
1581         (main): Add tests for [MX] shaded specification in POSIX.
1582         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1583         (Depends-on): Add isnanl-nolibm.
1584
1585         floor-ieee tests: More tests.
1586         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
1587         (main): Add tests for [MX] shaded specification in POSIX.
1588         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1589         (Depends-on): Add isnand-nolibm.
1590
1591         floorf-ieee tests: More tests.
1592         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
1593         (main): Add tests for [MX] shaded specification in POSIX.
1594         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
1595         (Depends-on): Add isnanf-nolibm.
1596
1597 2012-02-26  Bruno Haible  <bruno@clisp.org>
1598
1599         fpieee: More comments.
1600         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
1601
1602 2012-02-25  Bruno Haible  <bruno@clisp.org>
1603
1604         Tests for module 'log10l'.
1605         * modules/log10l-tests: New file.
1606         * tests/test-log10l.c: New file.
1607         * tests/test-math-c++.cc: Check the declaration of log10l.
1608
1609         New module 'log10l'.
1610         * lib/math.in.h (log10l): New declaration.
1611         * lib/log10l.c: New file.
1612         * m4/log10l.m4: New file.
1613         * modules/log10l: New file.
1614         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
1615         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
1616         HAVE_DECL_LOG10L.
1617         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
1618         HAVE_DECL_LOG10L.
1619         * doc/posix-functions/log10l.texi: Mention the new module.
1620
1621 2012-02-25  Bruno Haible  <bruno@clisp.org>
1622
1623         fmodl, remainder*: Avoid wrong results due to rounding errors.
1624         * lib/fmodl.c (fmodl): Correct the result if it is not within the
1625         expected bounds.
1626         * lib/remainderf.c (remainderf): Likewise.
1627         * lib/remainder.c (remainder): Likewise.
1628         * lib/remainderl.c (remainderl): Likewise.
1629
1630 2012-02-25  Bruno Haible  <bruno@clisp.org>
1631
1632         Tests for module 'remainderl'.
1633         * modules/remainderl-tests: New file.
1634         * tests/test-remainderl.c: New file.
1635         * tests/test-math-c++.cc: Check the declaration of remainderl.
1636
1637         New module 'remainderl'.
1638         * lib/math.in.h (remainderl): New declaration.
1639         * lib/remainderl.c: New file.
1640         * m4/remainderl.m4: New file.
1641         * modules/remainderl: New file.
1642         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
1643         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
1644         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
1645         HAVE_REMAINDERL.
1646         * doc/posix-functions/remainderl.texi: Mention the new module.
1647
1648 2012-02-25  Bruno Haible  <bruno@clisp.org>
1649
1650         Tests for module 'remainderf'.
1651         * modules/remainderf-tests: New file.
1652         * tests/test-remainderf.c: New file.
1653         * tests/test-math-c++.cc: Check the declaration of remainderf.
1654
1655         New module 'remainderf'.
1656         * lib/math.in.h (remainderf): New declaration.
1657         * lib/remainderf.c: New file.
1658         * m4/remainderf.m4: New file.
1659         * modules/remainderf: New file.
1660         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
1661         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
1662         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
1663         HAVE_REMAINDERF.
1664         * doc/posix-functions/remainderf.texi: Mention the new module.
1665
1666 2012-02-25  Bruno Haible  <bruno@clisp.org>
1667
1668         remainder: Support for MSVC.
1669         * lib/math.in.h (remainder): New declaration.
1670         * lib/remainder.c: New file.
1671         * m4/remainder.m4: New file.
1672         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
1673         (Depends-on): Add math, round, fma.
1674         (configure.ac): Use results of gl_FUNC_REMAINDER.
1675         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
1676         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
1677         HAVE_DECL_REMAINDER.
1678         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
1679         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
1680         * tests/test-math-c++.cc: Check the declaration of remainder.
1681         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
1682         problems are fixed.
1683
1684 2012-02-25  Bruno Haible  <bruno@clisp.org>
1685
1686         Tests for module 'fmodl'.
1687         * modules/fmodl-tests: New file.
1688         * tests/test-fmodl.c: New file.
1689         * tests/test-math-c++.cc: Check the declaration of fmodl.
1690
1691         New module 'fmodl'.
1692         * lib/math.in.h (fmodl): New declaration.
1693         * lib/fmodl.c: New file.
1694         * m4/fmodl.m4: New file.
1695         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
1696         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
1697         REPLACE_FMODL.
1698         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
1699         REPLACE_FMODL.
1700         * modules/fmodl: New file.
1701         * doc/posix-functions/fmodl.texi: Mention the new module.
1702
1703 2012-02-25  Bruno Haible  <bruno@clisp.org>
1704
1705         Tests for module 'modfl'.
1706         * modules/modfl-tests: New file.
1707         * tests/test-modfl.c: New file.
1708         * tests/test-math-c++.cc: Check the declaration of modfl.
1709
1710         New module 'modfl'.
1711         * lib/math.in.h (modfl): New declaration.
1712         * lib/modfl.c: New file.
1713         * m4/modfl.m4: New file.
1714         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
1715         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
1716         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
1717         * modules/modfl: New file.
1718         * doc/posix-functions/modfl.texi: Mention the new module.
1719
1720 2012-02-25  Bruno Haible  <bruno@clisp.org>
1721
1722         Tests for module 'fabsl'.
1723         * modules/fabsl-tests: New file.
1724         * tests/test-fabsl.c: New file.
1725         * tests/test-math-c++.cc: Check the declaration of fabsl.
1726
1727         New module 'fabsl'.
1728         * lib/math.in.h (fabsl): New declaration.
1729         * lib/fabsl.c: New file.
1730         * m4/fabsl.m4: New file.
1731         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
1732         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
1733         REPLACE_FABSL.
1734         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
1735         REPLACE_FABSL.
1736         * modules/fabsl: New file.
1737         * doc/posix-functions/fabsl.texi: Mention the new module.
1738
1739 2012-02-25  Bruno Haible  <bruno@clisp.org>
1740
1741         fabs tests: More tests.
1742         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
1743         (zero): New variable.
1744         (main): Add tests for signed zero.
1745         * modules/fabs-tests (Files): Add tests/minus-zero.h.
1746
1747         fabsf tests: More tests.
1748         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
1749         (zero): New variable.
1750         (main): Add tests for signed zero.
1751         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
1752
1753 2012-02-24  Bruno Haible  <bruno@clisp.org>
1754
1755         atanl: Provide function definition on MSVC.
1756         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
1757         function pointer.
1758         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
1759
1760 2012-02-24  Bruno Haible  <bruno@clisp.org>
1761
1762         acosl: Provide function definition on MSVC.
1763         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
1764         function pointer.
1765         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
1766
1767 2012-02-24  Bruno Haible  <bruno@clisp.org>
1768
1769         asinl: Provide function definition on MSVC.
1770         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
1771         function pointer.
1772         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
1773
1774 2012-02-24  Bruno Haible  <bruno@clisp.org>
1775
1776         tanl: Provide function definition on MSVC.
1777         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
1778         function pointer.
1779         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
1780
1781 2012-02-24  Bruno Haible  <bruno@clisp.org>
1782
1783         cosl: Provide function definition on MSVC.
1784         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
1785         function pointer.
1786         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
1787
1788 2012-02-24  Bruno Haible  <bruno@clisp.org>
1789
1790         sinl: Provide function definition on MSVC.
1791         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
1792         function pointer.
1793         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
1794
1795 2012-02-24  Bruno Haible  <bruno@clisp.org>
1796
1797         logl: Provide function definition on MSVC.
1798         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
1799         function pointer.
1800         * lib/math.in.h (logl): Undefine if it does not exist as a function.
1801
1802 2012-02-24  Bruno Haible  <bruno@clisp.org>
1803
1804         expl: Provide function definition on MSVC.
1805         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
1806         function pointer.
1807         * lib/math.in.h (expl): Undefine if it does not exist as a function.
1808
1809 2012-02-24  Bruno Haible  <bruno@clisp.org>
1810
1811         sqrtl: Provide function definition on MSVC.
1812         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
1813         a function pointer.
1814         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
1815
1816 2012-02-24  Bruno Haible  <bruno@clisp.org>
1817
1818         ceill: Provide function definition on MSVC.
1819         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
1820         used as a function pointer.
1821         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
1822
1823 2012-02-24  Bruno Haible  <bruno@clisp.org>
1824
1825         floorl: Provide function definition on MSVC.
1826         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
1827         used as a function pointer.
1828         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
1829
1830 2012-02-24  Bruno Haible  <bruno@clisp.org>
1831
1832         ceilf: Provide function definition on MSVC.
1833         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
1834         used as a function pointer.
1835         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
1836
1837 2012-02-24  Bruno Haible  <bruno@clisp.org>
1838
1839         floorf: Provide function definition on MSVC.
1840         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
1841         used as a function pointer.
1842         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
1843
1844 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
1845
1846         stdnoreturn: new module
1847         This implements a replacement for C11's <stdnoreturn.h>.
1848         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
1849         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
1850         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
1851         * tests/test-stdnoreturn.c: New files.
1852
1853 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
1854
1855         regex: fix false multibyte matches in some regular expressions
1856         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
1857         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
1858         * lib/regex_internal.c (re_string_skip_chars):
1859         Fix miscomputation of remain_len that may cause incomplete
1860         multi-byte character and false match.
1861
1862 2012-02-24  Jim Meyering  <meyering@redhat.com>
1863
1864         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
1865         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
1866         uses with "==" *before* the call, e.g., 0 == strcmp (...)
1867         Remove now-unnecessary str''cmp obfuscation.
1868         Suggested by Akim Demaille.
1869
1870 2012-02-24  Bruno Haible  <bruno@clisp.org>
1871
1872         streq: Rename macro.
1873         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
1874         * NEWS: Mention the change.
1875         * lib/mbrtowc.c (mbrtowc): Update.
1876         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
1877         * lib/wcwidth.c (wcwidth): Update.
1878         Suggested by Akim Demaille and Jim Meyering.
1879
1880 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
1881
1882         regex: fix typo in definition of MIN
1883         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
1884         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
1885
1886 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
1887             Bruno Haible  <bruno@clisp.org>
1888
1889         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
1890         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
1891         entries into a stack-allocated buffer directly.
1892         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
1893
1894 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
1895             Bruno Haible  <bruno@clisp.org>
1896
1897         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
1898
1899          - There were several instances of this pattern:
1900
1901              for (;;) {
1902                n = acl (f, GETACLCNT, 0, NULL);
1903                [ allocate an array A of size N ]
1904                if (acl (f, GETACL, n, a) == n)
1905                  break;
1906              }
1907
1908            This loop might never terminate if some other process is constantly
1909            manipulating the file's ACL.  The loop should be rewritten to
1910            terminate.
1911
1912          - The acl (... GETACLNT ...) call is merely an optimization; its value
1913            is merely a hint as to how big to make the array.  A better
1914            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
1915            and just guess a reasonably-big size, growing the size and trying
1916            again if it's not large enough.  This guarantees termination, and
1917            saves a system call.
1918
1919         * lib/acl-internal.h: Include <limits.h>.
1920         (MIN, SIZE_MAX): New macros.
1921         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
1922         a stack-allocated buffer, and use malloc if it does not fit. Don't
1923         use GETACLCNT.
1924         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
1925
1926 2012-02-19  Bruno Haible  <bruno@clisp.org>
1927
1928         acl: Fix endless loop on Solaris with vxfs.
1929         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
1930         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
1931         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
1932         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
1933         * tests/test-sameacls.c (main)[Solaris]: Likewise.
1934         Reported by Bill Jones in
1935         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
1936
1937 2012-02-19  Bruno Haible  <bruno@clisp.org>
1938
1939         acl: Fix copy-acl test failure on Solaris 11 2011-11.
1940         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
1941         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
1942         that this function returns 0 in some more cases.
1943
1944 2012-02-19  Bruno Haible  <bruno@clisp.org>
1945
1946         acl: Update doc references.
1947         * doc/acl-resources.txt: Update links to Solaris documentation.
1948
1949 2012-02-19  Bruno Haible  <bruno@clisp.org>
1950
1951         Fix test failure in many locales on Solaris 11.
1952         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
1953         'tr' arguments.
1954         * tests/test-pipe-filter-ii1.c (main): Likewise.
1955         * build-aux/bootstrap (check_versions): Run 'tr' command with range
1956         expressions in the C locale.
1957         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
1958         * m4/host-os.m4 (gl_HOST_OS): Likewise.
1959
1960 2012-02-19  Bruno Haible  <bruno@clisp.org>
1961
1962         gnulib-tool: Improve usage message.
1963         * gnulib-tool (func_usage): Move doc of --help and --version to the
1964         section "Operation modes".
1965
1966 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
1967
1968         README-release: make it easier to execute commands
1969         * top/README-release: break commands out on to separate lines.
1970
1971 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
1972
1973         GNUmakefile: simplify detection of unconfigured trees
1974         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
1975         whether the tree make is being run from is already configured or
1976         not.  Related simplifications.
1977
1978 2012-02-13  Simon Josefsson  <simon@josefsson.org>
1979
1980         * gnulib-tool (func_usage): Document --help and --version.
1981
1982 2012-02-11  Jim Meyering  <meyering@redhat.com>
1983
1984         bootstrap: don't exit 0 upon gnulib-tool failure
1985         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
1986         its exit status, not 0.
1987
1988 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
1989
1990         README-release: various improvements
1991         * top/README-release: Give a command to push changes for the
1992         release.  Add "distcheck" to list of other pre-release checks.
1993         Fix instance of "make stable" which should be "make TYPE".
1994
1995 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
1996
1997         maint: replace FSF snail-mail addresses with URLs
1998         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
1999         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
2000         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
2001         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
2002         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
2003         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
2004         * lib/check-version.c, lib/check-version.h, lib/config.charset:
2005         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
2006         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
2007         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
2008         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
2009         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
2010         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
2011         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
2012         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
2013         * lib/glthread/thread.c, lib/glthread/thread.h:
2014         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
2015         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
2016         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
2017         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
2018         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
2019         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
2020         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
2021         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
2022         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
2023         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
2024         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
2025         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
2026         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
2027         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
2028         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
2029         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
2030         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
2031         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
2032         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
2033         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
2034         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
2035         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
2036         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
2037         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
2038         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
2039         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
2040         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
2041         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
2042         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
2043         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
2044         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
2045         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
2046         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
2047         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
2048         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
2049         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
2050         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
2051         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
2052         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
2053         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
2054         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
2055         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
2056         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
2057         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
2058         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
2059         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
2060         * tests/test-poll.c, tests/test-quotearg-simple.c:
2061         * tests/test-quotearg.c, tests/test-quotearg.h:
2062         * tests/test-round-ieee.c, tests/test-round1.c:
2063         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
2064         * tests/test-roundl-ieee.c, tests/test-roundl.c:
2065         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
2066         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
2067         * tests/test-strerror.c, tests/test-strerror_r.c:
2068         * tests/test-strsignal.c, tests/test-strverscmp.c:
2069         * tests/test-xmemdup0.c:
2070         Replace FSF snail mail addresses with URLs, as per GNU coding
2071         standards.  See glibc bug
2072         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
2073
2074 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
2075
2076         README-release: capitalize a word and split a line
2077         * top/README-release: Fix punctuation and spacing.
2078
2079 2012-02-08  Akim Demaille  <demaille@gostai.com>
2080
2081         fatal-signal: use C prototypes (with explicit void).
2082         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
2083         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
2084
2085 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2086
2087         regex: spelling fix
2088         * lib/regexec.c: spelling fix
2089
2090         regex: rely on stdint.h for SIZE_MAX
2091         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
2092
2093 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
2094
2095         regex: merge glibc changes
2096
2097         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
2098         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
2099         (init_word_char): Work even if bitset words are not exactly 32 or
2100         64 bits wide.  Don't assume there are no padding bits.
2101         * lib/regex.c [_LIBC]: Do not include <config.h>.
2102         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
2103         and -Wtype-limits.
2104         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
2105         needless disagreement with glibc.  All uses changed.  Define it to
2106         1 only if _GNU_SOURCE, to match glibc.
2107         (_REG_RM_NAME): Remove; no longer needed, since the names in
2108         question are now all protected by __USE_GNU.
2109         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
2110         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
2111         * lib/regex_internal.h (MIN): New macro.
2112
2113         2012-01-03 Ulrich Drepper <drepper@gmail.com>
2114         * lib/regcomp.c (init_word_char): Optimize regex a bit.
2115
2116         2011-12-30 Jakub Jelinek <jakub@redhat.com>
2117         * lib/regex_internal.c (re_string_fetch_byte_case):
2118         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
2119         is miscompiled, and it turns out it is because of an incorrect
2120         attribute on re_string_fetch_byte_case.  Unlike
2121         re_string_peek_byte_case, this one is really not pure, it modifies
2122         memory (increments pstr->cur_idx), and with the pure attribute GCC
2123         assumed it doesn't and it cached the presumed value of
2124         regexp->cur_idx in a variable across the
2125          for (;; ++i)
2126            {
2127              if (i >= BRACKET_NAME_BUF_SIZE)
2128                return REG_EBRACK;
2129              if (token->type == OP_OPEN_CHAR_CLASS)
2130                ch = re_string_fetch_byte_case (regexp);
2131              else
2132                ch = re_string_fetch_byte (regexp);
2133              if (re_string_eoi(regexp))
2134                return REG_EBRACK;
2135              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
2136                break;
2137              elem->opr.name[i] = ch;
2138            }
2139
2140         2011-11-29 Andreas Schwab <schwab@redhat.com>
2141         * lib/regcomp.c (build_equiv_class):
2142         Fix access after end of search string in regex matcher.
2143
2144         2011-11-12 Ulrich Drepper <drepper@redhat.com>
2145         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
2146
2147         2011-10-12 Ulrich Drepper <drepper@redhat.com>
2148         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
2149
2150         2011-10-11 Ulrich Drepper <drepper@redhat.com>
2151         * lib/regcomp.c (parse_branch, parse_sub_exp):
2152         More regex memory leak fixes and tests.
2153         (parse_sub_exp, parse_bracket_exp):
2154         Fix memory leak for some invalid regular expressions.
2155
2156         2011-05-28 Ulrich Drepper <drepper@gmail.com>
2157         * lib/regex_internal.c, lib/regexec.c:
2158         Fix unnecessary overallocation due to incomplete character.  When
2159         incomplete characters are found at the end of a string the code
2160         ran amok and allocated lots of memory.  Stricter limits are now in
2161         place.
2162
2163         2011-05-20 Reuben Thomas <rrt@sc3d.org>
2164         * lib/regex.h: Update documentation.
2165
2166         2011-05-16 Aharon Robbins <arnold@skeeve.com>
2167         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
2168
2169         2010-05-05 Andreas Schwab <schwab@redhat.com>
2170         * lib/regexec.c (find_collation_sequence_value):
2171         Fix lookup of collation sequence value during regexp matching.
2172
2173         2010-01-22 Ulrich Drepper <drepper@redhat.com>
2174         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
2175
2176         2008-01-16 Ulrich Drepper <drepper@redhat.com>
2177         * lib/regex.h: Cleanup namespace.
2178
2179         2007-11-26 Ulrich Drepper <drepper@redhat.com>
2180         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
2181
2182         2007-08-26 Ulrich Drepper <drepper@redhat.com>
2183         * lib/regex_internal.h: Prevent some declarations and definitions
2184         to be seen when used in tests.
2185
2186         2005-05-06 Ulrich Drepper <drepper@redhat.com>
2187         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
2188         __libc_lock_* macros if not _LIBC.
2189         (struct re_dfa_t): Add lock.
2190
2191 2012-02-07  Eric Blake  <eblake@redhat.com>
2192
2193         maint.mk: also prohibit lower-case @var@
2194         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
2195         lower case, like @top_srcdir@.
2196
2197 2012-02-04  Eric Blake  <eblake@redhat.com>
2198
2199         canonicalize: avoid uninitialized memory use
2200         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
2201         random '/' left in dest.
2202         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
2203
2204 2012-02-04  Bruno Haible  <bruno@clisp.org>
2205
2206         isatty: Fix test failure of ptsname_r on native Windows.
2207         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
2208         and don't set errno.
2209         (isatty): Test first whether fd is valid. Set errno when returning 0.
2210
2211 2012-02-04  Bruno Haible  <bruno@clisp.org>
2212
2213         spawn-pipe tests: Fix a NULL program name in a diagnostic.
2214         * tests/test-spawn-pipe-main.c: Include progname.h.
2215         (main): Invoke set_program_name.
2216         * modules/spawn-pipe-tests (Depends-on): Add progname.
2217
2218         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
2219         * tests/test-nonblocking-socket-main.c: Include progname.h.
2220         (main): Invoke set_program_name.
2221         * modules/nonblocking-socket-tests (Depends-on): Add progname.
2222
2223         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
2224         * tests/test-nonblocking-pipe-main.c: Include progname.h.
2225         (main): Invoke set_program_name.
2226         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
2227
2228 2012-02-04  Eric Blake  <eblake@redhat.com>
2229
2230         canonicalize-lgpl: fix // handling
2231         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
2232
2233         canonicalize: fix // handling
2234         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
2235         /// to //, since only // is special.
2236
2237 2012-02-04  Bruno Haible  <bruno@clisp.org>
2238
2239         ioctl: Fix test failure on native Windows.
2240         * lib/ioctl.c: Include msvc-nothrow.h.
2241         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
2242
2243 2012-02-04  Bruno Haible  <bruno@clisp.org>
2244
2245         fsync: Avoid test failure on native Windows.
2246         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
2247         read-only.
2248
2249 2012-02-04  Bruno Haible  <bruno@clisp.org>
2250
2251         sys_select: Avoid syntax error on OpenBSD 5.0.
2252         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
2253         currently being included, just include the system's <sys/select.h>.
2254
2255 2012-02-04  Bruno Haible  <bruno@clisp.org>
2256
2257         sys_select: Avoid syntax error on OpenBSD 5.0.
2258         * lib/sys_select.in.h: Include <signal.h> only after the include_next
2259         <sys/select.h>, not before.
2260         Reported by Jiri B <jirib@devio.us>.
2261
2262 2012-02-04  Bruno Haible  <bruno@clisp.org>
2263
2264         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
2265         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
2266         global variables.
2267         * tests/test-get-rusage-data.c (main): Likewise.
2268         Reported by Jim Meyering.
2269
2270 2012-02-04  Bruno Haible  <bruno@clisp.org>
2271
2272         stdioext: Fix last commit.
2273         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
2274
2275 2012-02-03  Bruno Haible  <bruno@clisp.org>
2276
2277         stdioext: Add tentative support for Plan9.
2278         * lib/stdio-impl.h: Include <errno.h>.
2279         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
2280         * lib/freadable.c (freadable): Likewise.
2281         * lib/fwritable.c (fwritable): Likewise.
2282         * lib/fbufmode.c (fbufmode): Likewise.
2283         * lib/freading.c (freading): Likewise.
2284         * lib/fwriting.c (fwriting): Likewise.
2285         * lib/freadptr.c (freadptr): Likewise.
2286         * lib/freadseek.c (freadptrinc): Likewise.
2287         * lib/freadahead.c (freadahead): Likewise.
2288         * lib/fpurge.c (fpurge): Likewise.
2289         * lib/fseeko.c (rpl_fseeko): Likewise.
2290         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
2291         Reported by Jens Staal <staal1978@gmail.com>.
2292
2293 2012-02-02  Jim Meyering  <meyering@redhat.com>
2294
2295         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
2296         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
2297         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
2298         not even to try to add the attribute.  Instead, add a pragma to suppress
2299         the suggestion/warning.
2300
2301 2012-01-31  Karl Berry  <karl@gnu.org>
2302
2303         setstate doc: typo.
2304         * doc/posix-functions/setstate.texi (setstate): { not (.
2305
2306 2012-01-31  Bruno Haible  <bruno@clisp.org>
2307
2308         popen: Make more robust on Windows.
2309         * lib/popen.c: On native Windows, use the _popen based code even if
2310         HAVE_POPEN is set.
2311         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
2312         environment variable on native Windows.
2313
2314 2012-01-30  Bruno Haible  <bruno@clisp.org>
2315
2316         pclose: Fix typo.
2317         * lib/stdio.in.h (pclose): Fix typo in warning message.
2318
2319 2012-01-30  Bruno Haible  <bruno@clisp.org>
2320
2321         doc about getlogin_r, setstate.
2322         * doc/posix-functions/getlogin_r.texi: List the incompatible
2323         declaration problem under "not fixed by gnulib".
2324         * doc/posix-functions/setstate.texi: Mention incompatible declaration
2325         problem on Solaris 11 and other platforms.
2326
2327 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
2328             Bruno Haible  <bruno@clisp.org>
2329
2330         poll tests: Make test more robust.
2331         * tests/test-poll.c: Include macros.h.
2332         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
2333         return value of various I/O operations.
2334         * modules/poll-tests (Files): Add tests/macros.h.
2335
2336 2012-01-30  Bruno Haible  <bruno@clisp.org>
2337
2338         sys_stat: Fix support for mingw64 and MSVC.
2339         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
2340         header files already do it.
2341         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
2342         stat itself.
2343         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2344
2345 2012-01-30  Bruno Haible  <bruno@clisp.org>
2346
2347         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
2348         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
2349         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
2350
2351 2012-01-29  Bruno Haible  <bruno@clisp.org>
2352
2353         quotearg: Fix test failure on MacOS X 10.5.
2354         * tests/test-quotearg-simple.c: Include localcharset.h.
2355         (main): If the locale encoding is not ASCII, bypass the tests of
2356         locale_quoting_style and clocale_quoting_style.
2357         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
2358
2359 2012-01-29  Jim Meyering  <meyering@redhat.com>
2360
2361         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
2362         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
2363         detect uses of canonicalize_file_name.
2364
2365 2012-01-28  Bruno Haible  <bruno@clisp.org>
2366
2367         test-framework-sh: Fix test failure with AIX 7.1 diff.
2368         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
2369         in column 1, like 'diff -c' does.
2370         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
2371         whether 'diff -u' is used. Instead, test whether the output contains
2372         some '@' character.
2373
2374 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
2375
2376         strtoimax: eliminate need for stdint.h, inttypes.h checks
2377         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
2378         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
2379         the prerequisites for a recently-introduced strtoimax test.
2380         I guess this might cause strtoimax to be replaced when not
2381         strictly necessary on older hosts, but this shouldn't introduce
2382         any bugs and it should make Emacs 'configure' faster on typical
2383         modern hosts.  Problem discovered when importing the latest gnulib
2384         to an Emacs test version.
2385         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
2386
2387 2012-01-28  Bruno Haible  <bruno@clisp.org>
2388
2389         sys_time: Override 'struct timeval' on some native Windows platforms.
2390         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
2391         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
2392         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
2393         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
2394         needs to be overridden.
2395         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
2396         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
2397         * tests/test-sys_select.c: Check that the tv_sec member has the same
2398         size as a 'time_t'.
2399         * tests/test-sys_time.c: Likewise.
2400         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
2401         is set, set also REPLACE_GETTIMEOFDAY.
2402         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
2403         convert the resulting 'struct timeval' before returning.
2404         * lib/select.c: Include <sys/time.h>.
2405         (select, timeval): Undefine at the right place.
2406         * modules/select (Depends-on): Add sys_time.
2407         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
2408         some Windows platforms.
2409         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
2410
2411 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2412
2413         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
2414         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
2415         an integer.
2416         * lib/fcntl.c (dupfd): Likewise.
2417         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
2418
2419 2012-01-28  Bruno Haible  <bruno@clisp.org>
2420
2421         fcntl: Avoid compilation error on native Windows.
2422         * modules/fcntl (Depends-on): Add 'close'.
2423
2424 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2425
2426         select, poll, isatty: Avoid warnings on x86_64 mingw64.
2427         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
2428         pointer to an integer.
2429         * lib/poll.c (IsConsoleHandle): Likewise.
2430         * lib/isatty.c (IsConsoleHandle): Likewise.
2431
2432 2012-01-28  Jim Meyering  <meyering@redhat.com>
2433
2434         doc: clarify README-release
2435         * top/README-release: Clarify: you should make a point to have
2436         the latest stable versions of build tools in your PATH, and the
2437         reference to buildreq is solely for its list of tool names, not
2438         for its minimal-functional version numbers.
2439         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
2440
2441         maint.mk: use more readable (yet functionally equivalent) quoting
2442         It is common to quote a single quote in a single quoted string like
2443         this:  '...'\''...'.  Unless you know the idiom, that looks like
2444         gibberish, so prefer to double-quote the string when possible.
2445         Then you can use a more readable, lone single quote: "...'..."
2446         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
2447         "don't" is more readable than the equivalent 'don'\''t'.
2448         (sc_cast_of_x_alloc_return_value): Likewise.
2449         (sc_cast_of_alloca_return_value): Likewise.
2450         (sc_makefile_path_separator_check): Similar: use ":" in '...',
2451         rather than '\'':'\''.
2452
2453 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2454
2455         stdalign: relax _Alignof and tighten _Alignas test
2456         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
2457         as it was too strict: alignof must divide offsetof, but it need
2458         not equal offsetof.  Inspired by Joseph S. Myers's comment
2459         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
2460         Conversely, tighten the _Alignas test a bit, as the resulting
2461         alignment must be exactly 8.
2462
2463 2012-01-27  Bruno Haible  <bruno@clisp.org>
2464
2465         stdalign: Document the last change.
2466         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
2467
2468 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
2469
2470         stdalign: check that alignof and offsetof are consistent
2471         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
2472         Problem reported for gnulib by Richard W.M. Jones in
2473         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
2474
2475 2012-01-27  Jim Meyering  <meyering@redhat.com>
2476
2477         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
2478         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
2479         convert a sequence with gaps to the minimal containing range.
2480         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
2481         * tests/test-update-copyright.sh: Test for this.
2482         The FSF confirmed it is ok to do this, assuming there is at
2483         least one significant change per year in the affected range:
2484         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
2485
2486 2012-01-26  Bruno Haible  <bruno@clisp.org>
2487
2488         pipe2: refine doc about thread-safety
2489         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
2490         multithread-safety problem.
2491         * doc/glibc-functions/accept4.texi: Likewise.
2492
2493 2012-01-26  Bruno Haible  <bruno@clisp.org>
2494
2495         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
2496         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
2497         In the test program, include <fcntl.h>, for O_RDONLY.
2498
2499 2012-01-26  Eric Blake  <eblake@redhat.com>
2500
2501         pipe2: document lack of thread-safety in replacement
2502         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
2503         issue in replacement.
2504         * doc/glibc-functions/accept4.texi (accept4): Likewise.
2505         Based on a report by Eric Wong.
2506
2507 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
2508             Bruno Haible  <bruno@clisp.org>
2509
2510         malloca: Avoid warnings on x86_64 mingw64.
2511         * lib/malloca.c: Include <stdint.h>.
2512         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
2513         * modules/malloca (Depends-on): Add stdint.
2514         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
2515
2516 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
2517
2518         obstack: remove __STDC__ conditionals
2519         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
2520         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
2521         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
2522         m4/include_next.m4 as the only gnulib-maintained places that still
2523         refer to __STDC__.
2524
2525 2012-01-24  Bruno Haible  <bruno@clisp.org>
2526
2527         havelib: Modern quoting.
2528         * build-aux/config.rpath: Quote 'like this', not `like this', as per
2529         the recent change to the GNU coding standards.
2530
2531 2012-01-24  Bruno Haible  <bruno@clisp.org>
2532
2533         stdint: Improve support for Android.
2534         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
2535         Reported by Simon Josefsson <simon@josefsson.org>.
2536
2537 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
2538
2539         doc: omit trailing empty lines from INSTALL etc.
2540         * doc/Makefile (INSTALL): Omit trailing empty lines.
2541         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
2542         omit trailing empty lines.  This simplifies the build procedure.
2543
2544 2012-01-23  Jim Meyering  <meyering@redhat.com>
2545
2546         tests: avoid spurious warnings about gl_sockets_startup
2547         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
2548         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
2549         reporting a "statement with no effect".
2550         * tests/test-accept.c (main): Mark as "(void)".
2551         * tests/test-accept4.c (main): Likewise.
2552         * tests/test-bind.c (main): Likewise.
2553         * tests/test-connect.c (main): Likewise.
2554         * tests/test-getpeername.c (main): Likewise.
2555         * tests/test-getsockname.c (main): Likewise.
2556         * tests/test-getsockopt.c (main): Likewise.
2557         * tests/test-listen.c (main): Likewise.
2558         * tests/test-recv.c (main): Likewise.
2559         * tests/test-recvfrom.c (main): Likewise.
2560         * tests/test-send.c (main): Likewise.
2561         * tests/test-sendto.c (main): Likewise.
2562         * tests/test-setsockopt.c (main): Likewise.
2563         * tests/test-shutdown.c (main): Likewise.
2564
2565 2012-01-21  Bruno Haible  <bruno@clisp.org>
2566
2567         locale-fr.m4: Fix for Android.
2568         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
2569         failure of the test program on Bionic libc.
2570
2571 2012-01-21  Jim Meyering  <meyering@redhat.com>
2572
2573         bootstrap: fail when bootstrap_post_import_hook fails
2574         Otherwise, it's far too easy to miss diagnostics emitted
2575         between gnulib-tool's output and that of running configure.
2576         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
2577
2578 2012-01-17  Jim Meyering  <meyering@redhat.com>
2579
2580         maint: enable sc_trailing_blank
2581         * build-aux/pmccabe.css: Remove trailing blanks.
2582         * doc/acl-cygwin.txt: Likewise.
2583         * doc/gnu-oids.texi: Likewise
2584         * cfg.mk: Enable sc_trailing_blank.
2585         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
2586
2587 2012-01-17  Jim Meyering  <meyering@redhat.com>
2588
2589         maint: enable sc_prohibit_openat_without_use
2590         * cfg.mk: Enable sc_prohibit_openat_without_use.
2591         Exempt lib/selinux-at.c.
2592
2593 2012-01-17  Jim Meyering  <meyering@redhat.com>
2594
2595         maint: enable sc_prohibit_cloexec_without_use
2596         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
2597         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
2598
2599 2012-01-17  Jim Meyering  <meyering@redhat.com>
2600
2601         maint: enable sc_prohibit_intprops_without_use
2602         * cfg.mk: Enable sc_prohibit_intprops_without_use
2603         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
2604
2605 2012-01-17  Jim Meyering  <meyering@redhat.com>
2606
2607         maint: enable sc_prohibit_hash_pjw_without_use
2608         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
2609         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
2610         to match any use of \<hash_pjw\>, i.e., not necessarily with a
2611         following " (".
2612
2613 2012-01-17  Jim Meyering  <meyering@redhat.com>
2614
2615         maint: enable double-word-prohibiting rule
2616         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
2617         Exempt three files.
2618
2619 2012-01-17  Jim Meyering  <meyering@redhat.com>
2620
2621         maint: remove empty lines at EOF, but excluding modules/*
2622         Apply syntax rules at home as well as abroad.  Most changes
2623         were induced by running this:
2624           make srcdir=. _build-aux=build-aux -f top/maint.mk \
2625             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
2626             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
2627         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
2628         Exempt modules/* and two binary files.
2629         Also exempt doc/INSTALL*, per request from Bruno Haible.
2630         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
2631         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
2632         * doc/Copyright/request-assign.future: Likewise.
2633         * doc/Copyright/request-disclaim.changes: Likewise.
2634         * doc/INSTALL: Likewise.
2635         * doc/INSTALL.ISO: Likewise.
2636         * doc/INSTALL.UTF-8: Likewise.
2637         * doc/acl-cygwin.txt: Likewise.
2638         * doc/acl-resources.txt: Likewise.
2639         * doc/fdl-1.2.texi: Likewise.
2640         * doc/fdl-1.3.texi: Likewise.
2641         * doc/fdl.texi: Likewise.
2642         * lib/argp-pin.c: Likewise.
2643         * lib/round.c: Likewise.
2644         * lib/unicase/u16-totitle.c: Likewise.
2645         * lib/unictype/block_test.c: Likewise.
2646         * lib/uninorm/canonical-decomposition.c: Likewise.
2647         * m4/README: Likewise.
2648         * m4/relocatable-lib.m4: Likewise.
2649         * tests/test-isnand-nolibm.c: Likewise.
2650         * tests/test-isnand.c: Likewise.
2651         * tests/uninorm/NormalizationTest.txt: Likewise.
2652
2653 2012-01-17  Jim Meyering  <meyering@redhat.com>
2654
2655         maint: add framework to run syntax-check rules against gnulib sources
2656         * cfg.mk: New file, to disable all currently-failing tests.
2657         We'll enable them one by one, as they are made to pass.
2658         * Makefile (sc_maint): New rule.
2659
2660 2012-01-21  Bruno Haible  <bruno@clisp.org>
2661
2662         stdint: Add support for Android.
2663         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
2664         include the system's <stdint.h>.
2665         Reported by Simon Josefsson <simon@josefsson.org>.
2666
2667 2012-01-19  Jim Meyering  <meyering@redhat.com>
2668
2669         bootstrap: add bootstrap_post_import_hook
2670         Bison does still need something like the gnulib_mk_hook whose
2671         invocation I had to remove along with slurp in commit 767ccd40.
2672         Technically, we could get along without it, but doing so would
2673         have required living with a warning and a mandatory post-bootstrap
2674         automake rerun.
2675         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
2676         (bootstrap_post_import_hook): New function.
2677         Invoke it after gnulib-tool --import and before autoreconf.
2678
2679 2012-01-18  Jim Meyering  <meyering@redhat.com>
2680
2681         gitlog-to-changelog: don't use "no_"-prefixed variable name
2682         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
2683         to enable both --cluster and --no-cluster.  Change variable name,
2684         s/\$no_cluster/$cluster/, and reverse usage to match.
2685
2686         gitlog-to-changelog: use "||", not "or" in expressions
2687         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
2688         expressions.
2689
2690 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
2691
2692         gitlog-to-changelog: new option --no-cluster
2693         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
2694         clustering of adjacent commit messages.
2695
2696 2012-01-17  Jim Meyering  <meyering@redhat.com>
2697
2698         maint: spell file systems with two words, not one
2699         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
2700         two words, not one.
2701
2702 2012-01-16  Jim Meyering  <meyering@redhat.com>
2703
2704         bootstrap: add a FIXME comment to ensure we eventually remove the hack
2705         * build-aux/bootstrap (gnulib_tool_options): Add comment.
2706
2707 2012-01-16  Eric Blake  <eblake@redhat.com>
2708
2709         bootstrap: cater to autoconf 2.59
2710         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
2711         is not available.
2712
2713         bootstrap: properly check for libtool
2714         * build-aux/bootstrap (libtoolize): Also run libtool when older
2715         usage is detected.
2716
2717 2012-01-15  Bruno Haible  <bruno@clisp.org>
2718
2719         Improve support for MSVC 9.
2720         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
2721         clashes on MSVC.
2722         * lib/fcntl.in.h: Likewise.
2723         * lib/stdlib.in.h: Likewise.
2724         * lib/sys_stat.in.h: Likewise.
2725
2726 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
2727
2728         gnupload: we hold the master copy of this script now
2729         For motivation and more information, see:
2730         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
2731         * build-aux/gnupload: Make it clear in the heading comments that the
2732         master copy of this file is maintained by gnulib.  Since we are at
2733         it, bump its copyright year and ...
2734         ($scriptversion): ... the date in its version.
2735         ($usage): Patches and bug reports should be sent to the gnulib list,
2736         not the automake one.
2737         * config/srclist.txt: Don't try to sync 'gnupload' from automake
2738         anymore.
2739
2740 2012-01-15  Bruno Haible  <bruno@clisp.org>
2741
2742         Fix module 'random'.
2743         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
2744         initstate, setstate are declared.
2745
2746 2012-01-14  Bruno Haible  <bruno@clisp.org>
2747
2748         Tests for module 'random'.
2749         * modules/random-tests: New file.
2750         * tests/test-random.c: New file, based on tests/test-random_r.c.
2751
2752         New module 'random'.
2753         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
2754         declarations.
2755         * lib/random.c: New file, based on glibc/stdlib/random.c.
2756         * m4/random.m4: New file.
2757         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
2758         HAVE_RANDOM.
2759         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
2760         * modules/random: New file.
2761         * config/srclist.txt: Add an entry for random.c.
2762         * doc/posix-functions/random.texi: Mention the 'random' module.
2763         * doc/posix-functions/initstate.texi: Likewise.
2764         * doc/posix-functions/setstate.texi: Likewise.
2765         * doc/posix-functions/srandom.texi: Likewise.
2766
2767 2012-01-12  Bruno Haible  <bruno@clisp.org>
2768
2769         random_r: Use common idioms.
2770         * lib/random_r.c: Include <stdlib.h> first.
2771
2772         random_r: Override incompatible API on AIX, OSF/1.
2773         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
2774         Override the system function if REPLACE_RANDOM_R is 1.
2775         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
2776         and OSF/1, set REPLACE_RANDOM_R.
2777         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
2778         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
2779         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
2780         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
2781         * doc/glibc-functions/random_r.texi: Likewise.
2782         * doc/glibc-functions/setstate_r.texi: Likewise.
2783
2784         random_r: Support for MSVC 9.
2785         * lib/random_r.c: Include stdint.h, not inttypes.h.
2786
2787 2012-01-12  Eric Blake  <eblake@redhat.com>
2788
2789         inet_ntop: guard extra work by IF_LINT
2790         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
2791         better code generation when not checking for warnings.
2792         Suggested by Paul Eggert and Jim Meyering.
2793
2794         strptime: fix regression on mingw
2795         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
2796         Fix regression.  Reported by Bruno Haible.
2797
2798 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
2799             Bruno Haible  <bruno@clisp.org>
2800
2801         copy-file: add error-code-returning variant.
2802         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
2803         (qcopy_file_preserving): New declaration.
2804         * lib/copy-file.c (qcopy_file_preserving): Renamed from
2805         copy_file_preserving. Change return type to 'int'. Don't emit an error
2806         message here.
2807         (copy_file_preserving): New function.
2808         * tests/test-copy-file.c: Include <stdlib.h>.
2809         (main): Test qcopy_file_preserving if the environment variable
2810         NO_STDERR_OUTPUT is set.
2811         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
2812         with NO_STDERR_OUTPUT
2813         * tests/test-copy-file-2.sh: Likewise.
2814
2815 2012-01-10  Bruno Haible  <bruno@clisp.org>
2816
2817         copy-file: Use 'quote' module consistently.
2818         * lib/copy-file.c (copy_file_preserving): Use quote().
2819
2820         copy-file: Refactor.
2821         * lib/copy-file.c: Include quote.h.
2822         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
2823         message here.
2824         * modules/copy-file (Depends-on): Add quote.
2825
2826         acl: Export qcopy_acl.
2827         * lib/acl.h (qcopy_acl): New declaration.
2828         * lib/copy-acl.c (qcopy_acl): Make non-static.
2829
2830         acl: Rename a local variable.
2831         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
2832
2833         acl: Align return values of copy_acl and qcopy_acl.
2834         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
2835         maybe < -1.
2836
2837 2012-01-11  Eric Blake  <eblake@redhat.com>
2838
2839         strptime: silence gcc warnings
2840         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
2841         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
2842         Reported by Daniel P. Berrange.
2843
2844         inet_ntop: silence gcc warning
2845         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
2846         Reported by Daniel P. Berrange.
2847
2848 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
2849
2850         getloadavg test: skip the test on GNU/Linux without /proc mounted
2851         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
2852         file.  When /proc is not mounted, it always fails with ENOENT.
2853         * tests/test-getloadavg.c (main): Treat ENOENT return code from
2854         getloadavg(3) the same way as ENOSYS and ENOTSUP.
2855
2856 2012-01-10  Bruno Haible  <bruno@clisp.org>
2857
2858         regex: Avoid link error on MSVC 9.
2859         * modules/regex (Depends-on): Add wctype.
2860
2861 2012-01-10  Bruno Haible  <bruno@clisp.org>
2862
2863         doc: Mention --with-tests option.
2864         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
2865         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
2866         --with-tests.
2867         Reported by Reuben Thomas.
2868
2869 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
2870
2871         users.txt: order package names lexicographically.
2872         * users.txt: Order package names lexicographically.
2873
2874 2012-01-10  Jim Meyering  <meyering@redhat.com>
2875
2876         maint.mk: fix description in comment
2877         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
2878
2879         ignore-value: remove deprecated ignore_ptr function
2880         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
2881         * NEWS: Note this.
2882
2883 2012-01-09  Jim Meyering  <meyering@redhat.com>
2884
2885         test-init.sh: avoid a subshell
2886         * tests/test-init.sh: Remove protective subshell.
2887         Suggested by Bernhard Voelker.  While a subshell is normally
2888         required to protect against older shells (Solaris, FreeBSD) that
2889         warn about a missing program before performing redirection, the
2890         shell-selection tests performed by init.sh probably exclude any
2891         offending shell.
2892
2893 2012-01-08  Bruno Haible  <bruno@clisp.org>
2894
2895         setlocale tests: Avoid test failure on Solaris 11 2011-11.
2896         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
2897         variable.
2898
2899 2012-01-08  Bruno Haible  <bruno@clisp.org>
2900
2901         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
2902         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2903         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
2904         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
2905         macro.
2906         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
2907         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
2908         * lib/spawn_faction_addopen.c: Add workaround implementation if
2909         HAVE_WORKING_POSIX_SPAWN.
2910         * modules/spawn (Makefile): Substitute
2911         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
2912         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
2913         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
2914         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
2915         (Depends-on): Update conditions.
2916         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
2917         the Solaris 11 bug.
2918
2919 2012-01-08  Bruno Haible  <bruno@clisp.org>
2920
2921         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
2922         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2923         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
2924         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
2925         macro.
2926         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
2927         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
2928         * lib/spawn_faction_adddup2.c: Add workaround implementation if
2929         HAVE_WORKING_POSIX_SPAWN.
2930         * modules/spawn (Makefile): Substitute
2931         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
2932         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
2933         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
2934         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
2935         (Depends-on): Update conditions.
2936         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
2937         the Solaris 11 bug.
2938
2939 2012-01-08  Bruno Haible  <bruno@clisp.org>
2940
2941         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
2942         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
2943         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
2944         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
2945         HAVE_WORKING_POSIX_SPAWN.
2946         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
2947         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
2948         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
2949         * lib/spawn_faction_addclose.c: Add workaround implementation if
2950         HAVE_WORKING_POSIX_SPAWN.
2951         * modules/spawn (Makefile): Substitute
2952         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
2953         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
2954         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
2955         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
2956         (Depends-on): Update conditions.
2957         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
2958         the Solaris 11 bug.
2959
2960 2012-01-08  Bruno Haible  <bruno@clisp.org>
2961
2962         doc: Update for Solaris 11 2011-11.
2963         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
2964         * m4/printf.m4: Update comments.
2965
2966 2012-01-08  Bruno Haible  <bruno@clisp.org>
2967
2968         mktime: Avoid compilation error on Solaris 11.
2969         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
2970
2971 2012-01-08  Bruno Haible  <bruno@clisp.org>
2972
2973         doc: Small fix.
2974         * doc/posix-headers/nl_types.texi: Correct platforms list.
2975
2976 2012-01-08  Simon Josefsson  <simon@josefsson.org>
2977
2978         Add lgpl-3.0 module.
2979         * MODULES.html.sh (Support for building documentation): Add
2980         lgpl-3.0.
2981         * modules/lgpl-3.0: New file.
2982
2983 2012-01-08  Jim Meyering  <meyering@redhat.com>
2984
2985         select.c: indent with spaces, not TABs
2986         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
2987
2988 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
2989
2990         quotearg: do not use grave accent for left quote
2991         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
2992         locale_quoting_style.
2993         (quotearg_buffer_restyled): Fix example.
2994         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
2995
2996 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
2997
2998         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
2999         Most programs do not have translation catalogs for English and much
3000         less separate catalogs for British and American English.  Drop the
3001         suggestion to translators about these two, and provide it
3002         automatically for Unicode locales.  Like most programs, even those
3003         using American English, we use single quotation marks.  This conflicts
3004         with the American typographic convention, but works better when you
3005         cite the entire error message within double quotes.  It also tries not
3006         to clash with established practice and with what non-gnulib programs
3007         will usually do.
3008         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
3009         using an UTF-8 or GB-18030 locale.  The list of other locales with
3010         quotes was provided by Bruno Haible.
3011         (quotearg_buffer_restyled): Adjust instructions to translators.
3012         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
3013         text, since this would be wrong when using Unicode.
3014         * modules/quotearg: Depend on c-strcaseeq.
3015
3016 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
3017
3018         quotearg: fix Wikipedia link
3019         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
3020
3021 2012-01-07  Simon Josefsson  <simon@josefsson.org>
3022
3023         Fix for mingw with MSVC9.
3024         * m4/ld-version-script.m4: Check that compiler rejects version
3025         scripts with syntax errors.  Reported by Bruno Haible
3026         <bruno@clisp.org>.
3027
3028 2012-01-06  Bruno Haible  <bruno@clisp.org>
3029
3030         Talk about "native Windows API", not "Woe32".
3031         * lib/accept4.c: Update comments to mention native Windows.
3032         * lib/execute.c: Likewise.
3033         * lib/fatal-signal.c: Likewise.
3034         * lib/localcharset.c: Likewise.
3035         * lib/nanosleep.c: Likewise.
3036         * lib/nl_langinfo.c: Likewise.
3037         * lib/pclose.c: Likewise.
3038         * lib/pipe-filter-gi.c: Likewise.
3039         * lib/pipe-filter-ii.c: Likewise.
3040         * lib/pipe.c: Likewise.
3041         * lib/pipe2.c: Likewise.
3042         * lib/popen.c: Likewise.
3043         * lib/progreloc.c: Likewise.
3044         * lib/relocatable.c: Likewise.
3045         * lib/sigaction.c: Likewise.
3046         * lib/sigprocmask.c: Likewise.
3047         * lib/spawn-pipe.h: Likewise.
3048         * lib/spawn-pipe.c: Likewise.
3049         * lib/spawni.c: Likewise.
3050         * lib/stat-time.h: Likewise.
3051         * lib/w32spawn.h: Likewise.
3052         * tests/test-isatty.c: Likewise.
3053         * lib/config.charset: More comments.
3054         * doc/gnulib-intro.texi: Mention native Windows.
3055         * doc/posix-functions/_Exit_C99.texi: Likewise.
3056         * doc/posix-headers/fcntl.texi: Likewise.
3057
3058 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
3059
3060         argp: Avoid crash if translator uses % characters in a translation.
3061         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
3062         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3063
3064 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
3065
3066         doc: C11 and C++11 are now official
3067         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
3068         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
3069         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
3070         * modules/stdalign:
3071         Replace references to draft C1X to C11, and to draft C++0X to C++11.
3072
3073 2012-01-06  Bruno Haible  <bruno@clisp.org>
3074
3075         uc-is-grapheme-break tests: Tweak.
3076         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
3077         message.
3078
3079 2012-01-06  Bruno Haible  <bruno@clisp.org>
3080
3081         test-init.sh: correct the test for diff -u
3082         * tests/test-init.sh: Also redirect stdout to /dev/null.
3083
3084 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
3085
3086         Use ', not `, for quoting output.
3087         * build-aux/announce-gen (usage, sizes, print_news_deltas)
3088         (print_changelog_deltas, get_tool_versions, main program):
3089         * build-aux/git-version-gen:
3090         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
3091         * build-aux/move-if-change (help):
3092         * build-aux/useless-if-before-free (usage, main program):
3093         * check-module (parse_module_file, usage)
3094         (find_included_lib_files, check_module):
3095         * lib/argmatch.c (main) [TEST]:
3096         * lib/argp-help.c (_help):
3097         * lib/getopt1.c (main) [TEST]:
3098         * lib/git-merge-changelog.c (usage):
3099         * lib/xstrtol-error.c (xstrtol_error):
3100         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
3101         * m4/argz.m4 (gl_FUNC_ARGZ):
3102         * m4/bison.m4 (gl_BISON):
3103         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
3104         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
3105         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
3106         * m4/fpending.m4 (gl_PREREQ_FPENDING):
3107         * m4/gc-random.m4 (gl_GC_RANDOM):
3108         * m4/intl.m4 (gt_CHECK_DECL):
3109         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
3110         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
3111         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
3112         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
3113         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
3114         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
3115         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
3116         * tests/test-dirname.c (main):
3117         * tests/test-getpass.c (main):
3118         * tests/test-iconvme.c (main):
3119         * tests/test-parse-datetime.c (LOG):
3120         * tests/test-xstrtoimax.sh:
3121         * tests/test-xstrtol.sh:
3122         * tests/test-xstrtoll.sh:
3123         * tests/test-xstrtoumax.sh:
3124         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
3125         * top/GNUmakefile (abort-due-to-no-makefile):
3126         Quote 'like this', not `like this', as per the recent change to
3127         the GNU coding standards.
3128
3129 2012-01-05  Bruno Haible  <bruno@clisp.org>
3130
3131         strtoimax: Don't force a replacement on systems where intmax_t is int.
3132         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
3133         'intmax_t' is not larger than 'int'.
3134         Reported by Pádraig Brady <P@draigBrady.com>.
3135
3136 2012-01-05  Bruno Haible  <bruno@clisp.org>
3137
3138         doc: Mention NetBSD bugs.
3139         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
3140         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
3141
3142 2012-01-05  Bruno Haible  <bruno@clisp.org>
3143
3144         strtoumax tests: Enhance tests.
3145         * tests/test-strtoumax.c (main): Add tests for large values.
3146
3147 2012-01-05  Bruno Haible  <bruno@clisp.org>
3148
3149         strtoimax: Work around AIX 5.1 bug.
3150         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
3151         definition.
3152         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
3153         Set HAVE_STRTOIMAX.
3154         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
3155         REPLACE_STRTOIMAX.
3156         * modules/inttypes-incomplete (Makefile.am): Substitute
3157         REPLACE_STRTOIMAX.
3158         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
3159         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
3160         (Depends-on): Update conditions.
3161         * tests/test-strtoimax.c (main): Add tests for large values.
3162         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
3163
3164 2012-01-05  Bruno Haible  <bruno@clisp.org>
3165
3166         inttypes: Modernize.
3167         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
3168         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
3169         (Makefile.am): Update inttypes.h rule.
3170
3171 2012-01-05  Jim Meyering  <meyering@redhat.com>
3172
3173         init.sh: don't waste a subshell just to redirect stderr
3174         * tests/init.sh: In testing for diff -u and diff -c, use a
3175         stderr-redirecting exec inside `...` rather than a subshell.
3176
3177         test-init.sh: avoid failure on HP-UX 11.00
3178         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
3179         resolves to diff -c or cmp.  Reported by Bruno Haible.
3180
3181 2012-01-05  Bruno Haible  <bruno@clisp.org>
3182
3183         Tests for module 'strtoull'.
3184         * modules/strtoull-tests: New file.
3185         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
3186
3187 2012-01-05  Bruno Haible  <bruno@clisp.org>
3188
3189         Tests for module 'strtoll'.
3190         * modules/strtoll-tests: New file.
3191         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
3192
3193 2012-01-05  Bruno Haible  <bruno@clisp.org>
3194
3195         Tests for module 'strtoul'.
3196         * modules/strtoul-tests: New file.
3197         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
3198
3199 2012-01-05  Bruno Haible  <bruno@clisp.org>
3200
3201         Tests for module 'strtol'.
3202         * modules/strtol-tests: New file.
3203         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
3204
3205 2012-01-04  Jim Meyering  <meyering@redhat.com>
3206
3207         test-init.sh: accommodate Solaris 5.10's different diff -u output
3208         * tests/test-init.sh: Also exempt @@ lines from the comparison
3209         of diff output, since Solaris 5.10 and GNU diff formats differ.
3210         Reported by Stefano Lattarini.
3211
3212 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
3213
3214         test-posixtm: don't assume signed integer wraparound
3215         * tests/test-posixtm.c (main): Don't assume wraparound semantics
3216         after signed integer overflow.  Inspired by (though it may not
3217         fix) Bruno Haible's bug report in
3218         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
3219
3220         Spell out "Windows 9x" and "Windows XP".
3221         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
3222         "Windows 9x" and "WinXP" with "Windows XP".
3223
3224 2012-01-04  Jim Meyering  <meyering@redhat.com>
3225
3226         test-vc-list-files-cvs.sh: remove obsolete comment
3227         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
3228         double exit.  Now that's all encapsulated via skip_ and Exit.
3229
3230 2012-01-04  Bruno Haible  <bruno@clisp.org>
3231
3232         Talk about "native Windows API", not "Win32".
3233         * lib/classpath.c: Update comments to mention native Windows.
3234         * lib/csharpexec.c: Likewise.
3235         * lib/dup2.c: Likewise.
3236         * lib/error.c: Likewise.
3237         * lib/fcntl.c: Likewise.
3238         * lib/filename.h: Likewise.
3239         * lib/findprog.c: Likewise.
3240         * lib/get-rusage-as.c: Likewise.
3241         * lib/get-rusage-data.c: Likewise.
3242         * lib/getpagesize.c: Likewise.
3243         * lib/javaexec.c: Likewise.
3244         * lib/msvc-inval.c: Likewise.
3245         * lib/msvc-nothrow.c: Likewise.
3246         * lib/nanosleep.c: Likewise.
3247         * lib/nonblocking.c: Likewise.
3248         * lib/printf-parse.c: Likewise.
3249         * lib/setlocale.c: Likewise.
3250         * lib/sigaction.c: Likewise.
3251         * lib/strerror_r.c: Likewise.
3252         * lib/tmpdir.c: Likewise.
3253         * lib/vasnprintf.c: Likewise.
3254         * lib/w32spawn.h: Likewise.
3255         * lib/waitpid.c: Likewise.
3256         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
3257         * m4/locale-ar.m4: Likewise.
3258         * m4/locale-fr.m4: Likewise.
3259         * m4/locale-ja.m4: Likewise.
3260         * m4/locale-tr.m4: Likewise.
3261         * m4/locale-zh.m4: Likewise.
3262         * m4/printf.m4: Likewise.
3263         * tests/test-cloexec.c: Likewise.
3264         * tests/test-copy-acl.sh: Likewise.
3265         * tests/test-copy-file.sh: Likewise.
3266         * tests/test-file-has-acl.sh: Likewise.
3267         * tests/test-set-mode-acl.sh: Likewise.
3268         * tests/test-dup-safer.c: Likewise.
3269         * tests/test-dup2.c: Likewise.
3270         * tests/test-dup3.c: Likewise.
3271         * tests/test-fcntl.c: Likewise.
3272         * tests/test-nonblocking-pipe.h: Likewise.
3273         * tests/test-nonblocking-socket.h: Likewise.
3274         * tests/test-pipe.c: Likewise.
3275         * tests/test-pipe2.c: Likewise.
3276         * tests/test-spawn-pipe-child.c: Likewise.
3277         * doc/acl-resources.txt: Likewise.
3278         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3279         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
3280         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
3281         * lib/localcharset.c: Update comments to mention native Windows.
3282         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3283         * lib/localename.c: Likewise.
3284         * lib/progreloc.c: Likewise.
3285         * lib/relocatable.c: Likewise.
3286         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
3287         (windows_compute_revents): Renamed from win32_compute_revents.
3288         (windows_compute_revents_socket): Renamed from
3289         win32_compute_revents_socket.
3290         * lib/select.c: Update comments to mention native Windows.
3291         (windows_poll_handle): Renamed from win32_poll_handle.
3292         * m4/threadlib.m4: Update comments to mention native Windows.
3293         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
3294         --enable-threads=windows instead of --enable-threads=win32. Set
3295         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
3296         * lib/glthread/lock.h: Update comments to mention native Windows.
3297         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
3298         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
3299         USE_WIN32_THREADS.
3300         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
3301         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
3302         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
3303         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
3304         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
3305         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
3306         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
3307         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
3308         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
3309         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
3310         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
3311         * tests/test-tls.c: Likewise.
3312         Rationale:
3313         Microsoft renamed the "Win32 API" to "Windows API", as it is available
3314         on both 32-bit and 64-bit Windows systems.
3315         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
3316         line of distinction is between "native Windows" on one side and Unix/
3317         POSIX systems on the other side. More details in
3318         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
3319         Suggested by Paul Eggert.
3320
3321 2012-01-03  Bruno Haible  <bruno@clisp.org>
3322
3323         isatty: Support for MSVC 9.
3324         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
3325         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
3326         (_isatty_nothrow): New function.
3327         (isatty): Use it instead of _isatty.
3328         (IsConsoleHandle): Add comment, from Paolo Bonzini.
3329         * lib/poll.c (IsConsoleHandle): Likewise.
3330         * lib/select.c (IsConsoleHandle): Likewise.
3331         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
3332         (gl_PREREQ_ISATTY): New macro.
3333         * modules/isatty (Depends-on): Add msvc-inval.
3334         (configure.ac): Invoke gl_PREREQ_ISATTY.
3335
3336 2012-01-03  Jim Meyering  <meyering@redhat.com>
3337
3338         maint.mk: remove temporary transition aid from over 1.5 years ago
3339         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
3340         purpose was to aid in the transition (avoiding silent malfunction)
3341         from that old name to the new _sc_search_regexp.  This shim was
3342         added by commit 219c504b.
3343
3344         init.sh: do not try to accommodate compare arguments starting with "-"
3345         * tests/init.sh (compare_dev_null_): Do not try to accommodate
3346         compare arguments that start with "-".  Besides, we do not worry
3347         about this when invoking diff or cmp; why start now with sed?
3348         Using "--" to separate options from argument would trigger sed
3349         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
3350         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
3351
3352 2012-01-02  Bruno Haible  <bruno@clisp.org>
3353
3354         Enhance tests for module 'isatty'.
3355         * modules/isatty-tests (Depends-on): Add pipe-posix.
3356         * tests/test-isatty.c: Include <fcntl.h>.
3357         (DEV_NULL): New macro.
3358         (main): Test the resut of isatty() also on regular files, pipes, and
3359         /dev/null.
3360
3361         New module 'isatty'.
3362         * lib/unistd.in.h (isatty): New declaration.
3363         * lib/isatty.c: New file, based on an idea of
3364         Bastien Roucariès <roucaries.bastien@gmail.com>.
3365         * m4/isatty.m4: New file.
3366         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
3367         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
3368         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
3369         REPLACE_ISATTY.
3370         * modules/isatty: New file.
3371         * doc/posix-functions/isatty.texi: Mention the new module.
3372         Suggested by Paolo Bonzini.
3373
3374 2012-01-02  Bruno Haible  <bruno@clisp.org>
3375
3376         canonicalize: Tweak 2011-12-29 commit.
3377         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
3378         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
3379
3380 2012-01-02  Jim Meyering  <meyering@redhat.com>
3381
3382         gitlog-to-changelog: describe input syntax in --help output
3383         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
3384
3385         gitlog-to-changelog: fix typo in --help: show backslash before email @
3386         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
3387         in sources, but not in actual output.
3388
3389 2011-12-30  Jim Meyering  <meyering@redhat.com>
3390
3391         gitlog-to-changelog: don't malfunction when name contains %-directive
3392         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
3393         in a name string cause trouble.  E.g., with a user name of "%s",
3394         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
3395
3396 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
3397
3398         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
3399         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
3400         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
3401         the "  (tiny change)" notation that is appended to the standard
3402         ChangeLog "date  name  email" header line.
3403
3404 2012-01-01  Jim Meyering  <meyering@redhat.com>
3405
3406         test-framework-sh: init.sh: fix "make dist" failure
3407         When using gnulib-tool's --with-tests option and any module that
3408         depends on test-framework-sh, "make dist" would fail due to the
3409         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
3410         in the gltests directory, and not in the gllib/ directory.
3411         One way to work around that is to move the EXTRA_DIST += init.sh
3412         from the primary module to the -tests one:
3413         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
3414         * modules/test-framework-sh (Makefile.am): ...not here.
3415         Reported by Tom G. Christensen in
3416         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
3417
3418         version-etc: update copyright year reported by --version
3419         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
3420
3421 2011-12-31  Pádraig Brady  <P@draigBrady.com>
3422
3423         canonicalize: only stat() if required
3424         * lib/canonicalize.c (canonicalize_filename_mode):
3425         Avoid calling l?stat() when both CAN_MISSING,
3426         and CAN_NOLINKS are set, as we neither need
3427         to resolve symlinks or test component existence.
3428
3429 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
3430
3431         doc: cover st_ino issues once; add OpenVMS etc.
3432         * doc/posix-functions/stat.texi (stat):
3433         * doc/posix-functions/lstat.texi (lstat):
3434         * doc/posix-functions/fstatat.texi (fstatat):
3435         * doc/posix-functions/fstat.texi (fstat):
3436         Move general 'struct stat' stuff to sys_stat.texi,
3437         leaving behind a pointer.
3438         * doc/posix-headers/sys_stat.texi (sys/stat.h):
3439         Merge duplicate info about 'struct stat' problems into here.
3440         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
3441         and suggest partial workarounds.
3442
3443         same-inode: port to OpenVMS
3444         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
3445         three st_ino values.
3446
3447 2011-12-30  Pádraig Brady  <P@draigBrady.com>
3448
3449         canonicalize: fix references to stat() and lstat()
3450         * lib/canonicalize.c (canonicalize_filename_mode):
3451         Ensure references always resolve to a replacement
3452         function if required (even via a macro).
3453
3454 2011-12-30  Jim Meyering  <meyering@redhat.com>
3455
3456         gitlog-to-changelog: remove a little duplication
3457         * build-aux/gitlog-to-changelog (main): Grep @lines once,
3458         rather than twice.
3459
3460 2011-12-29  Pádraig Brady  <P@draigBrady.com>
3461
3462         canonicalize: add support for not resolving symlinks
3463         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
3464         indicate we don't want to follow symlinks.  Also
3465         provide CAN_MODE_MASK to aid setting these existing
3466         mutually exclusive values.
3467         * lib/canonicalize.c (canonicalize_filename_mode):
3468         Extract the flags from can_mode parameter, which
3469         are currently just used to select between stat()
3470         and lstat().  Also ensure that mutually exclusive
3471         values are flagged immediately as invalid.
3472         * tests/test-canonicalize.c: Verify symlinks are
3473         not followed, and that invalid flag combinations
3474         are diagnosed.
3475
3476 2011-12-25  Jim Meyering  <meyering@redhat.com>
3477
3478         gitlog-to-changelog: do not clump multi-paragraph entries
3479         Identical header lines (date,name,email+coauthors) are suppressed,
3480         thus putting all entries with those same characteristics under
3481         a single header.  However, when a log entry consists of two or
3482         more paragraphs, it may not be clear where it starts and ends.
3483         This change makes it so that such an entry is always separated
3484         from others by a header line, even when that header would
3485         otherwise be suppressed.
3486         * build-aux/gitlog-to-changelog: Implement the above.
3487         Inspired by a related request from Stefano Lattarini in
3488         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
3489
3490 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
3491
3492         announce-gen: fix `cmd' typo in diagnostic
3493         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
3494         diagnostic: a missing '$' meant that the command was not output.
3495
3496 2011-12-23  Jim Meyering  <meyering@redhat.com>
3497
3498         test-framework-sh: distribute init.sh
3499         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
3500         Otherwise, "make -C gnulib-tests check" (at least in grep) would
3501         fail due to the lack of init.sh.
3502
3503         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
3504         * modules/atexit-tests: Rather than listing tests/init.sh,
3505         now that there's a module for it, simply depend on that new module.
3506         * modules/closein-tests: Likewise.
3507         * modules/exclude-tests: Likewise.
3508         * modules/getcwd-tests: Likewise.
3509         * modules/perror-tests: Likewise.
3510         * modules/pread-tests: Likewise.
3511         * modules/pwrite-tests: Likewise.
3512         * modules/vc-list-files-tests: Likewise.
3513         * modules/verify-tests: Likewise.
3514         * modules/xalloc-die-tests: Likewise.
3515         * modules/xstrtoimax-tests: Likewise.
3516         * modules/xstrtol-tests: Likewise.
3517         * modules/xstrtoll-tests: Likewise.
3518         * modules/xstrtoumax-tests: Likewise.
3519         * modules/yesno-tests: Likewise.
3520
3521 2011-12-22  Jim Meyering  <meyering@redhat.com>
3522
3523         test-framework-sh: add minimal tests of init.sh's compare function
3524         * modules/test-framework-sh-tests: New file.
3525         * tests/test-init.sh: New file.
3526
3527         test-framework-sh: new module
3528         * modules/test-framework-sh: New file.
3529         * MODULES.html.sh (Support for maintaining and releasing projects):
3530         List it.
3531
3532         init.sh: do not emit simulated diff output to stderr
3533         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
3534
3535 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
3536
3537         .gitignore: ignore gnulib.dvi and regex.info
3538         * doc/.gitignore:add gnulib.dvi and regex.info
3539
3540 2011-12-22  Jim Meyering  <meyering@redhat.com>
3541
3542         init.sh: correct previous change
3543         * tests/init.sh (compare): My previous change was wrong.
3544         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
3545
3546         init.sh: avoid unwarranted test failure when using "set -e"
3547         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
3548         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
3549         a use like "compare exp out" would get evoke an unconditional failure.
3550
3551 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
3552
3553         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
3554         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
3555         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
3556         autoreconf that did not.
3557         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
3558         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
3559
3560 2011-12-17  Jim Meyering  <meyering@redhat.com>
3561
3562         bootstrap: remove some now-unneeded code
3563         This script arose back when gnulib-tool was young.
3564         Since then, it has seen improvements that render much of this
3565         script unnecessary.  In particular, it can now make symlinks
3566         to the files it uses.  Also, I no longer see as much value in
3567         marking files as read-only via comments.
3568         If you relied on the symlink-creation feature of the preceding
3569         version of this script, you can get most of that functionality
3570         by adding the --symlink option to the definition of
3571         gnulib_tool_option_extras in your bootstrap.conf file.
3572         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
3573         Run autopoint and libtoolize *before* gnulib-tool.
3574         After it, run an abbreviated autoreconf, rather than a loop around
3575         all tools.
3576         (slirp, bt_mark_as_generated): Remove functions.
3577
3578 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
3579
3580         ftoastr: fix typo
3581         * lib/ftoastr.h: Fix misspelling in comment.
3582
3583 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
3584
3585         * top/README-release: fix punctuation.
3586
3587 2011-12-17  Jim Meyering  <meyering@redhat.com>
3588
3589         bootstrap: correct the recent buildreq change
3590         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
3591         had no effect.
3592         * build-aux/bootstrap (buildreq): Bracket each search term with
3593         "*...*", so that the shell "case" statement works as intended.
3594         Add comments.
3595
3596 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
3597
3598         build: let bootstrap resort to wget when downloading .po files
3599         * build-aux/bootstrap (download_po_files): Fallback to wget when
3600         downloading the .po files via rsync fails.  This is necessary to
3601         bootstrap from behind a strict firewall.
3602
3603 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
3604
3605         stdint: don't assume C++11 when compiling with g++
3606         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
3607         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
3608         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
3609         work also in C++ before C++11, as that improperly inhibits
3610         generating a substitute stdint.h for that case.
3611
3612 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
3613
3614         alloca: protect comment from gnulib-tool
3615         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
3616         that gnulib-tool doesn't think it's a license, and munge it to
3617         say "GCC version 3".
3618
3619 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
3620
3621         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
3622         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
3623         $(abs_top_builddir) instead of $(top_builddir).
3624
3625 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
3626
3627         strftime-tests: also test nanoseconds
3628         * tests/test-strftime.c (T): Add a test of %N.
3629
3630 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
3631
3632         inttypes, stdint: add C++11 support
3633         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
3634         when including inttypes.h and stdint.h.  Support this change to
3635         the standard.
3636         * doc/posix-headers/inttypes.texi (inttypes.h):
3637         * doc/posix-headers/stdint.texi (stdint.h): Document this.
3638         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
3639         Define if not defined already, for the benefit of pre-C++11 hosts.
3640         Define the standard format macros (e.g., PRId8) always.
3641         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
3642         Likewise, if __cpluspus.  Define the standard constant and limit
3643         macros (e.g., INT8_C, INT8_MAX) always.
3644         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
3645         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
3646         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
3647         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
3648         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
3649         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
3650         Likewise.
3651
3652 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
3653
3654         nonblocking tests: Fix test failure on Linux/PPC.
3655         Suggested by Prerna Saxena in
3656         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
3657         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
3658         Set to 1100000.
3659
3660 2011-12-12  Jim Meyering  <meyering@redhat.com>
3661
3662         argmatch: don't hard-code `' when listing valid option arguments
3663         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
3664         use the quote function to add quotes.  Use fputs rather than
3665         fprintf for the format string with no format directive.
3666
3667 2011-12-07  Eric Blake  <eblake@redhat.com>
3668
3669         bootstrap: detect tools required by gnulib-tool
3670         * build-aux/bootstrap (buildreq): Provide minimum implicit
3671         dependencies.
3672         * DEPENDENCIES: Mention patch as a prereq.
3673
3674 2011-12-04  Bruno Haible  <bruno@clisp.org>
3675
3676         sethostname: Port to Windows platforms.
3677         * lib/sethostname.c: Provide an alternate implementation for Windows
3678         platforms.
3679         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
3680         (main): Skip the test if sethostname() fails with EPERM. On Windows
3681         platforms, don't check the result of gethostname().
3682
3683 2011-12-04  Bruno Haible  <bruno@clisp.org>
3684             Jim Meyering  <meyering@redhat.com>
3685
3686         tests: Avoid spurious error message on platforms without mktemp program.
3687         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
3688
3689 2011-12-04  Bruno Haible  <bruno@clisp.org>
3690
3691         sethostname: Fix documentation.
3692         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
3693         "not fixed" section.
3694
3695 2011-12-03  Bruno Haible  <bruno@clisp.org>
3696
3697         gnulib-tool: Verify that the License field is present and non-empty.
3698         * gnulib-tool (func_get_license_raw): New function, extracted from
3699         func_get_license.
3700         (func_get_license): Use it. Warn if the module is not a test module and
3701         has no license.
3702         Suggested by Jim Meyering.
3703
3704 2011-12-03  Bruno Haible  <bruno@clisp.org>
3705
3706         sethostname tests: Fix link error on mingw.
3707         * tests/test-sethostname1.c: New file, extracted from
3708         tests/test-sethostname.c.
3709         * tests/test-sethostname2.c: New file, extracted from
3710         tests/test-sethostname.c.
3711         * tests/test-sethostname.c: Remove file.
3712         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
3713         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
3714         (Depends-on): Add gethostname.
3715         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
3716         Link the latter with $(GETHOSTNAME_LIB).
3717
3718         sethostname tests: Fix compilation error on mingw.
3719         * tests/test-sethostname.c: Don't include <sys/types.h>.
3720         (geteuid): Use a dummy value without uid_t.
3721         * modules/sethostname-tests (Depends-on): Remove sys_types.
3722
3723         sethostname tests: Avoid a gcc warning.
3724         * tests/test-sethostname.c (main): Remove an unused variable.
3725
3726         Tweak last commit.
3727         * modules/sethostname-tests (Files): Sort by decreasing importance.
3728         (configure.ac): Check for geteuid.
3729         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
3730         the test when there's nothing to test. Drop an unnecessary cast.
3731         Improve an error message. Verify that the final sethostname() call
3732         succeeds.
3733
3734 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3735
3736         Add a test suite for the sethostname module.
3737         * modules/sethostname-tests: New file.  A test program
3738         for the sethostname module.
3739         * tests/test-sethostname.c: Likewise.
3740
3741 2011-12-03  Bruno Haible  <bruno@clisp.org>
3742
3743         Tweak last commit.
3744         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
3745         Fix preprocessor directives indentation. Fix typos.
3746         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
3747         * modules/unistd (Makefile): Likewise.
3748
3749 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3750
3751         Integrate the sethostname module into unistd.
3752         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
3753         into the unistd.h header.
3754         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
3755         preprocessor directives.
3756         * modules/unistd: Setup the Makefile substitutions of the
3757         SETHOSTNAME preprocessor directives.
3758
3759 2011-12-03  Bruno Haible  <bruno@clisp.org>
3760
3761         Tweak last commit.
3762         * lib/sethostname.c: Don't include <string.h>.
3763         (sethostname): No need to copy the argument string to the stack. Don't
3764         call clearerr. Preserve errno when fprintf failed.
3765         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
3766         Don't invoke AC_REPLACE_FUNCS.
3767         * modules/sethostname (Link): Remove empty section.
3768         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
3769         failure problem.
3770
3771 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3772
3773         New module 'sethostname'.
3774         * lib/sethostname.c (sethostname): New file.  Provide sethostname
3775         for systems that lack it.
3776         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
3777         sethostname declaration and function.
3778         * modules/sethostname: New file.  Define the sethostname module.
3779
3780 2011-12-03  Bruno Haible  <bruno@clisp.org>
3781
3782         Tweak last commit.
3783         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
3784
3785 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
3786
3787         Split the HOST_NAME_MAX detection into a separate m4 macro.
3788         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
3789         macro so it can be used by the pending sethostname module.
3790
3791 2011-12-03  Bruno Haible  <bruno@clisp.org>
3792
3793         Fix module descriptions syntax.
3794         * modules/argv-iter (License): Fix syntax.
3795         * modules/di-set (License): Likewise.
3796         * modules/ino-map (License): Likewise.
3797         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
3798
3799 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
3800
3801         stdalign: port to Clang 3.0
3802         Problem reported by Simon Josefsson in
3803         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
3804         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
3805         which has <stdalign.h> but which does not define alignof.
3806         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
3807
3808 2011-12-01  Eric Blake  <eblake@redhat.com>
3809
3810         mktempd: silence dd usage
3811         * build-aux/mktempd (rand_bytes): Silence dd.
3812
3813 2011-11-30  Simon Josefsson  <simon@josefsson.org>
3814
3815         manywarnings: Don't mention gcc version in docstring.
3816         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
3817         Jim Meyering <meyering@redhat.com>.
3818
3819 2011-11-30  Jim Meyering  <meyering@redhat.com>
3820
3821         hash: mark a few floating point constants with "f" suffix
3822         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
3823         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
3824         floating point constants with "f", since they're destined to be
3825         saved/used as "float"s.
3826
3827 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
3828
3829         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
3830         * tests/test-float.c (test_long_double): Correct and re-enable the
3831         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
3832
3833 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
3834
3835         Avoid subtracting two pointers that don't point into the same block.
3836         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
3837         only pointers into the same memory block are subtracted. We cannot
3838         assume that sizeof (ptrdiff_t) == sizeof (void *).
3839
3840 2011-11-29  Eric Blake  <eblake@redhat.com>
3841
3842         maint.mk: add syntax check for use of compare from init.sh
3843         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
3844         moved here from coreutils.
3845
3846         manywarnings: drop -Wunsuffixed-float-constants
3847         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
3848         '1.0D', which is the only way to silence this warning for 'double'.
3849
3850 2011-11-29  Jim Meyering  <meyering@redhat.com>
3851
3852         hash: mark compute_bucket_size with the pure attribute
3853         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
3854
3855         quotearg, propername: correct pragma guard expression
3856         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
3857         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
3858
3859 2011-11-28  Jim Meyering  <meyering@redhat.com>
3860
3861         propername: do not mark proper_name with the const attribute
3862         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
3863         since it examines data pointed to by its parameter.
3864         * lib/propername.c (proper_name): Instead, add a pragma to suppress
3865         the suggestion from -Wsuggest-attribute=const.
3866
3867         propername: mark one more function as const
3868         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
3869
3870 2011-11-27  Jim Meyering  <meyering@redhat.com>
3871
3872         mark functions with const and pure attributes
3873
3874         Mark functions per suggestions from gcc-4.6 when using these options:
3875         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
3876         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
3877         Follow these guidelines: when possible, apply the attribute to
3878         an extern declaration, not to its definition.  Apply it to the
3879         definition only when the definition is static.
3880         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
3881         * lib/argv-iter.h (argv_iter_n_args): Likewise.
3882         * lib/base64.h (isbase64): Likewise.
3883         * lib/basename-lgpl.c (last_component, base_len): Likewise.
3884         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
3885         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
3886         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
3887         (c_tolower, c_toupper): Likewise.
3888         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
3889         * lib/chdir-long.c (find_non_slash): Likewise.
3890         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
3891         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
3892         * lib/file-type.h (file_type): Likewise.
3893         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
3894         * lib/filevercmp.c (verrevcmp): Likewise.
3895         * lib/freadahead.h (freadahead): Likewise.
3896         * lib/fts.c (fts_maxarglen): Likewise.
3897         * lib/hash-pjw.h (hash_pjw): Likewise.
3898         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
3899         * lib/hash.c (is_prime, next_prime): Likewise.
3900         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
3901         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
3902         (hash_table_ok, hash_get_first, hash_string): Likewise.
3903         (compute_bucket_size): Likewise.
3904         * lib/i-ring.h (i_ring_empty): Likewise.
3905         * lib/isnan.c (isnanl): Likewise.
3906         * lib/math.h (isnanl, rpl_isnanl): Likewise.
3907         * lib/memcasecmp.h (memcasecmp): Likewise.
3908         * lib/memchr2.h (memchr2): Likewise.
3909         * lib/memcmp2.h (memcmp2): Likewise.
3910         * lib/parse-datetime.y (lookup_zone): Likewise.
3911         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
3912         [!WINDOWS_SOCKETS]: Likewise.
3913         * lib/strnlen1.h (strnlen1): Likewise.
3914         * lib/uniwidth.in.h (uc_width): Likewise.
3915         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
3916         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
3917         (quoting_options_from_style): Add a comment.
3918         * lib/propername.h (proper_name): Add a comment.
3919
3920 2011-11-27  Bruno Haible  <bruno@clisp.org>
3921
3922         Remove unused macros from !_LIBC code in glibc-borrowed files.
3923         * lib/fnmatch.c (STRCOLL): Remove macro.
3924         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
3925         * lib/glob.c (__stat, __readdir64): Remove macros.
3926         * lib/tempname.c (__open64, __xstat64): Remove macros.
3927         Suggested by Paul Eggert.
3928
3929 2011-11-27  Bruno Haible  <bruno@clisp.org>
3930
3931         getcwd: Fix link error on MSVC 9.
3932         * modules/getcwd (Depends-on): Add readdir, rewinddir.
3933
3934 2011-11-27  Bruno Haible  <bruno@clisp.org>
3935
3936         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
3937         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
3938         HAVE_OPENDIR is 0.
3939         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
3940         HAVE_CLOSEDIR is 0.
3941         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
3942         is 0.
3943         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
3944
3945 2011-11-27  Bruno Haible  <bruno@clisp.org>
3946
3947         getcwd: Fix bug from 2011-08-17.
3948         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
3949         platforms that need it.
3950         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
3951         code of 4 to be a failure, not a success. This ensures that
3952         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
3953
3954 2011-11-27  Bruno Haible  <bruno@clisp.org>
3955
3956         binary-io tests: Avoid test failure on mingw when libtool is used.
3957         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
3958         Don't verify the size of t-bin-out1.tmp here.
3959         * tests/test-binary-io.sh: Verify it here.
3960         Reported by Simon Josefsson.
3961
3962 2011-11-26  Bruno Haible  <bruno@clisp.org>
3963
3964         Fix conflict between two instantiations of module 'unistd'.
3965         * gnulib-tool (func_emit_autoconf_snippet): Substitute
3966         ${include_guard_prefix} also in the autoconf snippet.
3967         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
3968         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
3969         GNULIB_UNISTD_H_GETOPT.
3970         * modules/getopt-posix (configure.ac): Set the
3971         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
3972         * modules/getopt-gnu (configure.ac): Likewise.
3973         * modules/unistd (Makefile.am): Change the substitution value of
3974         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
3975         Reported by Simon Josefsson.
3976
3977 2011-11-25  Bruno Haible  <bruno@clisp.org>
3978
3979         pagealign_alloc: Doc and comments.
3980         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
3981         module.
3982         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
3983
3984 2011-11-25  Jim Meyering  <meyering@redhat.com>
3985
3986         test-update-copyright.sh: avoid false-positive failure
3987         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
3988         around false positive failure on Cygwin/Windows.  The latter was
3989         matching erroneously-created files with names like
3990         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
3991
3992 2011-11-25  Simon Josefsson  <simon@josefsson.org>
3993
3994         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
3995         * m4/valgrind-tests.m4: Check that the parameters that will be
3996         used works, not just a subset of them.  Reported by Bruno Haible
3997         <bruno@clisp.org>.
3998
3999 2011-11-24  Jim Meyering  <meyering@redhat.com>
4000
4001         test-stdalign.c: comment out long double tests
4002         * tests/test-stdalign.c: Don't try to reduce alignment of long double
4003         variables.  That provokes errors like this from gcc-4.7.0 20111124:
4004         error: '_Alignas' specifiers cannot reduce alignment of \
4005         'static_longdouble_alignas'.
4006
4007 2011-11-22  Jim Meyering  <meyering@redhat.com>
4008
4009         init.sh: make "compare /dev/null FILE" output more readable
4010         * tests/init.sh (compare_): Document the preferred order of arguments.
4011         (emit_diff_u_header_): New function.
4012         (compare_dev_null_): Emit a simulated diff, rather than just the
4013         contents of the unexpected file.  Suggestion from Bruno Haible.
4014
4015 2011-11-21  Jim Meyering  <meyering@redhat.com>
4016             Eric Blake  <eblake@redhat.com>
4017
4018         init.sh: work around OSF/1 5.1's mishandling of /dev/null
4019         * tests/init.sh: Make our compare function slightly more portable.
4020         Reported by Bruno Haible in
4021         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
4022
4023 2011-11-21  Simon Josefsson  <simon@josefsson.org>
4024
4025         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
4026         before using it, in code that ends up in config.h.
4027
4028 2011-11-20  Bruno Haible  <bruno@clisp.org>
4029
4030         getcwd: Work around getcwd bug on AIX 5..7.
4031         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
4032         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
4033         Use a different value for gl_cv_func_getcwd_path_max. Move the
4034         definition of HAVE_PARTLY_WORKING_GETCWD from here...
4035         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
4036         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
4037         Define HAVE_MINIMALLY_WORKING_GETCWD.
4038         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
4039         where it is not even minimally working, that is, on AIX.
4040         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
4041         m4/getcwd-path-max.m4.
4042         (main): Update exit code computation.
4043         * doc/posix-functions/getcwd.texi: Mention list of platforms where
4044         getcwd does not handle long file names.
4045
4046 2011-11-20  Bruno Haible  <bruno@clisp.org>
4047
4048         getcwd: Fix bug from 2009-09-10.
4049         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
4050         like "no".
4051
4052 2011-11-20  Simon Josefsson  <simon@josefsson.org>
4053
4054         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
4055
4056 2011-11-20  Bruno Haible  <bruno@clisp.org>
4057
4058         fma tests: Avoid shadowing local variables.
4059         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
4060         expected.
4061
4062 2011-11-20  Bruno Haible  <bruno@clisp.org>
4063
4064         copysignf tests: Fix.
4065         * tests/test-copysignf.c: Fix signature check.
4066
4067 2011-11-20  Bruno Haible  <bruno@clisp.org>
4068
4069         fma: Remove unused code.
4070         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
4071         unused macros.
4072
4073 2011-11-20  Bruno Haible  <bruno@clisp.org>
4074
4075         sethostname: Fix doc about AIX.
4076         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
4077         sethostname; it has it.
4078
4079         sethostname: Mention more portability problems.
4080         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
4081         problem.
4082         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
4083
4084 2011-11-19  Bruno Haible  <bruno@clisp.org>
4085
4086         Depend on module fcntl-h when AT_FDCWD is used.
4087         * modules/utimens (Depends-on): Add fcntl-h.
4088         * modules/areadlinkat (Depends-on): Likewise.
4089         * modules/areadlinkat-with-size (Depends-on): Likewise.
4090         * modules/faccessat (Depends-on): Likewise.
4091         * modules/fchmodat (Depends-on): Likewise.
4092         * modules/fchownat (Depends-on): Likewise.
4093         * modules/getcwd (Depends-on): Likewise.
4094         * modules/mkdirat (Depends-on): Likewise.
4095         * modules/mkfifoat (Depends-on): Likewise.
4096         * modules/readlinkat (Depends-on): Likewise.
4097         * modules/symlinkat (Depends-on): Likewise.
4098         * modules/dup2-tests (Depends-on): Likewise.
4099         * modules/fdutimensat-tests (Depends-on): Likewise.
4100         * modules/futimens-tests (Depends-on): Likewise.
4101
4102 2011-11-19  Bruno Haible  <bruno@clisp.org>
4103
4104         euidaccess: Update a comment.
4105         * lib/euidaccess.c: Update comment about platforms with faccessat.
4106
4107 2011-11-19  Bruno Haible  <bruno@clisp.org>
4108
4109         openat: Fix file list.
4110         * modules/openat (Files): Remove lib/at-func.c.
4111
4112 2011-11-19  Bruno Haible  <bruno@clisp.org>
4113
4114         fstatat: Simplify.
4115         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
4116         gnulib should define rpl_fstatat, there is a
4117         "#define fstatat rpl_fstatat" in <sys/stat.h>.
4118
4119 2011-11-19  Bruno Haible  <bruno@clisp.org>
4120
4121         Ensure 'inline' can be used in tests/test-utimens-common.h.
4122         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
4123         * modules/futimens-tests (configure.ac): Likewise.
4124         * modules/utimens-tests (configure.ac): Likewise.
4125         * modules/utimensat-tests (configure.ac): Likewise.
4126
4127 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4128
4129         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
4130         not hash_insert0.
4131         (hash_insert_if_absent): Doc fix.
4132
4133 2011-11-19  Simon Josefsson  <simon@josefsson.org>
4134
4135         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
4136
4137 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
4138
4139         test-getcwd: disambiguate exit status
4140         * tests/test-getcwd.c (test_long_name): Return 0..7.
4141         (main): Exit with an unambiguous exit status.  The old
4142         code yielded a mysterious mixture of two failure codes.
4143
4144         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
4145         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
4146         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
4147         rpl_fstatat or fstatat.  This should fix the other problem
4148         reported by Kai Habel in
4149         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4150         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
4151         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
4152         and I reproduced it on a Solaris 8 host we still have in production.
4153
4154 2011-11-18  Jim Meyering  <meyering@redhat.com>
4155
4156         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
4157         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
4158         Add a sentence to the comment.
4159         (hash_insert0): New function that simply calls hash_insert_if_absent.
4160         * lib/hash.h (hash_insert_if_absent): Declare it.
4161         (hash_insert0): Add deprecation attribute.
4162         (_GL_ATTRIBUTE_DEPRECATED): Define.
4163         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
4164         not hash_insert0.
4165         * NEWS: Mention it, even though it's not really an incompatible change.
4166
4167 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
4168
4169         openat: avoid compilation failure due to lack of <errno.h> inclusion
4170         * lib/openat.c: Include <errno.h>.
4171
4172 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
4173
4174         * modules/getcwd (Depends-on): Add fdopendir.
4175         This fixes one of the two problems reported by Kai Habel in
4176         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
4177
4178         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
4179         stdalign problem reported by Ian Beckwith in
4180         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
4181         * modules/crypto/gc-arcfour (Depends-on):
4182         Depend conditionally on crypto/arcfour.
4183         * modules/crypto/gc-arctwo (Depends-on):
4184         Depend conditionally on crypto/arctwo.
4185         * modules/crypto/gc-des (Depends-on):
4186         Depend conditionally on crypto/des.
4187         * modules/crypto/gc-hmac-md5 (Depends-on):
4188         Depend conditionally on crypto/hmac-md5.
4189         * modules/crypto/gc-hmac-sha1 (Depends-on):
4190         Depend conditionally on crypto/hmac-sha1.
4191         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
4192         * modules/crypto/gc-md4 (Depends-on):
4193         Depend conditionally on crypto/md4.
4194         * modules/crypto/gc-md5 (Depends-on):
4195         Depend conditionally on crypto/md5.
4196         * modules/crypto/gc-rijndael (Depends-on):
4197         Depend conditionally on crypto/rijndael.
4198         * modules/crypto/gc-sha1 (Depends-on):
4199         Depend conditionally on crypto/sha1.
4200         * modules/crypto/gc-arcfour:
4201         * modules/crypto/gc-arctwo:
4202         * modules/crypto/gc-des:
4203         * modules/crypto/gc-hmac-md5:
4204         * modules/crypto/gc-hmac-sha1:
4205         * modules/crypto/gc-md2:
4206         * modules/crypto/gc-md4:
4207         * modules/crypto/gc-md5:
4208         * modules/crypto/gc-rijndael:
4209         * modules/crypto/gc-sha1:
4210         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
4211         now that the conditional dependencies do the work for us.
4212
4213 2011-11-17  Jim Meyering  <meyering@redhat.com>
4214
4215         tests: factor st_ctime-comparison out of two headers
4216         * tests/test-utimens-common.h (ctime_compare): Define.
4217         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
4218         * tests/test-lutimens.h (test_lutimens): Likewise.
4219         * tests/test-utimens.h (test_utimens): Likewise.
4220
4221         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
4222         Invoke the test program via an init.sh-using wrapper.
4223         * tests/test-getcwd.sh: New file.
4224         * modules/getcwd-tests (Files): Add it.
4225         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
4226
4227 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
4228
4229         gitlog-to-changelog: support multi-author commits.
4230         The FSF cares about keeping track of all authors of patches to its
4231         projects, but Git doesn't provide obvious support for multi-author
4232         changesets. Consensus seems to be forming around the use of extra
4233         Signed-off-by inspired lines in the log message formatted as
4234         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
4235         multi-author commits between version control systems.
4236         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
4237         log message and output in standard ChangeLog multi-author format.
4238         Reported by Peter Rosin <peda@lysator.liu.se>
4239
4240 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
4241             Bruno Haible  <bruno@clisp.org>
4242
4243         Fix some modules' file list.
4244         * modules/fstatat (Files): Add m4/lstat.m4.
4245         * modules/openat (Files): Likewise.
4246         * modules/unlinkat (Files): Likewise.
4247
4248 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
4249
4250         maint.mk: fix tight-scope.mk generation in VPATH builds.
4251         * top/maint.mk (tight-scope.mk): Make sure to prefix file
4252         reference with $(srcdir) so that the file is found correctly even
4253         when running `make syntax-check' in a VPATH build.
4254
4255 2011-11-13  Bruno Haible  <bruno@clisp.org>
4256             Jim Meyering  <meyering@redhat.com>
4257
4258         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
4259         * tests/init.sh (compare): Remove "No differences encountered" or
4260         synonymous output from the 'diff' program.
4261
4262 2011-11-13  Bruno Haible  <bruno@clisp.org>
4263
4264         Makefile: Tweak indentation.
4265         * Makefile: Use tab as first character in every line that contains rule
4266         commands.
4267
4268 2011-11-13  Bruno Haible  <bruno@clisp.org>
4269
4270         Syntax check for copyright statements.
4271         * check-copyright: New file.
4272         * Makefile (sc_check_copyright): New rule.
4273
4274 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4275
4276         * build-aux/git-version-gen: Add --prefix to configure the tag
4277         match string.
4278
4279 2011-11-13  Simon Josefsson  <simon@josefsson.org>
4280
4281         * build-aux/git-version-gen: Add --help and --version.
4282
4283 2011-11-12  Jim Meyering  <meyering@redhat.com>
4284
4285         revamp the other test-exclude?.sh scripts to use init.sh, too
4286         * tests/test-exclude1.sh: Use init.sh.
4287         * tests/test-exclude2.sh: Likewise.
4288         * tests/test-exclude3.sh: Likewise.
4289         * tests/test-exclude4.sh: Likewise.
4290         * tests/test-exclude5.sh: Likewise.
4291         * tests/test-exclude6.sh: Likewise.
4292         * tests/test-exclude7.sh: Likewise.
4293         * tests/test-exclude8.sh: Likewise.
4294         * modules/exclude-tests (Files): List init.sh.
4295
4296         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
4297         These shell scripts ignored failure of the binary test-exclude,
4298         so making the latter return 77 didn't cause them to be skipped.
4299         * tests/test-exclude5.sh: Exit with test-exclude's error status
4300         when that program fails.  Revamp to use init.sh.
4301         * tests/test-exclude2.sh: Likewise.
4302
4303         test-exclude: fix a typo
4304         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
4305
4306 2011-11-11  Bruno Haible  <bruno@clisp.org>
4307
4308         obstack: Fix compilation error on MSVC 9.
4309         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
4310
4311 2011-11-11  Jim Meyering  <meyering@redhat.com>
4312
4313         test-exclude: skip tests rather than failing on deficient systems
4314         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
4315         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
4316         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
4317         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
4318
4319 2011-11-10  Bruno Haible  <bruno@clisp.org>
4320
4321         ptsname_r test: Avoid gcc warning on glibc systems.
4322         * tests/test-ptsname_r.c (null_ptr): New function.
4323         (test_errors): Use it.
4324
4325 2011-11-10  Bruno Haible  <bruno@clisp.org>
4326
4327         ptsname_r: Avoid compilation error on OSF/1 5.1.
4328         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
4329         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
4330         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
4331         function is not declared or incompatibly declared.
4332         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
4333         * modules/ptsname_r (Depends-on, configure.ac): Update.
4334         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
4335
4336 2011-11-10  Bruno Haible  <bruno@clisp.org>
4337
4338         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
4339         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
4340         When cross-compiling, guess yes on all platforms except AIX.
4341         Reported by Ludovic Courtès <ludo@gnu.org>.
4342
4343 2011-11-09  Bruno Haible  <bruno@clisp.org>
4344
4345         ptsname_r tests: Fix bugs.
4346         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
4347         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
4348
4349 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
4350
4351         fstatat: work with cross-compilation
4352         Problem reported by Ludovic Courtès in
4353         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
4354         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
4355         "cross-compiling" and assume the bug is present.  Replace
4356         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
4357         an inverted sense, to be more conservative about our assumptions.
4358         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
4359
4360 2011-11-09  Bruno Haible  <bruno@clisp.org>
4361
4362         Improve MODULES.html output.
4363         * modules/mkfifoat (Description): Use the word "function".
4364         * modules/readlinkat (Description): Likewise.
4365         * modules/symlinkat (Description): Likewise.
4366
4367 2011-11-09  Eric Blake  <eblake@redhat.com>
4368
4369         ptsname_r-tests: new test module
4370         * modules/ptsname_r-tests: New module.
4371         * tests/test-ptsname_r.c: New file.
4372
4373         ptsname_r: new module
4374         * modules/ptsname_r: New module.
4375         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
4376         * lib/ptsname.c (__ptsname_r): Split...
4377         * lib/ptsname_r.c: ...into new file.
4378         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
4379         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
4380         * modules/stdlib (Makefile.am): Substitute witnesses.
4381         * lib/stdlib.in.h (ptsname_r): Declare it.
4382         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
4383         * MODULES.html.sh (Misc): Likewise.
4384         * modules/ptsname (Depends-on): Alter dependency.
4385         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
4386
4387 2011-11-09  Jim Meyering  <meyering@redhat.com>
4388
4389         announce-gen: be more concise when there's only one URL+tarball
4390         * build-aux/announce-gen (get_tool_versions): When you distribute
4391         only one type of tarball, combine the first two "Here are..."
4392         sections and make the key-checking grammar independent of
4393         how many tarballs there are.
4394
4395 2011-11-09  Eric Blake  <eblake@redhat.com>
4396
4397         openpty: provide a stub on mingw
4398         * lib/pty.in.h (includes): Provide forward declarations.
4399         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
4400
4401         raise: fix mingw handling of SIGPIPE
4402         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
4403
4404 2011-11-08  Bruno Haible  <bruno@clisp.org>
4405
4406         More conditional dependencies.
4407         * modules/faccessat (Depends-on): Add conditions.
4408         * modules/fchmodat (Depends-on): Likewise.
4409         * modules/fchownat (Depends-on): Likewise.
4410         * modules/fstatat (Depends-on): Likewise.
4411         * modules/mkfifoat (Depends-on): Likewise.
4412         * modules/readlinkat (Depends-on): Likewise.
4413         * modules/symlinkat (Depends-on): Likewise.
4414         * modules/unlinkat (Depends-on): Likewise.
4415         * modules/utimensat (Depends-on): Likewise.
4416         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
4417         * modules/linkat (Depends-on): Refine the conditions.
4418         * modules/renameat (Depends-on): Likewise.
4419
4420 2011-11-08  Bruno Haible  <bruno@clisp.org>
4421
4422         faccessat: Move AC_LIBOBJ invocation to module description.
4423         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
4424         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
4425         invocation from here...
4426         * modules/faccessat (configure.ac): ... to here. Invoke
4427         gl_PREREQ_FACCESSAT.
4428
4429 2011-11-08  Bruno Haible  <bruno@clisp.org>
4430
4431         faccessat: Simplify autoconf macro.
4432         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
4433         gl_FUNC_EUIDACCESS.
4434
4435 2011-11-08  Bruno Haible  <bruno@clisp.org>
4436
4437         renameat: Fix dependencies.
4438         * modules/renameat (Depends-on): Add stdbool.
4439
4440 2011-11-08  Bruno Haible  <bruno@clisp.org>
4441
4442         mkfifoat: Fix module description.
4443         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
4444         not gl_UNISTD_MODULE_INDICATOR.
4445
4446 2011-11-08  Bruno Haible  <bruno@clisp.org>
4447
4448         fstatat: Remove unused dependency.
4449         * modules/fstatat (Depends-on): Remove fstat.
4450
4451 2011-11-08  Simon Josefsson  <simon@josefsson.org>
4452
4453         GNUmakefile: behave when Makefile is missing.
4454         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
4455
4456 2011-11-08  Bruno Haible  <bruno@clisp.org>
4457
4458         openat: Conditionalize dependencies.
4459         * lib/openat.c: Reduce the scope of some #includes.
4460         * modules/openat (Depends-on): Add conditions.
4461
4462 2011-11-07  Jim Meyering  <meyering@redhat.com>
4463
4464         maint.mk: extract GPG key ID without using a temporary file
4465         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
4466         without using a temporary file.  Based on a suggestion from Werner Koch
4467         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
4468
4469 2011-11-07  Eric Blake  <eblake@redhat.com>
4470
4471         grantpt: fix typo
4472         * lib/stdlib.in.h (grantpt): Check correct function.
4473
4474         maint.mk: silence new syntax check
4475         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
4476
4477 2011-11-06  Bruno Haible  <bruno@clisp.org>
4478
4479         Doc about floating-point and math API.
4480         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
4481         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
4482
4483 2011-11-06  Bruno Haible  <bruno@clisp.org>
4484
4485         stdalign tests: Skip the test when compiled by Sun C.
4486         * tests/test-stdalign.c (main): Skip the test on Sun C.
4487
4488 2011-11-06  Bruno Haible  <bruno@clisp.org>
4489
4490         ansi-c++-opt: Complete the 2011-06-05 change.
4491         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
4492         does not support namespaces, set the variable to "no", not to ":".
4493
4494 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
4495
4496         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
4497
4498 2011-11-06  Bruno Haible  <bruno@clisp.org>
4499
4500         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
4501         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
4502         (minus_zerol) [HP-UX]: New macro.
4503         (unary_minus) [HP-UX]: New function.
4504         (copysignl) [HP-UX]: Use unary_minus function.
4505
4506 2011-11-06  Bruno Haible  <bruno@clisp.org>
4507
4508         ldexp, ldexpf, ldexpl: Enhance tests.
4509         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
4510         and tests/test-ldexpl.c.
4511         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
4512         LDEXP, MIN_EXP, MAX_EXP): New macros.
4513         Include test-ldexp.h.
4514         (main): Just call test_function.
4515         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
4516         infinity.h, nan.h.
4517         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4518         MAX_EXP): New macros.
4519         Include test-ldexp.h.
4520         (x, y): Remove variables.
4521         (main): Just call test_function.
4522         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
4523         infinity.h, nan.h.
4524         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
4525         MAX_EXP): New macros.
4526         Include test-ldexp.h.
4527         (x, y): Remove variables.
4528         (main): Just call test_function.
4529         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
4530         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
4531         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4532         (Depends-on): Add isnand-nolibm, signbit, float.
4533         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
4534         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
4535         (Depends-on): Add isnanf-nolibm, signbit, float.
4536
4537 2011-11-06  Bruno Haible  <bruno@clisp.org>
4538
4539         math tests: Cosmetics.
4540         * tests/test-math-c++.cc: Reorder declarations.
4541
4542 2011-11-05  Bruno Haible  <bruno@clisp.org>
4543
4544         fma*: Simplify test.
4545         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
4546         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
4547
4548         Tests for module 'fmal'.
4549         * modules/fmal-tests: New file.
4550         * tests/test-fmal1.c: New file.
4551         * tests/test-fmal2.c: New file.
4552
4553         New module 'fmal'.
4554         * lib/math.in.h (fmal): New declaration.
4555         * lib/fmal.c: New file.
4556         * m4/fmal.m4: New file.
4557         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
4558         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
4559         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
4560         REPLACE_FMAL.
4561         * modules/fmal: New file.
4562         * doc/posix-functions/fmal.texi: Mention the new module and the various
4563         bugs.
4564
4565         Tests for module 'fmaf'.
4566         * modules/fmaf-tests: New file.
4567         * tests/test-fmaf1.c: New file.
4568         * tests/test-fmaf2.c: New file.
4569
4570         New module 'fmaf'.
4571         * lib/math.in.h (fmaf): New declaration.
4572         * lib/fmaf.c: New file.
4573         * m4/fmaf.m4: New file.
4574         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
4575         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
4576         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
4577         REPLACE_FMAF.
4578         * modules/fmaf: New file.
4579         * doc/posix-functions/fmaf.texi: Mention the new module and the various
4580         bugs.
4581
4582         Tests for module 'fma'.
4583         * modules/fma-tests: New file.
4584         * tests/test-fma1.c: New file.
4585         * tests/test-fma1.h: New file.
4586         * tests/test-fma2.c: New file.
4587         * tests/test-fma2.h: New file.
4588
4589         New module 'fma'.
4590         * lib/math.in.h (fma): New declaration.
4591         * lib/fma.c: New file.
4592         * m4/fma.m4: New file.
4593         * m4/fegetround.m4: New file.
4594         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
4595         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
4596         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
4597         REPLACE_FMA.
4598         * modules/fma: New file.
4599         * doc/posix-functions/fma.texi: Mention the new module and the various
4600         bugs.
4601
4602         Extend gl_MATHFUNC.
4603         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
4604         Support 'void' as argument type.
4605         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
4606
4607 2011-11-05  Jim Meyering  <meyering@redhat.com>
4608
4609         maint.mk: also prohibit inclusion of dirent.h without use
4610         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
4611
4612 2011-11-05  Bruno Haible  <bruno@clisp.org>
4613
4614         ldexpl tests: Avoid test failure on MSVC 9.
4615         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
4616         value. Needed in order to enforce the conversion from a value greater
4617         than LDBL_MAX to Infinity.
4618
4619 2011-11-05  Bruno Haible  <bruno@clisp.org>
4620
4621         New modules 'at-internal', 'openat-h', split off from module 'openat'.
4622         * modules/at-internal: New file, extracted from modules/openat.
4623         * modules/openat-h: New file.
4624         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
4625         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
4626         * modules/openat (Description): Add reference to POSIX function.
4627         (Files): Remove lib/openat.h, lib/openat-proc.c.
4628         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
4629         intprops, unistd.
4630         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
4631         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
4632         gl_FCNTL_MODULE_INDICATOR.
4633         (Include): Remove unistd.h, openat.h.
4634         * modules/areadlinkat (Files): Add lib/at-func.c.
4635         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4636         openat-die, openat-h, save-cwd.
4637         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
4638         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4639         openat-die, openat-h, save-cwd, unistd.
4640         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
4641         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4642         openat-h, save-cwd. Remove fcntl-h, openat.
4643         * modules/fchmodat (Files): Remove lib/openat.h.
4644         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4645         openat, stdbool, unistd.
4646         * modules/fchownat (Files): Remove lib/openat.h.
4647         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4648         openat, stdbool, sys_stat.
4649         * modules/fdopendir (Files): Remove lib/openat-priv.h,
4650         lib/openat-proc.c.
4651         (Depends-on): Add at-internal.
4652         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
4653         * modules/fstatat (Files): Remove lib/openat.h.
4654         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
4655         stdbool, unistd.
4656         * modules/fts (Depends-on): Add openat-h.
4657         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
4658         openat.
4659         * modules/mkdirat (Files): Remove lib/openat.h.
4660         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
4661         openat, stdbool, sys_stat.
4662         * modules/mkfifoat (Files): Add lib/at-func.c.
4663         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4664         openat-h, save-cwd. Remove fcntl-h, openat.
4665         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
4666         * modules/readlinkat (Files): Add lib/at-func.c.
4667         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4668         openat-h, save-cwd. Remove fcntl-h, openat.
4669         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
4670         openat.
4671         * modules/selinux-at (Files): Add lib/at-func.c.
4672         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
4673         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
4674         * modules/symlinkat (Files): Add lib/at-func.c.
4675         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
4676         openat-h, save-cwd. Remove fcntl-h, openat.
4677         * modules/unlinkat (Files): Remove lib/openat.h.
4678         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
4679         stdbool.
4680         * modules/utimensat (Files): Add lib/at-func.c.
4681         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
4682         openat-die, openat-h, save-cwd.
4683         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
4684         * modules/fdutimensat-tests (Depends-on): Add openat.
4685         * modules/fstatat-tests (Depends-on): Add openat-h.
4686         * modules/readlinkat-tests (Depends-on): Add openat.
4687         * modules/symlinkat-tests (Depends-on): Add openat.
4688
4689 2011-11-05  Bruno Haible  <bruno@clisp.org>
4690
4691         openat: Include <stdbool.h>.
4692         * lib/openat.c: Include <stdbool.h>.
4693
4694 2011-11-04  Bruno Haible  <bruno@clisp.org>
4695
4696         fchownat, renameat, unlinkat: Fix dependencies.
4697         * modules/fchownat (Depends-on): Add fstatat.
4698         * modules/renameat (Depends-on): Likewise.
4699         * modules/unlinkat (Depends-on): Likewise.
4700
4701 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
4702
4703         openat: remove direct dependency on dirent
4704         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
4705         and hasn't been needed ever since fdopendir was split into its own
4706         module on 2009-08-31.
4707         * modules/openat (Depends-on): Remove dirent.
4708
4709 2011-11-04  Bruno Haible  <bruno@clisp.org>
4710
4711         renameat: Optimize code size.
4712         * modules/renameat (configure.ac): Don't compile at-func2.c if
4713         REPLACE_RENAMEAT is 1.
4714
4715 2011-11-04  Bruno Haible  <bruno@clisp.org>
4716
4717         openat tests: Fix file list.
4718         * modules/openat-tests (Files): Add tests/test-open.h.
4719
4720 2011-11-04  Bruno Haible  <bruno@clisp.org>
4721
4722         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
4723         * modules/fchmodat (Depends-on): Add openat-die.
4724         * modules/fchownat (Depends-on): Likewise.
4725         * modules/linkat (Depends-on): Likewise.
4726         * modules/renameat (Depends-on): Likewise.
4727         * modules/openat (Depends-on): Add dirent.
4728
4729 2011-11-04  Jim Meyering  <meyering@redhat.com>
4730
4731         at-func*.c: fix comments
4732         * lib/at-func2.c: Correct/improve first-line comment.
4733         * lib/at-func.c: Correct grammar in first-line comment.
4734
4735 2011-11-04  Bruno Haible  <bruno@clisp.org>
4736
4737         New module 'mkdirat', split off from module 'openat'.
4738         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
4739         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
4740         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
4741         * modules/mkdirat: New file, extracted from modules/openat.
4742         * modules/openat (Files): Remove lib/mkdirat.c.
4743         (Depends-on): Remove mkdir.
4744         (configure.ac): Remove AC_LIBOBJ of mkdirat.
4745         (Include): Remove <sys/stat.h>.
4746         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
4747         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
4748         tests/test-mkdir.h.
4749         (Depends-on): Remove ignore-value.
4750         (Makefile.am): Remove rules for test-mkdirat.
4751         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
4752         of module 'openat'.
4753         * NEWS: Mention the change.
4754
4755 2011-11-04  Bruno Haible  <bruno@clisp.org>
4756
4757         closedir: Avoid warning on mingw.
4758         * lib/closedir.c: Include <unistd.h>.
4759
4760 2011-11-04  Bruno Haible  <bruno@clisp.org>
4761
4762         New module 'fstatat', split off from module 'openat'.
4763         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
4764         defined.
4765         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
4766         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
4767         gl_FUNC_FSTATAT.
4768         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
4769         * modules/fstatat: New file, extracted from modules/openat.
4770         * modules/openat (Files): Remove lib/fstatat.c.
4771         (Depends-on): Remove lstat.
4772         (configure.ac): Remove AC_LIBOBJ of fstatat.
4773         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
4774         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
4775         tests/test-lstat.h, tests/test-stat.h.
4776         (Depends-on): Remove getcwd-lgpl.
4777         (Makefile.am): Remove rules for test-fstatat.
4778         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
4779         of module 'openat'.
4780         * NEWS: Mention the change.
4781         * modules/getcwd (Depends-on): Add fstatat.
4782         * modules/linkat (Depends-on): Likewise.
4783         * modules/mkfifoat-tests (Depends-on): Likewise.
4784         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
4785
4786 2011-11-03  Bruno Haible  <bruno@clisp.org>
4787
4788         New module 'unlinkat', split off from module 'openat'.
4789         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
4790         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
4791         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
4792         * modules/unlinkat: New file, extracted from modules/openat. Correct
4793         the dependency conditions.
4794         * modules/openat (Files): Remove lib/unlinkat.c.
4795         (Depends-on): Remove rmdir, unlink.
4796         (configure.ac): Remove AC_LIBOBJ of unlinkat.
4797         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
4798         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
4799         tests/test-rmdir.h, tests/test-unlink.h.
4800         (Depends-on): Remove unlinkdir.
4801         (Makefile.am): Remove rules for test-unlinkat.
4802         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
4803         of module 'openat'.
4804         * NEWS: Mention the change.
4805         * modules/linkat-tests (Depends-on): Add unlinkat.
4806         * modules/mkfifoat-tests (Depends-on): Likewise.
4807         * modules/readlinkat-tests (Depends-on): Likewise.
4808
4809 2011-11-02  Bruno Haible  <bruno@clisp.org>
4810
4811         New module 'fchmodat', split off from module 'openat'.
4812         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
4813         defined.
4814         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
4815         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
4816         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
4817         * modules/fchmodat: New file, extracted from modules/openat.
4818         * modules/openat (Files): Remove lib/fchmodat.c.
4819         (configure.ac): Remove AC_LIBOBJ of fchmodat.
4820         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
4821         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
4822         (Makefile.am): Remove rules for test-fchmodat.
4823         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
4824         of module 'openat'.
4825         * NEWS: Mention the change.
4826
4827 2011-11-02  Jim Meyering  <meyering@redhat.com>
4828
4829         putenv: indent #definition of "environ" to placate cppi
4830         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
4831
4832         gitlog-to-changelog: provide a ChangeLog-repair mechanism
4833         Git logs are often treated as immutable, because editing them
4834         changes the SHA1 checksums of all descendants.  Thus, errors in
4835         git logs tend to stay there forever.  However, when we generate
4836         a ChangeLog file -- typically for distribution -- from that git log,
4837         we can actually make corrections in the generated file.  The key
4838         lies in recording in machine-readable/applicable form the desired
4839         corrections.  See --help for description and an example.
4840         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
4841         (usage): Describe it; alphabetize option descriptions.
4842         (main): Honor the new option, carefully.
4843
4844 2011-11-01  Jim Meyering  <meyering@redhat.com>
4845
4846         gitlog-to-changelog: avoid an infloop
4847         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
4848         that ends up being empty.
4849
4850 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
4851
4852         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
4853         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
4854         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
4855         contains (possibly-quoted) backslashes.  This should avoid
4856         all-too-common shell bugs if COMPLICATED contains backslashes in
4857         the "wrong" places.  Reported by David Evans in
4858         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
4859         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
4860         because we want ASCII ranges.  Is there some reason we don't use
4861         the C locale everywhere in this script?
4862         (func_module, top level): Avoid unwanted pathname expansion when
4863         $repo_url_prefix or $repo_url_suffix_repl contain shell
4864         metacharacters like '?' and '*'.
4865
4866 2011-11-01  Bruno Haible  <bruno@clisp.org>
4867
4868         fchownat: Improve description.
4869         * modules/fchownat (Description): Add link to function.
4870
4871 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
4872
4873         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
4874         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
4875         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
4876         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
4877
4878 2011-11-01  Bruno Haible  <bruno@clisp.org>
4879
4880         alignof: Avoid collision with stdalign module.
4881         * lib/alignof.h (alignof): Remove macro.
4882         * NEWS: Mention the change.
4883         Reported by Paul Eggert.
4884
4885 2011-11-01  Bruno Haible  <bruno@clisp.org>
4886
4887         New module 'fchownat', split off from module 'openat'.
4888         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
4889         defined.
4890         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
4891         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
4892         invoke gl_FUNC_FCHOWNAT.
4893         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
4894         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
4895         * modules/fchownat: New file, extracted from modules/openat.
4896         * modules/openat (Files): Remove lib/fchownat.c.
4897         (Depends-on): Remove lchown.
4898         (configure.ac): Remove AC_LIBOBJ of fchownat.
4899         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
4900         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
4901         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
4902         (Depends-on): Remove mgetgroups, usleep, stat-time.
4903         (configure.ac): Remove test for getegid.
4904         (Makefile.am): Remove rules for test-fchownat.
4905         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
4906         of module 'openat'.
4907         * NEWS: Mention the change.
4908
4909 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
4910
4911         stdalign: port better to MSVC and to Sun C 5.11
4912         This fixes some of the problems reported by Bruno Haible in
4913         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
4914         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
4915         shortcomings of MSVC and of Sun C 5.11.
4916         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
4917         around __declspec arg.
4918         * modules/stdalign-tests (Files): Add tests/macros.h.
4919         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
4920         Include macros.h, for ASSERT.
4921         (DECLARE_ALIGNED): Remove.
4922         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
4923         to catch bug), and to 1 if not (simplifies the rest of the code).
4924         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
4925         (CHECK_AUTO): Remove.
4926         (CHECK_ALIGNED): Check only the alignment of the static vars,
4927         since auto var alignment isn't supported by Sun C 5.11.
4928         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
4929         ASSERT failures are easier to diagnose.
4930
4931 2011-10-31  Bruno Haible  <bruno@clisp.org>
4932
4933         doc about some IRIX 5.3 problems.
4934         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
4935         on IRIX 5.3.
4936         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
4937         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
4938         5.3.
4939         * doc/posix-functions/grantpt.texi: Likewise.
4940         * doc/posix-functions/unlockpt.texi: Likewise.
4941         * doc/posix-functions/lgamma.texi: Likewise.
4942         * doc/posix-functions/nextafter.texi: Likewise.
4943         * doc/posix-functions/remainder.texi: Likewise.
4944         * doc/posix-functions/select.texi: Mention misplaced declaration on
4945         IRIX 5.3.
4946         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
4947
4948 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
4949
4950         gitlog-to-changelog: fix git-log invocation.
4951         git-log mishandles date strings before 1970-01-01 UTC, and there is
4952         no use to specify --since=1970-01-01 by default anyway.
4953         * build-aux/gitlog-to-changelog: By default, when no --since option
4954         was given, do not specify explicit --since option to git-log.
4955
4956 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
4957
4958         gitlog-to-changelog: new option --append-dot.
4959         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
4960         first non-blank line of each commit message terminated with a dot.
4961
4962 2011-10-30  Bruno Haible  <bruno@clisp.org>
4963
4964         ffsl, ffsll: Avoid compilation error due to 'restrict'.
4965         * lib/ffsl.h: Include <config.h>.
4966         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
4967
4968 2011-10-30  Jim Meyering  <meyering@redhat.com>
4969
4970         GNUmakefile: reenable "make syntax-check" for most projects
4971         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
4972         build-aux variable", "syntax-check" would do nothing but succeed with
4973         the "No version control files detected..." diagnostic (unless you
4974         happened to override _build-aux via cfg.mk).
4975         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
4976         to precede inclusion of maint.mk.  Otherwise, these variables would
4977         be used undefined in any project that does not override the default.
4978
4979 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
4980
4981         gitlog-to-changelog: treat a message with only blank lines as empty.
4982         * build-aux/gitlog-to-changelog: Move the code that removes leading and
4983         trailing blank lines before the code that issues a warning about an
4984         empty commit message.
4985
4986 2011-10-30  Jim Meyering  <meyering@redhat.com>
4987
4988         test-parse-datetime.c: avoid new DST-related false positive test failure
4989         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
4990         based on the time/date we'll convert, not the current time.
4991         Otherwise, the moment we cross a DST boundary like today's in
4992         Europe, (CEST to CET), that offset ends up being one hour off.
4993
4994 2011-10-27  Bruno Haible  <bruno@clisp.org>
4995
4996         fstat: Tweak documentation.
4997         * modules/fstat (Description): More precise description.
4998
4999 2011-10-27  Bruno Haible  <bruno@clisp.org>
5000
5001         Update documentation regarding 'largefile' module.
5002         * doc/posix-functions/fstat.texi: Tweak wording.
5003         * doc/posix-functions/opendir.texi: Mention that the module fixes the
5004         problems with huge directories and/or small ino_t types.
5005         * doc/posix-functions/readdir.texi: Likewise.
5006         * doc/posix-functions/rewinddir.texi: Likewise.
5007
5008 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
5009
5010         maint.mk: don't maintain a second build-aux variable.
5011         * maint.mk (build_aux): Removed.  The maintainer-makefile module
5012         depends on GNUmakefile, which already maintains a cfg.mk
5013         overridable $(_build-aux) for projects with a non-standard
5014         build-aux directory location, although without the $(srcdir)
5015         prefix.  Use that variable consistently instead of introducing a
5016         second one.  Adjust all call sites.
5017
5018 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
5019
5020         Add stdalign module and use it in other modules.
5021         This is based on a previous proposal by Bruno Haible
5022         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
5023
5024         stdalign: new module
5025         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
5026         * modules/stdalign: New files.
5027         * MODULES.html.sh (c1x_core_properties): Add stdalign.
5028         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
5029
5030         stdalign-tests: new module
5031         * modules/stdalign-tests, tests/test-stdalign.c: New files.
5032
5033         argp: use stdalign
5034         * lib/argp-parse.c: Include <stdalign.h>.
5035         (alignof): Remove.
5036         * modules/argp (Depends-on): Add stdalign.
5037
5038         crypto libraries: use stdalign
5039         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
5040         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
5041         Do not include <stdlib.h> twice, in md4.c.
5042         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
5043         because we are accessing a pointer's bit-pattern, not a size.
5044         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
5045         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
5046         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
5047         * modules/crypto/sha512: Likewise.
5048
5049         sys_socket: use stdalign, not alignof
5050         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
5051         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
5052
5053 2011-10-27  Bruno Haible  <bruno@clisp.org>
5054
5055         raise test: Avoid a test failure on Linux/MIPS.
5056         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
5057         because 99 is a valid signal on Linux/MIPS.
5058
5059 2011-10-27  Bruno Haible  <bruno@clisp.org>
5060
5061         nonblocking tests: Fix test failure on Linux/MIPS.
5062         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
5063         Set to 270000.
5064
5065 2011-10-27  Bruno Haible  <bruno@clisp.org>
5066
5067         utimensat: Work around problem on Linux/hppa.
5068         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
5069         values.
5070         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
5071
5072 2011-10-25  Jim Meyering  <meyering@redhat.com>
5073
5074         maint.mk: fix a bug in sc_prohibit_stddef_without_use
5075         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
5076         after symbols like NULL, size_t, etc.
5077         Reported by Alfred M. Szmidt.
5078
5079         maint.mk: exempt ENODATA from a syntax-check rule
5080         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
5081         from the sc_prohibit_always-defined_macros syntax-check rule.
5082         Add a comment.  See this for more details:
5083         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
5084
5085 2011-10-23  Jim Meyering  <meyering@redhat.com>
5086
5087         fts: close parent dir FD before returning from post-traversal fts_read
5088         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
5089         unlink A, even though an FD open on A remained.  This is suboptimal
5090         (holding a file descriptor open longer than needed), but otherwise not
5091         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
5092         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
5093         that represents a real problem: it causes the removal of A to fail
5094         with e.g., "rm: cannot remove `A': Device or resource busy"
5095
5096         fts visits each directory twice and keeps a cache (fts_fd_ring) of
5097         directory file descriptors.  After completing the final, FTS_DP,
5098         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
5099         cache, but then proceeded to add a new FD to it via the subsequent
5100         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
5101         final file descriptor would be closed only via fts_close's call to
5102         fd_ring_clear.  Now, it is usually closed earlier, via the final
5103         FTS_DP-returning fts_read call.
5104         * lib/fts.c (restore_initial_cwd): New function, converted from
5105         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
5106         Update callers.
5107         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
5108         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
5109
5110 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
5111             Bruno Haible  <bruno@clisp.org>
5112             Jim Meyering  <jim@meyering.net>
5113
5114         readme-release: improve safety of release prep instructions.
5115         * README-release: Don't git pull all branches when only master
5116         is needed for the release process.
5117         Run make maintainer-clean before changing trees and merging.
5118         Don't try to run ./configure right after git pull in case files
5119         that influence the bootstrap process have changed, move the
5120         ./configure step to after running ./bootstrap.
5121         Don't bootstrap "one last time"... it's the first time!
5122
5123 2011-10-22  Bruno Haible  <bruno@clisp.org>
5124
5125         errno, strerror-override: Support for MSVC 10.
5126         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
5127         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
5128         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
5129         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
5130         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
5131         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
5132         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
5133         Assign values compatible with MSVC 10.
5134         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
5135         New macros.
5136         (GNULIB_defined_EWINSOCK): New macro.
5137         * lib/strerror-override.c (strerror_override): Update accordingly.
5138         * lib/strerror-override.h: Likewise.
5139         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
5140         longer equal to the corresponding errno value.
5141         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5142
5143 2011-10-22  Bruno Haible  <bruno@clisp.org>
5144
5145         perror: Recognize when test program crashes.
5146         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
5147         strerror, set gl_cv_func_perror_works to no.
5148         Reported by Daniel Richard G. <skunk@iskunk.org>.
5149
5150         perror: Fix indentation.
5151         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
5152
5153 2011-10-22  Bruno Haible  <bruno@clisp.org>
5154
5155         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
5156         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
5157         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
5158         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
5159         functions, not as a macro.
5160         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
5161         macros.
5162         (isfinite, isinf, isnan, signbit): Check overloaded functions and
5163         absence of macro.
5164         Suggested by Eric Blake.
5165         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5166
5167 2011-10-21  Bruno Haible  <bruno@clisp.org>
5168
5169         relocatable-prog-wrapper: Don't leave object files behind.
5170         * build-aux/install-reloc: Re-synchronize list of .o files to be
5171         removed with list of compilation units.
5172
5173 2011-10-20  Bruno Haible  <bruno@clisp.org>
5174
5175         openpty, posix_openpt: Remove code duplication.
5176         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
5177         * lib/openpty.c: Include <stdlib.h>.
5178         (openpty): Use posix_openpt on all platforms except IRIX.
5179         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
5180
5181 2011-10-20  Bruno Haible  <bruno@clisp.org>
5182
5183         unlockpt: Detect invalid argument.
5184         * lib/unlockpt.c: Include <fcntl.h>.
5185         (unlockpt): Check whether fd is valid, using fcntl().
5186         * modules/unlockpt (Depends-on): Add fcntl-h.
5187
5188 2011-10-20  Bruno Haible  <bruno@clisp.org>
5189
5190         openpty: Avoid compilation error on AIX 6.1.
5191         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
5192
5193 2011-10-20  Bruno Haible  <bruno@clisp.org>
5194
5195         posix_openpt: Support for OpenBSD.
5196         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
5197         (posix_openpt) [OpenBSD]: New code.
5198         * lib/grantpt.c: Include <fcntl.h>.
5199         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
5200         * modules/grantpt (Depends-on): Add fcntl-h.
5201
5202 2011-10-20  Bruno Haible  <bruno@clisp.org>
5203
5204         posix_openpt test: Coding style.
5205         * tests/test-posix_openpt.c: Use GNU coding style.
5206
5207 2011-10-20  Bruno Haible  <bruno@clisp.org>
5208
5209         grantpt: Support --avoid=pt_chown.
5210         * modules/grantpt (Files): Add lib/pty-private.h.
5211
5212 2011-10-20  Bruno Haible  <bruno@clisp.org>
5213
5214         posix_openpt: Fix autoconf macro.
5215         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
5216         unneeded check for _getpty.
5217
5218 2011-10-20  Bruno Haible  <bruno@clisp.org>
5219
5220         openpty: Update comments.
5221         * lib/openpty.c: Add comments about Minix.
5222
5223 2011-10-19  Eric Blake  <eblake@redhat.com>
5224
5225         openpty: relax license
5226         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
5227
5228         pt_chown: use configmake to simplify build
5229         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
5230
5231         ptsname and others: relax license
5232         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
5233         * modules/unlockpt (License): Likewise.
5234         * modules/pt_chown (License): Likewise.
5235         * modules/ptsname (License): Likewise.
5236         * modules/ttyname_r (License): Likewise.
5237
5238 2011-10-19  Jim Meyering  <meyering@redhat.com>
5239
5240         posix_openpt: remove spurious #endif
5241         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
5242
5243 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
5244
5245         maint.mk: Respect $(build_aux) in web-manual rule.
5246         * top/maint.mk (web-manual): Find gen-announce script in user's
5247         $(build_aux) directory instead of hard-coding 'build-aux'.
5248
5249 2011-10-19  Bruno Haible  <bruno@clisp.org>
5250
5251         posix_openpt: Fix compilation error.
5252         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
5253         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
5254         Mention the openpty module as an alternative.
5255
5256 2011-10-19  Bruno Haible  <bruno@clisp.org>
5257
5258         Support for old NeXTstep 3.3 frexp().
5259         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
5260         execution time of the test to 5 seconds.
5261         Reported by Daniel Richard G. <skunk@iskunk.org>.
5262
5263 2011-10-19  Bruno Haible  <bruno@clisp.org>
5264
5265         Support for old NeXTstep 3.3 sed.
5266         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
5267         part, use /.../, not \|...|. Escape periods in the header file name.
5268         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
5269         Reported by Daniel Richard G. <skunk@iskunk.org>.
5270
5271 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5272
5273         Support for old NeXTstep 3.3 gcc.
5274         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
5275         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
5276         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
5277         * lib/spawn.in.h (_Restrict_arr_): Likewise.
5278         * lib/regex.h (_Restrict_arr_): Likewise.
5279         * lib/regex_internal.h (re_token_t): Likewise.
5280         * lib/regexec.c (check_node_accept_bytes): Likewise.
5281         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
5282
5283 2011-10-18  Eric Blake  <eblake@redhat.com>
5284
5285         posix_openpt: new module
5286         * modules/posix_openpt: New module.
5287         * m4/posix_openpt.m4: New file.
5288         * lib/posix_openpt.c: Likewise.
5289         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
5290         (gl_STDLIB_H_DEFAULTS): Set defaults.
5291         * modules/stdlib (Makefile.am): Substitute macros.
5292         * lib/stdlib.in.h (posix_openpt): Declare.
5293         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
5294         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
5295         * modules/posix_openpt-tests: New test module.
5296         * tests/test-posix_openpt.c: New test.
5297
5298 2011-10-15  Bruno Haible  <bruno@clisp.org>
5299
5300         xstrtoll: Fix compilation failure.
5301         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
5302         from lib/strtol.c.
5303         * doc/posix-headers/limits.texi: Mention missing numerical limits on
5304         some platforms.
5305         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
5306
5307 2011-10-15  Bruno Haible  <bruno@clisp.org>
5308
5309         vasnprintf: Optimize bit search operation.
5310         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
5311         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
5312         gl_DOUBLE_EXPONENT_LOCATION.
5313         * modules/vasnprintf (Files): Add m4/exponentd.m4.
5314         * modules/unistdio/u8-vasnprintf (Files): Likewise.
5315         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
5316         * modules/unistdio/u16-vasnprintf (Files): Likewise.
5317         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
5318         * modules/unistdio/u32-vasnprintf (Files): Likewise.
5319         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
5320         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
5321         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
5322
5323 2011-10-15  Bruno Haible  <bruno@clisp.org>
5324
5325         vasnprintf: Fix comments.
5326         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
5327
5328 2011-10-14  Bruno Haible  <bruno@clisp.org>
5329
5330         Tests for module 'integer_length_ll'.
5331         * modules/integer_length_ll-tests: New file.
5332         * tests/test-integer_length_ll.c: New file.
5333
5334         New module 'integer_length_ll'.
5335         * lib/integer_length_ll.c: New file.
5336         * modules/integer_length_ll: New file.
5337
5338 2011-10-14  Bruno Haible  <bruno@clisp.org>
5339
5340         Tests for module 'integer_length_l'.
5341         * modules/integer_length_l-tests: New file.
5342         * tests/test-integer_length_l.c: New file.
5343
5344         New module 'integer_length_l'.
5345         * lib/integer_length_l.c: New file.
5346         * modules/integer_length_l: New file.
5347
5348 2011-10-14  Bruno Haible  <bruno@clisp.org>
5349
5350         Tests for module 'integer_length'.
5351         * modules/integer_length-tests: New file.
5352         * tests/test-integer_length.c: New file.
5353
5354         New module 'integer_length'.
5355         * lib/integer_length.h: New file.
5356         * lib/integer_length.c: New file.
5357         * modules/integer_length: New file.
5358
5359 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5360
5361         popen: Fix dependency conditions.
5362         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
5363
5364 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
5365
5366         perror: Fix autoconf test.
5367         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
5368         <stdlib.h> and <string.h>.
5369
5370 2011-10-14  Bruno Haible  <bruno@clisp.org>
5371
5372         ffsl: Optimize on 64-bit platforms.
5373         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
5374         unrolling.
5375
5376 2011-10-13  Bruno Haible  <bruno@clisp.org>
5377
5378         ffsl: Optimize on 32-bit platforms.
5379         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
5380         use ffs() without a loop.
5381
5382         ffsl, ffsll: Optimize for GCC.
5383         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
5384         * lib/ffsl.c (GCC_BUILTIN): New macro.
5385         * lib/ffsll.c (GCC_BUILTIN): Likewise.
5386
5387 2011-10-13  Bruno Haible  <bruno@clisp.org>
5388
5389         ffs, bcopy, memset: Support symbol renaming via config.h.
5390         * lib/ffs.c: Include <config.h>.
5391         * lib/bcopy.c: Likewise.
5392         * lib/memset.c: Likewise.
5393
5394 2011-10-10  Bruno Haible  <bruno@clisp.org>
5395
5396         atanl: Simplify for platforms where 'long double' == 'double'.
5397         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5398         alternative implementation.
5399         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5400         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5401         * modules/atanl (Depends-on): Add atan. Update conditions.
5402
5403 2011-10-10  Bruno Haible  <bruno@clisp.org>
5404
5405         acosl: Simplify for platforms where 'long double' == 'double'.
5406         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5407         alternative implementation.
5408         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5409         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5410         * modules/acosl (Depends-on): Add acos. Update conditions.
5411
5412 2011-10-10  Bruno Haible  <bruno@clisp.org>
5413
5414         asinl: Simplify for platforms where 'long double' == 'double'.
5415         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5416         alternative implementation.
5417         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5418         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5419         * modules/asinl (Depends-on): Add asin. Update conditions.
5420
5421 2011-10-10  Bruno Haible  <bruno@clisp.org>
5422
5423         tanl: Simplify for platforms where 'long double' == 'double'.
5424         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5425         implementation.
5426         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5427         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5428         * modules/tanl (Depends-on): Add tan. Update conditions.
5429         (configure.ac): Don't compile trigl.c if
5430         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5431
5432 2011-10-10  Bruno Haible  <bruno@clisp.org>
5433
5434         cosl: Simplify for platforms where 'long double' == 'double'.
5435         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5436         implementation.
5437         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5438         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5439         * modules/cosl (Depends-on): Add cos. Update conditions.
5440         (configure.ac): Don't compile sincosl.c and trigl.c if
5441         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5442
5443 2011-10-10  Bruno Haible  <bruno@clisp.org>
5444
5445         sinl: Simplify for platforms where 'long double' == 'double'.
5446         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5447         implementation.
5448         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5449         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5450         * modules/sinl (Depends-on): Add sin. Update conditions.
5451         (configure.ac): Don't compile sincosl.c and trigl.c if
5452         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5453
5454 2011-10-10  Bruno Haible  <bruno@clisp.org>
5455
5456         logl: Simplify for platforms where 'long double' == 'double'.
5457         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5458         implementation.
5459         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5460         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5461         * modules/logl (Depends-on): Add log. Update conditions.
5462
5463 2011-10-10  Bruno Haible  <bruno@clisp.org>
5464
5465         expl: Simplify for platforms where 'long double' == 'double'.
5466         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
5467         implementation.
5468         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5469         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5470         * modules/expl (Depends-on): Add exp. Update conditions.
5471
5472 2011-10-10  Bruno Haible  <bruno@clisp.org>
5473
5474         sqrtl: Simplify for platforms where 'long double' == 'double'.
5475         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5476         alternative implementation.
5477         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5478         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5479         * modules/sqrtl (Depends-on): Update conditions.
5480
5481 2011-10-10  Bruno Haible  <bruno@clisp.org>
5482
5483         ldexpl: Simplify for platforms where 'long double' == 'double'.
5484         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5485         alternative implementation.
5486         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5487         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5488         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
5489
5490 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
5491
5492         ffsll: set correct witness
5493         * modules/ffsll (configure.ac): Fix typo.
5494
5495 2011-10-10  Bruno Haible  <bruno@clisp.org>
5496
5497         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
5498         * lib/printf-frexpl.c: Include <config.h>.
5499         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5500         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
5501         second time.
5502         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
5503         gl_LONG_DOUBLE_VS_DOUBLE.
5504         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
5505         conditions.
5506
5507 2011-10-10  Bruno Haible  <bruno@clisp.org>
5508
5509         frexpl: Simplify for platforms where 'long double' == 'double'.
5510         * lib/frexpl.c: Include <config.h>.
5511         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5512         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5513         time.
5514         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5515         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5516         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
5517         * modules/frexpl (Depends-on): Add frexp. Update conditions.
5518         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
5519         conditions.
5520
5521 2011-10-10  Jim Meyering  <meyering@redhat.com>
5522
5523         test-renameat: don't leave behind a temporary file
5524         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
5525           ERROR: files left in build directory after distclean:
5526           ./gltests/test-renameat.too
5527           make[1]: *** [distcleancheck] Error 1
5528         Reported by Tom G. Christensen.
5529
5530 2011-10-09  Bruno Haible  <bruno@clisp.org>
5531
5532         rint: Determine RINT_LIBM correctly on AIX 7.
5533         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
5534         directly, not only through a function pointer. Also accept an optional
5535         4th argument with extra code.
5536         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
5537         rintf() call by gcc when optimizing.
5538
5539         mathfunc.m4: Refactor.
5540         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
5541         m4 variable.
5542
5543 2011-10-09  Bruno Haible  <bruno@clisp.org>
5544
5545         rintl: Simplify for platforms where 'long double' == 'double'.
5546         * lib/rintl.c: Include <config.h>.
5547         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5548         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5549         time.
5550         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5551         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5552         * modules/rintl (Depends-on): Add rint. Update conditions.
5553
5554 2011-10-09  Bruno Haible  <bruno@clisp.org>
5555
5556         roundl: Simplify for platforms where 'long double' == 'double'.
5557         * lib/roundl.c: Include <config.h>.
5558         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5559         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5560         time.
5561         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5562         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5563         * modules/roundl (Depends-on): Add round. Update conditions.
5564
5565 2011-10-09  Bruno Haible  <bruno@clisp.org>
5566
5567         truncl: Simplify for platforms where 'long double' == 'double'.
5568         * lib/truncl.c: Include <config.h>.
5569         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5570         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5571         time.
5572         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5573         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5574         * modules/truncl (Depends-on): Add trunc. Update conditions.
5575
5576 2011-10-09  Bruno Haible  <bruno@clisp.org>
5577
5578         ceill: Simplify for platforms where 'long double' == 'double'.
5579         * lib/ceill.c: Include <config.h>.
5580         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5581         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5582         time.
5583         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5584         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5585         * modules/ceill (Depends-on): Add ceil. Update conditions.
5586
5587 2011-10-09  Bruno Haible  <bruno@clisp.org>
5588
5589         floorl: Simplify for platforms where 'long double' == 'double'.
5590         * lib/floorl.c: Include <config.h>.
5591         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
5592         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
5593         time.
5594         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5595         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5596         * modules/floorl (Depends-on): Add floor. Update conditions.
5597
5598 2011-10-09  Bruno Haible  <bruno@clisp.org>
5599
5600         rint: Fix ordering constraints.
5601         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
5602         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
5603         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
5604
5605 2011-10-09  Bruno Haible  <bruno@clisp.org>
5606
5607         copysignl: Simplify for platforms where 'long double' == 'double'.
5608         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
5609         alternative.
5610         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5611         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
5612         * modules/copysignl (Depends-on): Add copysign. Update conditions.
5613
5614 2011-10-09  Bruno Haible  <bruno@clisp.org>
5615
5616         Tests for module 'rintl'.
5617         * modules/rintl-tests: New file.
5618         * tests/test-rintl.c: New file.
5619
5620         New module 'rintl'.
5621         * lib/math.in.h (rintl): New declaration.
5622         * lib/rintl.c: New file.
5623         * m4/rintl.m4: New file.
5624         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
5625         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
5626         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
5627         * modules/rintl: New file.
5628         * tests/test-math-c++.cc: Check the declaration of rintl.
5629         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5630         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
5631         * doc/posix-functions/rintl.texi: Mention the new module.
5632
5633 2011-10-09  Bruno Haible  <bruno@clisp.org>
5634
5635         Tests for module 'rintf'.
5636         * modules/rintf-tests: New file.
5637         * tests/test-rintf.c: New file.
5638
5639         New module 'rintf'.
5640         * lib/math.in.h (rintf): New declaration.
5641         * lib/rintf.c: New file.
5642         * m4/rintf.m4: New file.
5643         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
5644         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
5645         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
5646         * modules/rintf: New file.
5647         * tests/test-math-c++.cc: Check the declaration of rintf.
5648         * doc/posix-functions/rintf.texi: Mention the new module.
5649
5650 2011-10-09  Bruno Haible  <bruno@clisp.org>
5651
5652         rint: Support for MSVC.
5653         * lib/math.in.h (rint): New declaration.
5654         * lib/rint.c: New file.
5655         * m4/rint.m4: New file.
5656         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
5657         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
5658         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
5659         * modules/rint (Description): Fix.
5660         (Files): Add lib/rint.c, m4/rint.m4.
5661         (Depends-on): Add math.
5662         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
5663         gl_MATH_MODULE_INDICATOR.
5664         * tests/test-math-c++.cc: Check the declaration of rint.
5665         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5666         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
5667         * doc/posix-functions/rint.texi: Mention the replacement provided by
5668         the module.
5669
5670         rint tests: More tests.
5671         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
5672         minus-zero.h, infinity.h, nan.h.
5673         (main): Skip the test if the current rounding mode is not standard. Add
5674         tests for negative numbers, minus zero, infinity, NaN.
5675         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
5676         tests/nan.h.
5677         (Depends-on): Add isnand-nolibm.
5678
5679 2011-10-09  Bruno Haible  <bruno@clisp.org>
5680
5681         Tests for module 'copysignl'.
5682         * modules/copysignl-tests: New file.
5683         * tests/test-copysignl.c: New file.
5684
5685         New module 'copysignl'.
5686         * lib/math.in.h (copysignl): New declaration.
5687         * lib/copysignl.c: New file.
5688         * m4/copysignl.m4: New file.
5689         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
5690         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
5691         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
5692         HAVE_COPYSIGNL.
5693         * modules/copysignl: New file.
5694         * tests/test-math-c++.cc: Check the declaration of copysignl.
5695         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
5696         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
5697         * doc/posix-functions/copysignl.texi: Mention the new module.
5698
5699 2011-10-09  Bruno Haible  <bruno@clisp.org>
5700
5701         Tests for module 'copysignf'.
5702         * modules/copysignf-tests: New file.
5703         * tests/test-copysignf.c: New file.
5704
5705         New module 'copysignf'.
5706         * lib/math.in.h (copysignf): New declaration.
5707         * lib/copysignf.c: New file.
5708         * m4/copysignf.m4: New file.
5709         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
5710         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
5711         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
5712         HAVE_COPYSIGNF.
5713         * modules/copysignf: New file.
5714         * tests/test-math-c++.cc: Check the declaration of copysignf.
5715         * doc/posix-functions/copysignf.texi: Mention the new module.
5716
5717 2011-10-09  Bruno Haible  <bruno@clisp.org>
5718
5719         Ensure that HAVE_* variables are set to 1 before they are set to 0.
5720         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
5721         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
5722         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
5723         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
5724         gl_SIGNAL_H_DEFAULTS.
5725
5726 2011-10-09  Bruno Haible  <bruno@clisp.org>
5727
5728         poll: Make macro safer.
5729         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
5730         ac_cv_header_poll_h is not set.
5731
5732 2011-10-09  Bruno Haible  <bruno@clisp.org>
5733
5734         copysign: Provide replacement.
5735         * lib/math.in.h (copysign): New declaration.
5736         * lib/copysign.c: New file.
5737         * m4/copysign.m4: New file.
5738         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
5739         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
5740         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
5741         HAVE_COPYSIGN.
5742         * modules/copysign (Description): Clarify.
5743         (Files): Add lib/copysign.c, m4/copysign.m4.
5744         (Depends-on): Add math, signbit.
5745         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
5746         gl_MATH_MODULE_INDICATOR.
5747         * tests/test-math-c++.cc: Check the declaration of copysign.
5748         * doc/posix-functions/copysign.texi: Mention the effects of the module
5749         on Minix and MSVC.
5750
5751 2011-10-09  Bruno Haible  <bruno@clisp.org>
5752
5753         isinf: Ensure macro on AIX 5.1.
5754         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
5755         macro.
5756         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
5757
5758 2011-10-09  Bruno Haible  <bruno@clisp.org>
5759
5760         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
5761         * modules/snprintf-posix-tests (configure.ac): Require
5762         gl_LONG_DOUBLE_VS_DOUBLE.
5763         * modules/sprintf-posix-tests (configure.ac): Likewise.
5764         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
5765         * modules/vasprintf-posix-tests (configure.ac): Likewise.
5766         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
5767         * modules/vsprintf-posix-tests (configure.ac): Likewise.
5768         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
5769         tests on platforms where 'long double' is the same as 'double'.
5770         * tests/test-sprintf-posix.h (test_function): Likewise.
5771         * tests/test-vasnprintf-posix.c (test_function): Likewise.
5772         * tests/test-vasprintf-posix.c (test_function): Likewise.
5773
5774         *printf: Fix for platforms where 'long double' == 'double'.
5775         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
5776         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
5777         * modules/dprintf-posix (Files): Add m4/math_h.m4.
5778         * modules/fprintf-posix (Files): Likewise.
5779         * modules/obstack-printf-posix (Files): Likewise.
5780         * modules/snprintf-posix (Files): Likewise.
5781         * modules/sprintf-posix (Files): Likewise.
5782         * modules/vasnprintf (Files): Likewise.
5783         * modules/vasnprintf-posix (Files): Likewise.
5784         * modules/vasprintf-posix (Files): Likewise.
5785         * modules/vdprintf-posix (Files): Likewise.
5786         * modules/vfprintf-posix (Files): Likewise.
5787         * modules/vsnprintf-posix (Files): Likewise.
5788         * modules/vsprintf-posix (Files): Likewise.
5789         * modules/unistdio/u8-vasnprintf (Files): Likewise.
5790         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
5791         * modules/unistdio/u16-vasnprintf (Files): Likewise.
5792         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
5793         * modules/unistdio/u32-vasnprintf (Files): Likewise.
5794         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
5795         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
5796
5797         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
5798         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
5799         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
5800         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
5801         'long double'.
5802         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
5803
5804         isinf: Fix for platforms where 'long double' == 'double'.
5805         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
5806         Don't blindly assume 80-bit 'long double'.
5807
5808         isfinite: Fix for platforms where 'long double' == 'double'.
5809         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
5810         Don't blindly assume 80-bit 'long double'.
5811
5812         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
5813         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
5814         * modules/isfinite-tests (configure.ac): Require
5815         gl_LONG_DOUBLE_VS_DOUBLE.
5816         * modules/isinf-tests (configure.ac): Likewise.
5817         * modules/isnan-tests (configure.ac): Likewise.
5818         * modules/isnanl-tests (configure.ac): Likewise.
5819         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
5820         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
5821         tests on platforms where 'long double' is the same as 'double'.
5822         * tests/test-isinf.c (test_isinfl): Likewise.
5823         * tests/test-isnan.c (test_long_double): Likewise.
5824         * tests/test-isnanl.h (main): Likewise.
5825
5826 2011-10-08  Bruno Haible  <bruno@clisp.org>
5827
5828         Tests for module 'tanhf'.
5829         * modules/tanhf-tests: New file.
5830         * tests/test-tanhf.c: New file.
5831
5832         New module 'tanhf'.
5833         * lib/math.in.h (tanhf): New declaration.
5834         * lib/tanhf.c: New file.
5835         * m4/tanhf.m4: New file.
5836         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
5837         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
5838         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
5839         * modules/tanhf: New file.
5840         * tests/test-math-c++.cc: Check the declaration of tanhf.
5841         * doc/posix-functions/tanhf.texi: Mention the new module.
5842
5843         tanh: Use a .m4 file.
5844         * m4/tanh.m4: New file.
5845         * modules/tanh (Files): Add it.
5846         (configure.ac): Just invoke gl_FUNC_TANH.
5847
5848 2011-10-08  Bruno Haible  <bruno@clisp.org>
5849
5850         Tests for module 'coshf'.
5851         * modules/coshf-tests: New file.
5852         * tests/test-coshf.c: New file.
5853
5854         New module 'coshf'.
5855         * lib/math.in.h (coshf): New declaration.
5856         * lib/coshf.c: New file.
5857         * m4/coshf.m4: New file.
5858         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
5859         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
5860         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
5861         * modules/coshf: New file.
5862         * tests/test-math-c++.cc: Check the declaration of coshf.
5863         * doc/posix-functions/coshf.texi: Mention the new module.
5864
5865         cosh: Use a .m4 file.
5866         * m4/cosh.m4: New file.
5867         * modules/cosh (Files): Add it.
5868         (configure.ac): Just invoke gl_FUNC_COSH.
5869
5870 2011-10-08  Bruno Haible  <bruno@clisp.org>
5871
5872         Tests for module 'sinhf'.
5873         * modules/sinhf-tests: New file.
5874         * tests/test-sinhf.c: New file.
5875
5876         New module 'sinhf'.
5877         * lib/math.in.h (sinhf): New declaration.
5878         * lib/sinhf.c: New file.
5879         * m4/sinhf.m4: New file.
5880         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
5881         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
5882         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
5883         * modules/sinhf: New file.
5884         * tests/test-math-c++.cc: Check the declaration of sinhf.
5885         * doc/posix-functions/sinhf.texi: Mention the new module.
5886
5887         sinh: Use a .m4 file.
5888         * m4/sinh.m4: New file.
5889         * modules/sinh (Files): Add it.
5890         (configure.ac): Just invoke gl_FUNC_SINH.
5891
5892 2011-10-08  Bruno Haible  <bruno@clisp.org>
5893
5894         Tests for module 'atan2f'.
5895         * modules/atan2f-tests: New file.
5896         * tests/test-atan2f.c: New file.
5897
5898         New module 'atan2f'.
5899         * lib/math.in.h (atan2f): New declaration.
5900         * lib/atan2f.c: New file.
5901         * m4/atan2f.m4: New file.
5902         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
5903         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
5904         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
5905         * modules/atan2f: New file.
5906         * tests/test-math-c++.cc: Check the declaration of atan2f.
5907         * doc/posix-functions/atan2f.texi: Mention the new module.
5908
5909         atan2: Use a .m4 file.
5910         * m4/atan2.m4: New file.
5911         * modules/atan2 (Files): Add it.
5912         (configure.ac): Just invoke gl_FUNC_ATAN2.
5913
5914 2011-10-08  Bruno Haible  <bruno@clisp.org>
5915
5916         Tests for module 'atanf'.
5917         * modules/atanf-tests: New file.
5918         * tests/test-atanf.c: New file.
5919
5920         New module 'atanf'.
5921         * lib/math.in.h (atanf): New declaration.
5922         * lib/atanf.c: New file.
5923         * m4/atanf.m4: New file.
5924         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
5925         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
5926         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
5927         * modules/atanf: New file.
5928         * tests/test-math-c++.cc: Check the declaration of atanf.
5929         * doc/posix-functions/atanf.texi: Mention the new module.
5930
5931         atan: Use a .m4 file.
5932         * m4/atan.m4: New file.
5933         * modules/atan (Files): Add it.
5934         (configure.ac): Just invoke gl_FUNC_ATAN.
5935
5936 2011-10-08  Bruno Haible  <bruno@clisp.org>
5937
5938         Tests for module 'acosf'.
5939         * modules/acosf-tests: New file.
5940         * tests/test-acosf.c: New file.
5941
5942         New module 'acosf'.
5943         * lib/math.in.h (acosf): New declaration.
5944         * lib/acosf.c: New file.
5945         * m4/acosf.m4: New file.
5946         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
5947         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
5948         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
5949         * modules/acosf: New file.
5950         * tests/test-math-c++.cc: Check the declaration of acosf.
5951         * doc/posix-functions/acosf.texi: Mention the new module.
5952
5953         acos: Use a .m4 file.
5954         * m4/acos.m4: New file.
5955         * modules/acos (Files): Add it.
5956         (configure.ac): Just invoke gl_FUNC_ACOS.
5957
5958 2011-10-08  Bruno Haible  <bruno@clisp.org>
5959
5960         Tests for module 'asinf'.
5961         * modules/asinf-tests: New file.
5962         * tests/test-asinf.c: New file.
5963
5964         New module 'asinf'.
5965         * lib/math.in.h (asinf): New declaration.
5966         * lib/asinf.c: New file.
5967         * m4/asinf.m4: New file.
5968         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
5969         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
5970         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
5971         * modules/asinf: New file.
5972         * tests/test-math-c++.cc: Check the declaration of asinf.
5973         * doc/posix-functions/asinf.texi: Mention the new module.
5974
5975         asin: Use a .m4 file.
5976         * m4/asin.m4: New file.
5977         * modules/asin (Files): Add it.
5978         (configure.ac): Just invoke gl_FUNC_ASIN.
5979
5980 2011-10-08  Bruno Haible  <bruno@clisp.org>
5981
5982         Tests for module 'tanf'.
5983         * modules/tanf-tests: New file.
5984         * tests/test-tanf.c: New file.
5985
5986         New module 'tanf'.
5987         * lib/math.in.h (tanf): New declaration.
5988         * lib/tanf.c: New file.
5989         * m4/tanf.m4: New file.
5990         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
5991         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
5992         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
5993         * modules/tanf: New file.
5994         * tests/test-math-c++.cc: Check the declaration of tanf.
5995         * doc/posix-functions/tanf.texi: Mention the new module.
5996
5997         tan: Use a .m4 file.
5998         * m4/tan.m4: New file.
5999         * modules/tan (Files): Add it.
6000         (configure.ac): Just invoke gl_FUNC_TAN.
6001
6002 2011-10-08  Bruno Haible  <bruno@clisp.org>
6003
6004         Tests for module 'cosf'.
6005         * modules/cosf-tests: New file.
6006         * tests/test-cosf.c: New file.
6007
6008         New module 'cosf'.
6009         * lib/math.in.h (cosf): New declaration.
6010         * lib/cosf.c: New file.
6011         * m4/cosf.m4: New file.
6012         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
6013         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
6014         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
6015         * modules/cosf: New file.
6016         * tests/test-math-c++.cc: Check the declaration of cosf.
6017         * doc/posix-functions/cosf.texi: Mention the new module.
6018
6019         cos: Use a .m4 file.
6020         * m4/cos.m4: New file.
6021         * modules/cos (Files): Add it.
6022         (configure.ac): Just invoke gl_FUNC_COS.
6023
6024 2011-10-08  Bruno Haible  <bruno@clisp.org>
6025
6026         Tests for module 'sinf'.
6027         * modules/sinf-tests: New file.
6028         * tests/test-sinf.c: New file.
6029
6030         New module 'sinf'.
6031         * lib/math.in.h (sinf): New declaration.
6032         * lib/sinf.c: New file.
6033         * m4/sinf.m4: New file.
6034         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
6035         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
6036         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
6037         * modules/sinf: New file.
6038         * tests/test-math-c++.cc: Check the declaration of sinf.
6039         * doc/posix-functions/sinf.texi: Mention the new module.
6040
6041         sin: Use a .m4 file.
6042         * m4/sin.m4: New file.
6043         * modules/sin (Files): Add it.
6044         (configure.ac): Just invoke gl_FUNC_SIN.
6045
6046 2011-10-08  Bruno Haible  <bruno@clisp.org>
6047
6048         Tests for module 'powf'.
6049         * modules/powf-tests: New file.
6050         * tests/test-powf.c: New file.
6051
6052         New module 'powf'.
6053         * lib/math.in.h (powf): New declaration.
6054         * lib/powf.c: New file.
6055         * m4/powf.m4: New file.
6056         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
6057         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
6058         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
6059         * modules/powf: New file.
6060         * tests/test-math-c++.cc: Check the declaration of powf.
6061         * doc/posix-functions/powf.texi: Mention the new module.
6062
6063         pow: Use a .m4 file.
6064         * m4/pow.m4: New file.
6065         * modules/pow (Files): Add it.
6066         (configure.ac): Just invoke gl_FUNC_POW.
6067
6068 2011-10-08  Bruno Haible  <bruno@clisp.org>
6069
6070         Tests for module 'log10f'.
6071         * modules/log10f-tests: New file.
6072         * tests/test-log10f.c: New file.
6073
6074         New module 'log10f'.
6075         * lib/math.in.h (log10f): New declaration.
6076         * lib/log10f.c: New file.
6077         * m4/log10f.m4: New file.
6078         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
6079         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
6080         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
6081         * modules/log10f: New file.
6082         * tests/test-math-c++.cc: Check the declaration of log10f.
6083         * doc/posix-functions/log10f.texi: Mention the new module.
6084
6085         log10: Use a .m4 file.
6086         * m4/log10.m4: New file.
6087         * modules/log10 (Files): Add it.
6088         (configure.ac): Just invoke gl_FUNC_LOG10.
6089
6090 2011-10-08  Bruno Haible  <bruno@clisp.org>
6091
6092         Tests for module 'logf'.
6093         * modules/logf-tests: New file.
6094         * tests/test-logf.c: New file.
6095
6096         New module 'logf'.
6097         * lib/math.in.h (logf): New declaration.
6098         * lib/logf.c: New file.
6099         * m4/logf.m4: New file.
6100         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
6101         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
6102         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
6103         * modules/logf: New file.
6104         * tests/test-math-c++.cc: Check the declaration of logf.
6105         * doc/posix-functions/logf.texi: Mention the new module.
6106
6107         log: Use a .m4 file.
6108         * m4/log.m4: New file.
6109         * modules/log (Files): Add it.
6110         (configure.ac): Just invoke gl_FUNC_LOG.
6111
6112 2011-10-08  Bruno Haible  <bruno@clisp.org>
6113
6114         Tests for module 'expf'.
6115         * modules/expf-tests: New file.
6116         * tests/test-expf.c: New file.
6117
6118         New module 'expf'.
6119         * lib/math.in.h (expf): New declaration.
6120         * lib/expf.c: New file.
6121         * m4/expf.m4: New file.
6122         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
6123         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
6124         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
6125         * modules/expf: New file.
6126         * tests/test-math-c++.cc: Check the declaration of expf.
6127         * doc/posix-functions/expf.texi: Mention the new module.
6128
6129         exp: Use a .m4 file.
6130         * m4/exp.m4: New file.
6131         * modules/exp (Files): Add it.
6132         (configure.ac): Just invoke gl_FUNC_EXP.
6133
6134 2011-10-08  Bruno Haible  <bruno@clisp.org>
6135
6136         Tests for module 'sqrtf'.
6137         * modules/sqrtf-tests: New file.
6138         * tests/test-sqrtf.c: New file.
6139
6140         New module 'sqrtf'.
6141         * lib/math.in.h (sqrtf): New declaration.
6142         * lib/sqrtf.c: New file.
6143         * m4/sqrtf.m4: New file.
6144         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
6145         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
6146         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
6147         * modules/sqrtf: New file.
6148         * tests/test-math-c++.cc: Check the declaration of sqrtf.
6149         * doc/posix-functions/sqrtf.texi: Mention the new module.
6150
6151 2011-10-08  Bruno Haible  <bruno@clisp.org>
6152
6153         Tests: Avoid link failures w.r.t. libintl.
6154         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
6155         $(LIBINTL).
6156         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
6157         $(LIBINTL).
6158         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
6159         against $(LIBINTL).
6160         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
6161         $(LIBINTL).
6162         * modules/openat-tests (Makefile.am): Link test-fchmodat against
6163         $(LIBINTL).
6164         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
6165
6166 2011-10-08  Bruno Haible  <bruno@clisp.org>
6167
6168         pow tests: Defeat compiler optimizations.
6169         * tests/test-pow.c (main): Assign arguments to x and y before use.
6170
6171 2011-10-08  Bruno Haible  <bruno@clisp.org>
6172
6173         gnulib-tool: Improve last commit.
6174         * gnulib-tool (func_modules_transitive_closure): Simplify code.
6175         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
6176         ignore dependencies that are not among the modules list.
6177
6178 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
6179
6180         gnulib-tool: don't follow dependencies to avoided modules
6181         This fixes a bug that is related to the previous one.
6182         * gnulib-tool (func_modules_transitive_closure)
6183         (func_emit_autoconf_snippets):
6184         Check whether a dependency is acceptable before using it.
6185         (--extract-dependencies): Report an error if --avoid is also used,
6186         since this combination of options is not yet supported.
6187
6188         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
6189         Problem reported by Peter Dyballa in
6190         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
6191         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
6192         when echoing "$condition".
6193
6194 2011-10-07  Bruno Haible  <bruno@clisp.org>
6195
6196         Fix documentation about math functions on MacOS X.
6197         * doc/posix-functions/exp2.texi: Don't say the function is missing on
6198         MacOS X 10.5.
6199         * doc/posix-functions/fdim.texi: Likewise.
6200         * doc/posix-functions/feclearexcept.texi: Likewise.
6201         * doc/posix-functions/fegetenv.texi: Likewise.
6202         * doc/posix-functions/fegetround.texi: Likewise.
6203         * doc/posix-functions/feholdexcept.texi: Likewise.
6204         * doc/posix-functions/feraiseexcept.texi: Likewise.
6205         * doc/posix-functions/fesetenv.texi: Likewise.
6206         * doc/posix-functions/fesetround.texi: Likewise.
6207         * doc/posix-functions/fetestexcept.texi: Likewise.
6208         * doc/posix-functions/feupdateenv.texi: Likewise.
6209         * doc/posix-functions/fmax.texi: Likewise.
6210         * doc/posix-functions/fmin.texi: Likewise.
6211         * doc/posix-functions/log2.texi: Likewise.
6212         * doc/posix-functions/modff.texi: Likewise.
6213         * doc/posix-functions/nan.texi: Likewise.
6214         * doc/posix-functions/nanf.texi: Likewise.
6215         * doc/posix-functions/nextafterf.texi: Likewise.
6216         * doc/posix-functions/remquo.texi: Likewise.
6217
6218 2011-10-07  Bruno Haible  <bruno@clisp.org>
6219
6220         modff: Drop assumption about library that defines modff.
6221         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
6222         AC_CHECK_FUNCS.
6223         * modules/modff (Files): Add m4/mathfunc.m4.
6224
6225 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
6226
6227         raise tests: Avoid a GCC warning.
6228         * tests/test-raise.c (handler): Use _Noreturn.
6229
6230 2011-10-07  Bruno Haible  <bruno@clisp.org>
6231
6232         Tests for module 'ldexpf'.
6233         * modules/ldexpf-tests: New file.
6234         * tests/test-ldexpf.c: New file.
6235
6236         New module 'ldexpf'.
6237         * lib/math.in.h (ldexpf): New declaration.
6238         * lib/ldexpf.c: New file.
6239         * m4/ldexpf.m4: New file.
6240         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
6241         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
6242         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
6243         * modules/ldexpf: New file.
6244         * tests/test-math-c++.cc: Check the declaration of ldexpf.
6245         * doc/posix-functions/ldexpf.texi: Mention the new module.
6246
6247 2011-10-06  Bruno Haible  <bruno@clisp.org>
6248
6249         frexpf: Work around problems on IRIX and mingw.
6250         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
6251         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
6252         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
6253         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
6254         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
6255         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
6256         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
6257
6258 2011-10-06  Bruno Haible  <bruno@clisp.org>
6259
6260         fabsf: Drop assumption about library that defines fabsf.
6261         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
6262         AC_CHECK_FUNCS.
6263         * modules/fabsf (Files): Add m4/mathfunc.m4.
6264
6265 2011-10-06  Bruno Haible  <bruno@clisp.org>
6266
6267         frexpf: Drop assumption about library that defines frexpf.
6268         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
6269         'int *', 'float *', 'long double *', 'float', 'long double'.
6270         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
6271         AC_CHECK_FUNCS.
6272         * modules/frexpf (Files): Add m4/mathfunc.m4.
6273
6274         Tests for module 'frexpf'.
6275         * modules/frexpf-tests: New file.
6276         * tests/test-frexpf.c: New file.
6277
6278         New module 'frexpf'.
6279         * lib/math.in.h (frexpf): New declaration.
6280         * lib/frexpf.c: New file.
6281         * m4/frexpf.m4: New file.
6282         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
6283         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
6284         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
6285         * modules/frexpf: New file.
6286         * tests/test-math-c++.cc: Check the declaration of frexpf.
6287         * doc/posix-functions/frexpf.texi: Mention the new module.
6288
6289 2011-10-06  Bruno Haible  <bruno@clisp.org>
6290
6291         math: Sort function declarations of math.in.h.
6292         * lib/math.in.h (frexp, logb): Move declarations.
6293
6294 2011-10-05  Bruno Haible  <bruno@clisp.org>
6295
6296         Tests for module 'modff'.
6297         * modules/modff-tests: New file.
6298         * tests/test-modff.c: New file.
6299
6300         New module 'modff'.
6301         * lib/math.in.h (modff): New declaration.
6302         * lib/modff.c: New file.
6303         * m4/modff.m4: New file.
6304         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
6305         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
6306         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
6307         * modules/modff: New file.
6308         * tests/test-math-c++.cc: Check the declaration of modff.
6309         * doc/posix-functions/modff.texi: Mention the new module.
6310
6311         modf tests: Make test sharper.
6312         * tests/test-modf.c (main): Strengthen upper bound.
6313
6314         modf: Use a .m4 file.
6315         * m4/modf.m4: New file.
6316         * modules/modf (Files): Add it.
6317         (configure.ac): Just invoke gl_FUNC_MODF.
6318
6319 2011-10-05  Bruno Haible  <bruno@clisp.org>
6320
6321         Tests for module 'fmodf'.
6322         * modules/fmodf-tests: New file.
6323         * tests/test-fmodf.c: New file.
6324
6325         New module 'fmodf'.
6326         * lib/math.in.h (fmodf): New declaration.
6327         * lib/fmodf.c: New file.
6328         * m4/fmodf.m4: New file.
6329         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
6330         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
6331         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
6332         * modules/fmodf: New file.
6333         * tests/test-math-c++.cc: Check the declaration of fmodf.
6334         * doc/posix-functions/fmodf.texi: Mention the new module.
6335
6336         fmod: Use a .m4 file.
6337         * m4/fmod.m4: New file.
6338         * modules/fmod (Files): Add it.
6339         (configure.ac): Just invoke gl_FUNC_FMOD.
6340
6341 2011-10-05  Bruno Haible  <bruno@clisp.org>
6342
6343         Tests for module 'fabsf'.
6344         * modules/fabsf-tests: New file.
6345         * tests/test-fabsf.c: New file.
6346
6347         New module 'fabsf'.
6348         * lib/math.in.h (fabsf): New declaration.
6349         * lib/fabsf.c: New file.
6350         * m4/fabsf.m4: New file.
6351         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
6352         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
6353         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
6354         * modules/fabsf: New file.
6355         * tests/test-math-c++.cc: Check the declaration of fabsf.
6356         * doc/posix-functions/fabsf.texi: Mention the new module.
6357
6358         fabs: Use a .m4 file.
6359         * m4/fabs.m4: New file.
6360         * modules/fabs (Files): Add it.
6361         (configure.ac): Just invoke gl_FUNC_FABS.
6362
6363 2011-10-05  Jim Meyering  <meyering@redhat.com>
6364
6365         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
6366         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
6367         ls -lL regression introduced in coreutils-8.12, it does so at the
6368         cost of an additional stat call in the common case.  Besides, now
6369         that the kernel change that prompted commit 95f7c57f has been reverted
6370         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
6371         we have no use for commit 95f7c57f, "file-has-acl: use
6372         acl_extended_file_nofollow if available".
6373
6374 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
6375
6376         file-has-acl: revert unintended change in behavior of ls -L
6377         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
6378         derived from...
6379         (file_has_acl): ...code here.  Call it.
6380         This problem was introduced with 2011-07-22 commit 95f7c57f,
6381         "file-has-acl: use acl_extended_file_nofollow if available".
6382         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
6383
6384 2011-10-03  Bruno Haible  <bruno@clisp.org>
6385
6386         poll: Avoid link errors on MSVC.
6387         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
6388         * modules/poll (Depends-on): Add sockets.
6389         (Link): New section.
6390         * NEWS: Mention the change.
6391         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
6392         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
6393         $(LIB_POLL) instead of $(LIBSOCKET).
6394
6395 2011-10-03  Bruno Haible  <bruno@clisp.org>
6396
6397         sys_select tests: Fix link error on MSVC 9.
6398         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
6399         with $(LIB_SELECT) instead of $(LIBSOCKET).
6400
6401 2011-10-03  Bruno Haible  <bruno@clisp.org>
6402
6403         sys_select: Fix compilation error on mingw.
6404         * lib/sys_select.in.h: On native Windows, include <io.h>.
6405
6406 2011-10-03  Bruno Haible  <bruno@clisp.org>
6407
6408         wmemset: Support for MSVC.
6409         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
6410         whether wmemset() exists.
6411
6412 2011-10-03  Bruno Haible  <bruno@clisp.org>
6413
6414         wmemmove: Support for MSVC.
6415         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
6416         whether wmemmove() exists.
6417
6418 2011-10-03  Bruno Haible  <bruno@clisp.org>
6419
6420         wmemcpy: Support for MSVC.
6421         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
6422         whether wmemcpy() exists.
6423
6424 2011-10-03  Bruno Haible  <bruno@clisp.org>
6425
6426         wmemcmp: Support for MSVC.
6427         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
6428         whether wmemcmp() exists.
6429
6430 2011-10-03  Bruno Haible  <bruno@clisp.org>
6431
6432         wmemchr: Support for MSVC.
6433         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
6434         whether wmemchr() exists.
6435
6436 2011-10-03  Bruno Haible  <bruno@clisp.org>
6437
6438         glthread/*, strsignal: Support for MSVC.
6439         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
6440         including <winsock.h> on MSVC 9.
6441         * lib/glthread/lock.h: Likewise.
6442         * lib/glthread/thread.h: Likewise.
6443         * lib/glthread/tls.h: Likewise.
6444         * lib/glthread/yield.h: Likewise.
6445         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
6446         if HAVE_UNISTD_H is false.
6447         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
6448
6449 2011-10-03  Bruno Haible  <bruno@clisp.org>
6450
6451         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
6452         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
6453         Set to 100000.
6454
6455 2011-10-03  Bruno Haible  <bruno@clisp.org>
6456
6457         acl: Fix specification.
6458         * lib/file-has-acl.c (file_has_acl): Fix specification.
6459
6460 2011-10-03  Bruno Haible  <bruno@clisp.org>
6461
6462         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
6463         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
6464         (compute_curr_prefix, shared_library_fullname,
6465         find_shared_library_fullname, get_shared_library_fullname, relocate):
6466         Use it together with PIC && INSTALLDIR.
6467         Reported by <jojelino@gmail.com>
6468         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
6469
6470 2011-10-01  Jim Meyering  <meyering@redhat.com>
6471
6472         maint.mk: adjust a release-related rule not to require use of gzip
6473         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
6474         Instead, check each file in $(DIST_ARCHIVES).  This is better for
6475         projects that build only .tar.xz files.  Also fix an erroneous test.
6476
6477         test-linkat: don't leave behind a temporary file
6478         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
6479         Otherwise, coreutils' "make distcheck" would fail with this:
6480           Only in /c/cu/tests/torture/coreutils/test/\
6481             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
6482           make[2]: *** [my-distcheck] Error 1
6483
6484         float, math: add omitted file
6485         * lib/itold.c: Add file, required for yesterday's float change.
6486
6487 2011-10-01  Bruno Haible  <bruno@clisp.org>
6488
6489         isinf: Fix for OpenBSD/x86.
6490         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
6491         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
6492         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
6493
6494 2011-10-01  Bruno Haible  <bruno@clisp.org>
6495
6496         isfinite: Fix syntax error in configure test.
6497         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
6498
6499         isfinite: Fix typo.
6500         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
6501         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
6502
6503 2011-10-01  Bruno Haible  <bruno@clisp.org>
6504
6505         nonblocking tests: Fix test failure on Linux/IA-64.
6506         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
6507         Set to 270000.
6508
6509 2011-10-01  Bruno Haible  <bruno@clisp.org>
6510
6511         mkfifoat tests: Fix a test failure on mingw.
6512         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
6513         with error ENOSYS.
6514
6515 2011-09-30  Bruno Haible  <bruno@clisp.org>
6516
6517         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
6518         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
6519         'long double'. Set REPLACE_ITOLD.
6520         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
6521         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
6522         * lib/itold.c: New file.
6523         * modules/float (Files): Add lib/itold.c.
6524         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
6525         (Makefile.am): Substitute REPLACE_ITOLD.
6526         * modules/math (Depends-on): Add float.
6527         (Makefile.am): Substitute REPLACE_ITOLD.
6528         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
6529         * doc/posix-headers/math.texi: Likewise.
6530         * doc/posix-functions/logl.texi: Likewise.
6531
6532 2011-09-30  Bruno Haible  <bruno@clisp.org>
6533
6534         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
6535         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
6536         Set to 140000.
6537
6538 2011-09-30  Bruno Haible  <bruno@clisp.org>
6539
6540         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
6541         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
6542         invocation, say "right after AC_PROG_CC_STDC", not "right after
6543         AC_PROG_CC".
6544         Reported by Gary V. Vaughan <gary@gnu.org>.
6545
6546 2011-09-30  Bruno Haible  <bruno@clisp.org>
6547
6548         Centralize C99 requirement.
6549         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
6550         * modules/stdarg (configure.ac-early): Invoke it instead of
6551         AC_PROG_CC_STDC.
6552         Reported by Gary V. Vaughan and Paul Eggert.
6553
6554 2011-09-29  Bruno Haible  <bruno@clisp.org>
6555
6556         float: Fix LDBL_MAX value on Linux/PowerPC.
6557         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
6558         on Linux/PowerPC.
6559         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
6560         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
6561         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
6562         platform.
6563         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
6564
6565 2011-09-29  Bruno Haible  <bruno@clisp.org>
6566
6567         doc: Improve doc about gl_EARLY.
6568         * doc/gnulib-tool.texi (Initial import): Mention where to place an
6569         AC_PROG_CC_STDC invocation.
6570         Reported by Gary V. Vaughan <gary@gnu.org>.
6571
6572 2011-09-28  Bruno Haible  <bruno@clisp.org>
6573
6574         fgetc, fputc, fread, fwrite tests: Fix link error.
6575         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
6576         on non-MSVC platforms.
6577         * tests/test-fputc.c (main): Likewise.
6578         * tests/test-fread.c (main): Likewise.
6579         * tests/test-fwrite.c (main): Likewise.
6580         Reported by Jim Meyering.
6581
6582 2011-09-27  Bruno Haible  <bruno@clisp.org>
6583
6584         fputc, fwrite tests: Avoid test failure on MSVC.
6585         * tests/test-fgetc.c: Include msvc-inval.h.
6586         (main): Invoke gl_msvc_inval_ensure_handler.
6587         * tests/test-fputc.c: Include msvc-inval.h.
6588         (main): Invoke gl_msvc_inval_ensure_handler.
6589         * tests/test-fread.c: Include msvc-inval.h.
6590         (main): Invoke gl_msvc_inval_ensure_handler.
6591         * tests/test-fwrite.c: Include msvc-inval.h.
6592         (main): Invoke gl_msvc_inval_ensure_handler.
6593         * modules/fgetc-tests (Depends-on): Add msvc-inval.
6594         * modules/fputc-tests (Depends-on): Likewise.
6595         * modules/fread-tests (Depends-on): Likewise.
6596         * modules/fwrite-tests (Depends-on): Likewise.
6597
6598 2011-09-27  Bruno Haible  <bruno@clisp.org>
6599
6600         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
6601         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
6602         (raise): Remove older, duplicated declaration.
6603         (_gl_raise_SIGPIPE): New declaration.
6604         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
6605         (rpl_raise): Remove function.
6606         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
6607         a gnulib-defined SIGPIPE here.
6608         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
6609         'sigprocmask' has detected missing signal-blocking and the module
6610         'sigpipe' is enabled.
6611         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
6612
6613 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
6614
6615         base64-tests: avoid memory leak
6616         * tests/test-base64.c (main): Plug memory leak.
6617
6618         base32: new module
6619         * modules/base32: New module.
6620         * lib/base32.c: New file.
6621         * lib/base32.h: Likewise.
6622         * m4/base32.m4: Likewise.
6623         * modules/base32-tests: New test.
6624         * tests/test-base32.c: Likewise.
6625         * MODULES.html.sh (Misc): Mention it.
6626
6627 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
6628
6629         gnulib: use more-standard license notice wording
6630         * gnulib-tool (func_emit_copyright_notice): When emitting a
6631         license notice into a file, use the standard wording as suggested
6632         by the current information for GNU maintainers, except say "file"
6633         rather than "program".  The new wording gives a license version
6634         number, which addresses an issue raised by Glenn Morris in
6635         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
6636         * m4/onceonly.m4: Use that same wording here, too.
6637
6638         dup2: minor simplification
6639         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
6640         as lib/dup2.c no longer uses 'inline'.
6641
6642 2011-09-25  Bruno Haible  <bruno@clisp.org>
6643
6644         strings: Fix compilation error on MSVC.
6645         * lib/strings.in.h: Include <stddef.h> for size_t.
6646
6647 2011-09-25  Bruno Haible  <bruno@clisp.org>
6648
6649         fflush et al.: Document limitation on MSVC.
6650         * doc/posix-functions/fflush.texi: Document possible crash in handling
6651         mode other than DEFAULT_HANDLING.
6652         * doc/posix-functions/fgetc.texi: Likewise.
6653         * doc/posix-functions/fputc.texi: Likewise.
6654         * doc/posix-functions/fread.texi: Likewise.
6655         * doc/posix-functions/fwrite.texi: Likewise.
6656
6657 2011-09-25  Bruno Haible  <bruno@clisp.org>
6658
6659         msvc-inval: Allow three invalid parameter handling modes.
6660         * lib/msvc-inval.h: Don't include <stdlib.h> here.
6661         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
6662         macros.
6663         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
6664         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
6665         SANE_LIBRARY_HANDLING as a no-op.
6666         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
6667         <stdlib.h>.
6668         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
6669
6670 2011-09-25  Bruno Haible  <bruno@clisp.org>
6671
6672         msvc-inval: Make handler multithread-safe.
6673         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
6674         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
6675         declarations.
6676         (gl_msvc_inval_current): New declaration.
6677         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
6678         Operate on the structure returned by gl_msvc_inval_current().
6679         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
6680         Remove varaiables.
6681         (tls_index, tls_initialized): New variables.
6682         (not_per_thread): New variable.
6683         (gl_msvc_inval_current): New function.
6684         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
6685         returned by gl_msvc_inval_current().
6686
6687 2011-09-25  Bruno Haible  <bruno@clisp.org>
6688
6689         msvc-inval: Install handler globally.
6690         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
6691         !_MSC_VER.
6692         (gl_msvc_invalid_parameter_handler): Remove declaration.
6693         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
6694         declarations.
6695         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
6696         Install the handler globally, don't uninstall it.
6697         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
6698         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
6699         currently valid, call RaiseException instead.
6700         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
6701         for !_MSC_VER.
6702
6703 2011-09-25  Bruno Haible  <bruno@clisp.org>
6704
6705         strerror_r-posix: Fix for MSVC 9.
6706         * lib/strerror_r.c (local_snprintf): New function.
6707         (snprintf): Define to local_snprintf, not to _snprintf.
6708
6709 2011-09-25  Bruno Haible  <bruno@clisp.org>
6710
6711         ftruncate: Support for MSVC 9.
6712         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
6713         (chsize_nothrow): New function.
6714         (chsize): Redefine as a macro.
6715         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
6716         * modules/ftruncate (Depends-on): Add msvc-inval.
6717
6718 2011-09-25  Bruno Haible  <bruno@clisp.org>
6719
6720         New module 'fstat'.
6721         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
6722         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
6723         * lib/fchdir.c (rpl_fstat): Remove function.
6724         * m4/fstat.m4: New file.
6725         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
6726         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
6727         declared.
6728         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
6729         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
6730         * modules/fstat: New file.
6731         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
6732         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
6733         is set.
6734         * doc/posix-functions/fstat.texi: Mention the new module and the
6735         problem on MSVC.
6736         * NEWS: Mention the change.
6737         * modules/acl (Depends-on): Add fstat.
6738         * modules/chdir-safer (Depends-on): Likewise.
6739         * modules/chown (Depends-on): Likewise.
6740         * modules/copy-file (Depends-on): Likewise.
6741         * modules/fchdir (Depends-on): Likewise.
6742         * modules/fdopendir (Depends-on): Likewise.
6743         * modules/fopen (Depends-on): Likewise.
6744         * modules/fts (Depends-on): Likewise.
6745         * modules/getcwd (Depends-on): Likewise.
6746         * modules/isapipe (Depends-on): Likewise.
6747         * modules/linkat (Depends-on): Likewise.
6748         * modules/lseek (Depends-on): Likewise.
6749         * modules/mkdir-p (Depends-on): Likewise.
6750         * modules/open (Depends-on): Likewise.
6751         * modules/openat (Depends-on): Likewise.
6752         * modules/read-file (Depends-on): Likewise.
6753         * modules/renameat (Depends-on): Likewise.
6754         * modules/utimens (Depends-on): Likewise.
6755
6756 2011-09-25  Bruno Haible  <bruno@clisp.org>
6757
6758         linkat: Fix compilation on MSVC 9.
6759         * lib/linkat.c: Don't include <stdint.h>.
6760
6761 2011-09-25  Bruno Haible  <bruno@clisp.org>
6762
6763         fclose: Support for MSVC 9.
6764         * lib/fclose.c: Include msvc-inval.h.
6765         (fclose_nothrow): New function.
6766         (rpl_fclose): Use it.
6767         * modules/fclose (Depends-on): Add msvc-inval.
6768         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
6769
6770 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
6771
6772         dup2: minor simplifications
6773         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
6774         that it's a performance win.
6775         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
6776         ! defined __CYGWIN__)" to "ifdef F_GETFL".
6777
6778 2011-09-24  Jim Meyering  <meyering@redhat.com>
6779
6780         test-futimens: avoid a warning from gcc -Wshadow
6781         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
6782         to avoid a shadowing warning.
6783
6784 2011-09-24  Bruno Haible  <bruno@clisp.org>
6785
6786         fdopen: Support for MSVC 9.
6787         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
6788         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
6789         * lib/fdopen.c: Include msvc-inval.h.
6790         (fdopen_nothrow): New function.
6791         (rpl_fdopen): Use it.
6792         * modules/fdopen (Depends-on): Add msvc-inval.
6793         * modules/fclose-tests (Depends-on): Add fdopen.
6794         * modules/fflush-tests (Depends-on): Likewise.
6795         * modules/fgetc-tests (Depends-on): Likewise.
6796         * modules/fputc-tests (Depends-on): Likewise.
6797         * modules/fread-tests (Depends-on): Likewise.
6798         * modules/freopen-tests (Depends-on): Likewise.
6799         * modules/fseeko-tests (Depends-on): Likewise.
6800         * modules/ftello-tests (Depends-on): Likewise.
6801         * modules/fwrite-tests  (Depends-on): Likewise.
6802         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
6803
6804 2011-09-24  Bruno Haible  <bruno@clisp.org>
6805
6806         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
6807         * modules/fgetc-tests (Depends-on): Add unistd.
6808         * modules/fputc-tests (Depends-on): Likewise.
6809         * modules/fread-tests (Depends-on): Likewise.
6810         * modules/fwrite-tests (Depends-on): Likewise.
6811
6812 2011-09-24  Bruno Haible  <bruno@clisp.org>
6813
6814         dup: Simplify autoconf test.
6815         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
6816         on gl_MSVC_INVAL's result.
6817
6818 2011-09-24  Bruno Haible  <bruno@clisp.org>
6819
6820         Tests for function fwrite().
6821         * modules/fwrite-tests: New file.
6822         * tests/test-fwrite.c: New file.
6823         * modules/stdio-tests (Depends-on): Add fwrite-tests.
6824
6825         Tests for function fread().
6826         * modules/fread-tests: New file.
6827         * tests/test-fread.c: New file.
6828         * modules/stdio-tests (Depends-on): Add fread-tests.
6829
6830         Activate fputc tests.
6831         * modules/stdio-tests (Depends-on): Add fputc-tests.
6832
6833         Enhance fgetc, fputc tests.
6834         * tests/test-fgetc.c (main): Also test the stream's error indicator.
6835         * tests/test-fputc.c (main): Likewise.
6836
6837 2011-09-24  Bruno Haible  <bruno@clisp.org>
6838
6839         write: Support for MSVC 9.
6840         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
6841         is not 1.
6842         * lib/write.c (write_nothrow): New function.
6843         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
6844         not 1. Use write_nothrow.
6845         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
6846         invalid parameter handler.
6847         (gl_PREREQ_WRITE): New macro.
6848         * modules/write (Depends-on): Add msvc-inval.
6849         (configure.ac): Invoke gl_PREREQ_WRITE.
6850         * doc/posix-functions/write.texi: Mention the problem on MSVC.
6851
6852 2011-09-24  Bruno Haible  <bruno@clisp.org>
6853
6854         read: Fix last commit.
6855         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
6856
6857 2011-09-24  Bruno Haible  <bruno@clisp.org>
6858
6859         dup2: Fix last commit.
6860         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
6861         (rpl_dup2): Disable fcntl workaround on native Windows.
6862
6863         sigprocmask: Make code safer.
6864         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
6865         section that changes macro definitions for this compilation unit.
6866
6867 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
6868
6869         dup2: clarify by coalescing Windows-specific material
6870         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
6871         "msvc-nothrow.h"' to the Windows-specific section, so that the
6872         Emacs source need not contain these include files.
6873         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
6874         Windows-specific fixes into this function rather than just the
6875         nothrow fix, as this shortens and clarifies the code.  Always
6876         define as a function, as that's a bit cleaner than having it be
6877         sometimes a function and sometimes a macro.
6878         (rpl_dup2): Move the Windows-specific stuff out of here and into
6879         ms_windows_dup2.  Don't protect the Haiku-related fix with
6880         "#if !defined __linux__", as the same code also works around
6881         a Linux kernel bug, and it doesn't add any system calls on any
6882         platform.  Add comment about FreeBSD 6.1.
6883
6884         sigprocmask: move #include directive
6885         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
6886         Windows-specific section, so that the Emacs source need not
6887         contain msvc-inval.h.
6888
6889 2011-09-23  Bruno Haible  <bruno@clisp.org>
6890
6891         read: Support for MSVC 9.
6892         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
6893         is not 1.
6894         * lib/read.c (read_nothrow): New function.
6895         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
6896         read_nothrow.
6897         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
6898         invalid parameter handler.
6899         (gl_PREREQ_READ): New macro.
6900         * modules/read (Depends-on): Add msvc-inval.
6901         (configure.ac): Invoke gl_PREREQ_READ.
6902         * doc/posix-functions/read.texi: Mention the problem on MSVC.
6903
6904 2011-09-23  Bruno Haible  <bruno@clisp.org>
6905
6906         close: Support for MSVC 9.
6907         * lib/close.c: Include <errno.h>, msvc-inval.h.
6908         (close_nothrow): New function.
6909         (rpl_close): Use it.
6910         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
6911         invalid parameter handler.
6912         * modules/close (Depends-on): Add msvc-inval.
6913         * modules/dup2-tests (Depends-on): Add close.
6914         * modules/dup3-tests (Depends-on): Likewise.
6915         * modules/fcntl-tests (Depends-on): Likewise.
6916         * modules/spawn-pipe-tests (Depends-on): Likewise.
6917         * modules/unistd-safer-tests (Depends-on): Likewise.
6918         * doc/posix-functions/close.texi: Mention the problem on MSVC.
6919
6920 2011-09-23  Bruno Haible  <bruno@clisp.org>
6921
6922         New module 'dup'.
6923         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
6924         Allow replacement.
6925         * lib/dup.c: New file.
6926         * lib/fchdir.c (rpl_dup): Remove function.
6927         * m4/dup.m4: New file.
6928         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
6929         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
6930         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
6931         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
6932         * modules/dup: New file.
6933         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
6934         'dup' module is in use.
6935         * modules/fdopendir (Depends-on): Add dup.
6936         * modules/fdutimensat-tests (Depends-on): Likewise.
6937         * modules/fts (Depends-on): Likewise.
6938         * modules/futimens-tests (Depends-on): Likewise.
6939         * modules/posix_spawnp-tests (Depends-on): Likewise.
6940         * modules/unistd-safer-tests (Depends-on): Likewise.
6941         * modules/utimens-tests (Depends-on): Likewise.
6942         * doc/posix-functions/dup.texi: Mention the new module and the problem
6943         on MSVC.
6944
6945 2011-09-23  Bruno Haible  <bruno@clisp.org>
6946
6947         getdtablesize: Support for MSVC 9.
6948         * lib/getdtablesize.c: Include msvc-inval.h.
6949         (_setmaxstdio_nothrow): New function.
6950         (_setmaxstdio): Redefine it.
6951         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
6952         * modules/getdtablesize (Depends-on): Add msvc-inval.
6953         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
6954
6955 2011-09-23  Bruno Haible  <bruno@clisp.org>
6956
6957         signal-h: Rename from signal.
6958         * modules/signal-h: Renamed from modules/signal.
6959         * modules/pthread_sigmask (Depends-on): Update.
6960         * modules/raise (Depends-on): Likewise.
6961         * modules/sigaction (Depends-on): Likewise.
6962         * modules/sigpipe (Depends-on): Likewise.
6963         * modules/sigprocmask (Depends-on): Likewise.
6964         * modules/sys_select (Depends-on): Likewise.
6965         * modules/signal-h-tests: Renamed from modules/signal-tests.
6966         (Files, Depends-on, Makefile.am): Update.
6967         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
6968         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
6969         (Files, Makefile.am): Update.
6970         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
6971         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
6972         * modules/signal: New placeholder file.
6973         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
6974         * doc/posix-headers/signal.texi: Update.
6975         * NEWS: Mention the change.
6976
6977 2011-09-23  Bruno Haible  <bruno@clisp.org>
6978
6979         sigprocmask: Avoid crashes through signal() on MSVC 9.
6980         * lib/sigprocmask.c: Include msvc-inval.h.
6981         (signal_nothrow): New function.
6982         (signal): Redefine it.
6983         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
6984         * modules/sigprocmask (Depends-on): Add msvc-inval.
6985         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
6986
6987 2011-09-23  Bruno Haible  <bruno@clisp.org>
6988
6989         Tests for module 'raise'.
6990         * modules/raise-tests: New file.
6991         * tests/test-raise.c: New file.
6992
6993         raise: Support for MSVC.
6994         * lib/signal.in.h (raise): New declaration.
6995         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
6996         for native Windows platforms.
6997         * m4/raise.m4: New file.
6998         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
6999         HAVE_RAISE, REPLACE_RAISE.
7000         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
7001         REPLACE_RAISE.
7002         * modules/raise (Status, Notice): Remove fields.
7003         (Files): Add m4/raise.m4.
7004         (Depends-on): Add signal, msvc-inval.
7005         (configure.ac): Use the common idioms.
7006         (Maintainer): Add me.
7007         * tests/test-signal-c++.cc: Check the signature of raise.
7008         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
7009
7010 2011-09-23  Bruno Haible  <bruno@clisp.org>
7011
7012         pipe2: Fix compilation on pre-C99 compilers.
7013         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
7014
7015 2011-09-23  Bruno Haible  <bruno@clisp.org>
7016
7017         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
7018         * lib/msvc-nothrow.h: New file.
7019         * lib/msvc-nothrow.c: New file.
7020         * m4/msvc-nothrow.m4: New file.
7021         * modules/msvc-nothrow: New file.
7022         * lib/dup2.c: Include msvc-nothrow.h.
7023         (rpl_dup2): No need to protect _get_osfhandle call here.
7024         * lib/accept4.c: Include msvc-nothrow.h.
7025         * lib/error.c: Likewise.
7026         * lib/fcntl.c: Likewise.
7027         * lib/lseek.c: Likewise.
7028         * lib/nonblocking.c: Likewise.
7029         * lib/poll.c: Likewise.
7030         * lib/read.c: Likewise.
7031         * lib/select.c: Likewise.
7032         * lib/sockets.h: Likewise.
7033         * lib/sockets.c: Likewise.
7034         * lib/stdio-read.c: Likewise.
7035         * lib/stdio-write.c: Likewise.
7036         * lib/write.c: Likewise.
7037         * lib/w32sock.h: Likewise.
7038         * lib/w32spawn.h: Likewise.
7039         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
7040         * lib/fsync.c: Likewise.
7041         * lib/isapipe.c: Likewise.
7042         * modules/dup2 (Depends-on): Add msvc-nothrow.
7043         * modules/accept4 (Depends-on): Likewise.
7044         * modules/error (Depends-on): Likewise.
7045         * modules/fcntl (Depends-on): Likewise.
7046         * modules/lseek (Depends-on): Likewise.
7047         * modules/nonblocking (Depends-on): Likewise.
7048         * modules/poll (Depends-on): Likewise.
7049         * modules/read (Depends-on): Likewise.
7050         * modules/select (Depends-on): Likewise.
7051         * modules/sockets (Depends-on): Likewise.
7052         * modules/sigpipe (Depends-on): Likewise.
7053         * modules/write (Depends-on): Likewise.
7054         * modules/accept (Depends-on): Likewise.
7055         * modules/bind (Depends-on): Likewise.
7056         * modules/connect (Depends-on): Likewise.
7057         * modules/gethostname (Depends-on): Likewise.
7058         * modules/getpeername (Depends-on): Likewise.
7059         * modules/getsockname (Depends-on): Likewise.
7060         * modules/getsockopt (Depends-on): Likewise.
7061         * modules/ioctl (Depends-on): Likewise.
7062         * modules/listen (Depends-on): Likewise.
7063         * modules/recv (Depends-on): Likewise.
7064         * modules/recvfrom (Depends-on): Likewise.
7065         * modules/send (Depends-on): Likewise.
7066         * modules/sendto (Depends-on): Likewise.
7067         * modules/setsockopt (Depends-on): Likewise.
7068         * modules/shutdown (Depends-on): Likewise.
7069         * modules/socket (Depends-on): Likewise.
7070         * modules/execute (Depends-on): Likewise.
7071         * modules/spawn-pipe (Depends-on): Likewise.
7072         * modules/flock (Depends-on): Likewise.
7073         * modules/fsync (Depends-on): Likewise.
7074         * modules/isapipe (Depends-on): Likewise.
7075         * tests/test-cloexec.c: Include msvc-nothrow.h.
7076         * tests/test-dup-safer.c: Likewise.
7077         * tests/test-dup2.c: Likewise.
7078         * tests/test-dup3.c: Likewise.
7079         * tests/test-fcntl.c: Likewise.
7080         * tests/test-pipe.c: Likewise.
7081         * tests/test-pipe2.c: Likewise.
7082         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
7083         * modules/unistd-safer-tests (Depends-on): Likewise.
7084         * modules/dup2-tests (Depends-on): Likewise.
7085         * modules/dup3-tests (Depends-on): Likewise.
7086         * modules/fcntl-tests (Depends-on): Likewise.
7087         * modules/pipe-posix-tests (Depends-on): Likewise.
7088         * modules/pipe2-tests (Depends-on): Likewise.
7089
7090 2011-09-23  Bruno Haible  <bruno@clisp.org>
7091
7092         dup2: Make code more maintainable.
7093         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
7094         (rpl_dup2): Use it.
7095         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
7096         * modules/dup2 (configure.ac): Invoke it.
7097         Reported by Paul Eggert.
7098
7099 2011-09-23  Bruno Haible  <bruno@clisp.org>
7100
7101         msvc-inval: Fix compilation error.
7102         * lib/msvc-inval.h: Include <excpt.h>.
7103
7104 2011-09-23  Bruno Haible  <bruno@clisp.org>
7105
7106         mkdir: Tweak for MSVC 9.
7107         * lib/sys_stat.in.h: Update comments.
7108         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
7109
7110         Tests for module 'chdir'.
7111         * modules/chdir-tests: New file.
7112         * tests/test-chdir.c: New file.
7113
7114         New module 'chdir'.
7115         * modules/chdir: New file.
7116         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
7117         (chdir): New declaration.
7118         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
7119         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
7120         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
7121         * tests/test-unistd-c++.cc: Check signature of chdir.
7122         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
7123         * modules/chdir-long (Depends-on): Add chdir.
7124         * modules/fchdir (Depends-on): Likewise.
7125         * modules/rename (Depends-on): Likewise.
7126         * modules/savewd (Depends-on): Likewise.
7127
7128         rmdir: Support for mingw, MSVC 9.
7129         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
7130         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
7131
7132         getcwd: Tweak for MSVC 9.
7133         * lib/unistd.in.h: Update comments.
7134         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
7135
7136 2011-09-22  Bruno Haible  <bruno@clisp.org>
7137
7138         strerror_r-posix: Avoid a link error on MSVC.
7139         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
7140         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
7141
7142 2011-09-22  Bruno Haible  <bruno@clisp.org>
7143
7144         select: Avoid link errors on MSVC.
7145         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
7146         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
7147         * modules/pselect (Link): Likewise.
7148         * NEWS: Mention the change.
7149         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
7150         test-select-stdin against $(LIB_SELECT).
7151         * modules/pselect-tests (Makefile.am): Link test-pselect against
7152         $(LIB_SELECT).
7153
7154 2011-09-22  Bruno Haible  <bruno@clisp.org>
7155
7156         select: Avoid compilation error on MSVC.
7157         * lib/select.c: Don't include <stdbool.h>.
7158
7159 2011-09-21  Bruno Haible  <bruno@clisp.org>
7160
7161         Consolidate all uses of PATH_MAX in *.m4 files.
7162         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
7163         macros.
7164         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
7165         and gl_PATHMAX_SNIPPET.
7166         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
7167         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
7168         * modules/chdir-long (Files): Add m4/pathmax.m4.
7169         * modules/getcwd (Files): Likewise.
7170
7171 2011-09-21  Bruno Haible  <bruno@clisp.org>
7172
7173         ftruncate: Un-deprecate, concentrate on Win32 support.
7174         * modules/ftruncate (Status, Notice): Remove sections.
7175         (Depends-on): Add largefile.
7176         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
7177         non-mingw platforms.
7178         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
7179         include <io.h>.
7180         * modules/perror-tests (Depends-on): Add ftruncate.
7181         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
7182         'ftruncate' module.
7183
7184 2011-09-21  Bruno Haible  <bruno@clisp.org>
7185
7186         Add dependencies to new dirent related modules.
7187         * modules/opendir (Depends-on): Add closedir.
7188         * modules/getcwd (Depends-on): Add opendir, closedir.
7189         * modules/dirent-safer-tests (Depends-on): Likewise.
7190         * modules/fdopendir-tests (Depends-on): Likewise.
7191         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
7192         * modules/renameat-tests (Depends-on): Likewise.
7193
7194 2011-09-21  Bruno Haible  <bruno@clisp.org>
7195
7196         opendir: Avoid compilation error on mingw.
7197         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
7198         * modules/opendir (Depends-on): Add unistd.
7199
7200 2011-09-21  Bruno Haible  <bruno@clisp.org>
7201
7202         ftruncate tests: Avoid a test failure on mingw.
7203         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
7204
7205 2011-09-21  Bruno Haible  <bruno@clisp.org>
7206
7207         select tests: Avoid test failures on OSF/1 5.1 and mingw.
7208         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
7209         native Windows.
7210
7211 2011-09-21  Bruno Haible  <bruno@clisp.org>
7212
7213         New module 'fdopen'.
7214         * lib/stdio.in.h (fdopen): New declaration.
7215         * lib/fdopen.c: New file.
7216         * m4/fdopen.m4: New file.
7217         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
7218         REPLACE_FDOPEN.
7219         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
7220         REPLACE_FDOPEN.
7221         * modules/fdopen: New file.
7222         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
7223         * tests/test-stdio-c++.cc: Check signature of fdopen.
7224         * doc/posix-functions/fdopen.texi: Mention the new module.
7225
7226 2011-09-21  Bruno Haible  <bruno@clisp.org>
7227
7228         unlockpt tests: Avoid test failure on NetBSD 5.1.
7229         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
7230         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
7231
7232 2011-09-21  Bruno Haible  <bruno@clisp.org>
7233
7234         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
7235         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
7236         * tests/test-getlogin_r.c (main): Likewise.
7237
7238 2011-09-20  Bruno Haible  <bruno@clisp.org>
7239
7240         time tests: Don't require pid_t.
7241         * doc/posix-headers/time.texi: Revert last change.
7242         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
7243         * tests/test-time.c: Comment out the check for pid_t.
7244
7245 2011-09-20  Bruno Haible  <bruno@clisp.org>
7246
7247         fsync tests: Avoid a test failure on mingw.
7248         * tests/test-fsync.c (main): Allow a failure with EIO.
7249
7250 2011-09-20  Bruno Haible  <bruno@clisp.org>
7251
7252         euidaccess: Update comments.
7253         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
7254
7255 2011-09-20  Bruno Haible  <bruno@clisp.org>
7256
7257         Ensure EBADF returns for socket functions on mingw.
7258         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
7259         descriptor is invalid.
7260         * lib/bind.c (rpl_bind): Likewise.
7261         * lib/connect.c (rpl_connect): Likewise.
7262         * lib/getpeername.c (rpl_getpeername): Likewise.
7263         * lib/getsockname.c (rpl_getsockname): Likewise.
7264         * lib/getsockopt.c (rpl_getsockopt): Likewise.
7265         * lib/listen.c (rpl_listen): Likewise.
7266         * lib/recv.c (rpl_recv): Likewise.
7267         * lib/recvfrom.c (rpl_recvfrom): Likewise.
7268         * lib/send.c (rpl_send): Likewise.
7269         * lib/sendto.c (rpl_sendto): Likewise.
7270         * lib/setsockopt.c (rpl_setsockopt): Likewise.
7271         * lib/shutdown.c (rpl_shutdown): Likewise.
7272
7273 2011-09-20  Bruno Haible  <bruno@clisp.org>
7274
7275         select tests: EBADF tests.
7276         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
7277         test_bad_fd): New functions.
7278         (test_function): Invoke also test_bad_fd.
7279
7280 2011-09-20  Bruno Haible  <bruno@clisp.org>
7281
7282         Tests for module 'posix_spawn_file_actions_addopen.
7283         * modules/posix_spawn_file_actions_addopen-tests: New file.
7284         * tests/test-posix_spawn_file_actions_addopen.c: New file.
7285
7286         Tests for module 'posix_spawn_file_actions_adddup2'.
7287         * modules/posix_spawn_file_actions_adddup2-tests: New file.
7288         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
7289
7290         Tests for module 'posix_spawn_file_actions_addclose'.
7291         * modules/posix_spawn_file_actions_addclose-tests: New file.
7292         * tests/test-posix_spawn_file_actions_addclose.c: New file.
7293
7294 2011-09-20  Bruno Haible  <bruno@clisp.org>
7295
7296         Tests for module 'unlockpt'.
7297         * modules/unlockpt-tests: New file.
7298         * tests/test-unlockpt.c: New file.
7299         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
7300
7301         Tests for module 'grantpt'.
7302         * modules/grantpt-tests: New file.
7303         * tests/test-grantpt.c: New file.
7304         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
7305
7306 2011-09-20  Bruno Haible  <bruno@clisp.org>
7307
7308         freopen tests: EBADF tests.
7309         * tests/test-freopen.c: Include errno.h, unistd.h.
7310         (main): Add tests for EBADF, commented out for the moment.
7311
7312         fclose tests: EBADF tests.
7313         * tests/test-fclose.c (main): Add tests for EBADF.
7314
7315         fflush tests: EBADF tests.
7316         * tests/test-fflush.c: Include errno.h, macros.h.
7317         (main): Add tests for EBADF.
7318
7319         ftello tests: EBADF tests.
7320         * tests/test-ftello4.sh: New file.
7321         * tests/test-ftello4.c: New file.
7322         * modules/ftello-tests (Files): Add them.
7323         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
7324
7325         fseeko tests: EBADF tests.
7326         * tests/test-fseeko4.sh: New file.
7327         * tests/test-fseeko4.c: New file.
7328         * modules/fseeko-tests (Files): Add them.
7329         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
7330
7331         Tests for function fputc().
7332         * modules/fputc-tests: New file.
7333         * tests/test-fputc.c: New file.
7334         * modules/stdio-tests (Depends-on): Add fputc-tests.
7335
7336         Tests for function fgetc().
7337         * modules/fgetc-tests: New file.
7338         * tests/test-fgetc.c: New file.
7339         * modules/stdio-tests (Depends-on): Add fgetc-tests.
7340
7341         Tests for function fdopen().
7342         * modules/fdopen-tests: New file.
7343         * tests/test-fdopen.c: New file.
7344         * modules/stdio-tests (Depends-on): Add fdopen-tests.
7345
7346         Tests for module 'vdprintf'.
7347         * modules/vdprintf-tests: New file.
7348         * tests/test-vdprintf.c: New file.
7349
7350         Tests for module 'dprintf'.
7351         * modules/dprintf-tests: New file.
7352         * tests/test-dprintf.c: New file.
7353
7354 2011-09-20  Bruno Haible  <bruno@clisp.org>
7355
7356         Tests for module 'ioctl'.
7357         * modules/ioctl-tests: New file.
7358         * tests/test-ioctl.c: New file.
7359
7360 2011-09-20  Bruno Haible  <bruno@clisp.org>
7361
7362         fcntl tests: EBADF tests.
7363         * tests/test-fcntl.c (main): Add more tests for EBADF.
7364
7365 2011-09-20  Bruno Haible  <bruno@clisp.org>
7366
7367         utimensat tests: EBADF tests.
7368         * tests/test-utimensat.c (main): Add tests for EBADF.
7369
7370         renameat tests: EBADF tests.
7371         * tests/test-renameat.c (main): Add tests for EBADF.
7372
7373         mkfifoat tests: EBADF tests.
7374         * tests/test-mkfifoat.c (main): Add tests for EBADF.
7375
7376         readlinkat tests: EBADF tests.
7377         * tests/test-readlinkat.c (main): Add tests for EBADF.
7378
7379         symlinkat tests: EBADF tests.
7380         * tests/test-symlinkat.c (main): Add tests for EBADF.
7381
7382         linkat tests: EBADF tests.
7383         * tests/test-linkat.c (main): Add tests for EBADF.
7384
7385         Tests for module 'faccessat'.
7386         * modules/faccessat-tests: New file.
7387         * tests/test-faccessat.c: New file.
7388
7389         fdopendir tests: EBADF tests.
7390         * tests/test-fdopendir.c (main): Add more tests for EBADF.
7391
7392         openat tests: EBADF tests.
7393         * tests/test-fchownat.c (main): Add tests for EBADF.
7394         * tests/test-fstatat.c (main): Likewise.
7395         * tests/test-mkdirat.c (main): Likewise.
7396         * tests/test-openat.c (main): Likewise.
7397         * tests/test-unlinkat.c (main): Likewise.
7398         * tests/test-fchmodat.c: New file.
7399         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
7400         (Makefile.am): Also run 'test-fchmodat'.
7401
7402 2011-09-20  Bruno Haible  <bruno@clisp.org>
7403
7404         utimens, futimens, fdutimensat tests: EBADF tests.
7405         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
7406
7407         Tests for function fstat().
7408         * modules/fstat-tests: New file.
7409         * tests/test-fstat.c: New file.
7410         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
7411
7412 2011-09-20  Bruno Haible  <bruno@clisp.org>
7413
7414         test-ttyname_r tests: EBADF tests.
7415         * tests/test-ttyname_r.c (main): Add tests for EBADF.
7416
7417         Tests for module 'isatty'.
7418         * modules/isatty-tests: New file.
7419         * tests/test-isatty.c: New file.
7420
7421         Tests for module 'write'.
7422         * modules/write-tests: New file.
7423         * tests/test-write.c: New file.
7424
7425         Tests for module 'read'.
7426         * modules/read-tests: New file.
7427         * tests/test-read.c: New file.
7428
7429         pwrite tests: EBADF tests.
7430         * tests/test-pwrite.c (main): Add tests for EBADF.
7431
7432         pread tests: EBADF tests.
7433         * tests/test-pread.c (main): Add tests for EBADF.
7434
7435         lseek tests: EBADF tests.
7436         * tests/test-lseek.c (main): Add more tests for EBADF.
7437
7438         Tests for module 'ftruncate'.
7439         * modules/ftruncate-tests: New file.
7440         * tests/test-ftruncate.sh: New file.
7441         * tests/test-ftruncate.c: New file.
7442
7443         fsync tests: EBADF tests.
7444         * tests/test-fsync.c (main): Add more tests for EBADF.
7445
7446         fdatasync tests: EBADF tests.
7447         * tests/test-fdatasync.c (main): Add more tests for EBADF.
7448
7449         Tests for module 'fchown'.
7450         * modules/fchown-tests: New file.
7451         * tests/test-fchown.c: New file.
7452
7453         Tests for module 'fchmod'.
7454         * modules/fchmod-tests: New file.
7455         * tests/test-fchmod.c: New file.
7456
7457         fchdir tests: EBADF tests.
7458         * tests/test-fchdir.c (main): Add more tests for EBADF.
7459
7460         dup2 tests: EBADF tests.
7461         * tests/test-dup2.c (main): Add more tests for EBADF.
7462
7463         Tests for module 'dup'.
7464         * modules/dup-tests: New file.
7465         * tests/test-dup.c: New file.
7466
7467         Tests for module 'close'.
7468         * modules/close-tests: New file.
7469         * tests/test-close.c: New file.
7470
7471 2011-09-20  Bruno Haible  <bruno@clisp.org>
7472
7473         Tests for module 'shutdown'.
7474         * modules/shutdown-tests: New file.
7475         * tests/test-shutdown.c: New file.
7476
7477         Tests for module 'setsockopt'.
7478         * modules/setsockopt-tests: New file.
7479         * tests/test-setsockopt.c: New file.
7480
7481         Tests for module 'sendto'.
7482         * modules/sendto-tests: New file.
7483         * tests/test-sendto.c: New file.
7484
7485         Tests for module 'send'.
7486         * modules/send-tests: New file.
7487         * tests/test-send.c: New file.
7488
7489         Tests for module 'recvfrom'.
7490         * modules/recvfrom-tests: New file.
7491         * tests/test-recvfrom.c: New file.
7492
7493         Tests for module 'recv'.
7494         * modules/recv-tests: New file.
7495         * tests/test-recv.c: New file.
7496
7497         Tests for module 'listen'.
7498         * modules/listen-tests: New file.
7499         * tests/test-listen.c: New file.
7500
7501         Tests for module 'getsockopt'.
7502         * modules/getsockopt-tests: New file.
7503         * tests/test-getsockopt.c: New file.
7504
7505         Tests for module 'getsockname'.
7506         * modules/getsockname-tests: New file.
7507         * tests/test-getsockname.c: New file.
7508
7509         Tests for module 'getpeername'.
7510         * modules/getpeername-tests: New file.
7511         * tests/test-getpeername.c: New file.
7512
7513         Tests for module 'connect'.
7514         * modules/connect-tests: New file.
7515         * tests/test-connect.c: New file.
7516
7517         Tests for module 'bind'.
7518         * modules/bind-tests: New file.
7519         * tests/test-bind.c: New file.
7520
7521         accept4 tests: Fix for native Windows.
7522         * tests/test-accept4.c: Include sockets.h.
7523         (main): Invoke gl_sockets_startup.
7524         * modules/accept4-tests (Depends-on): Add sockets.
7525
7526         accept tests: Fix for native Windows.
7527         * tests/test-accept.c: Include sockets.h.
7528         (main): Invoke gl_sockets_startup.
7529         * modules/accept-tests (Depends-on): Add sockets.
7530
7531 2011-09-19  Bruno Haible  <bruno@clisp.org>
7532
7533         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
7534         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
7535         do...while(0).
7536         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
7537         Suggested by Paul Eggert.
7538
7539 2011-09-19  Bruno Haible  <bruno@clisp.org>
7540
7541         sched: Ensure pid_t is defined.
7542         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
7543         not define pid_t.
7544         * lib/sched.in.h: Include <sys/types.h>.
7545         * doc/posix-headers/sched.texi: Mention the pid_t problem.
7546         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
7547
7548 2011-09-19  Bruno Haible  <bruno@clisp.org>
7549
7550         msvc-inval: Ensure the entire expansion is a single statement.
7551         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
7552         of braces.
7553
7554 2011-09-19  Jim Meyering  <meyering@redhat.com>
7555
7556         tests: use printf, not echo in init.sh's warn_ function
7557         * tests/init.sh (warn_): Use printf, not echo.  The latter would
7558         misbehave when given strings containing a backslash or starting
7559         with e.g., -n.  James Youngman suggested setting IFS.
7560
7561 2011-09-19  Eric Blake  <eblake@redhat.com>
7562
7563         futimens: enhance test
7564         * tests/test-futimens.h (test_futimens): Also check for EBADF on
7565         closed non-negative fd.
7566
7567         date: accept 'hence' as opposite of 'ago'
7568         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
7569         * tests/test-parse-datetime.c (main): Enhance test.
7570         Suggested by Jesse Wilson.
7571
7572 2011-09-19  Jim Meyering  <meyering@redhat.com>
7573
7574         getcwd: don't fail in a deep directory on a system without openat
7575         Before this change, getcwd would fail when called from a directory
7576         of depth PATH_MAX / 3 or greater.  That was due to the fact that
7577         the non-openat implementation used "..", "../..", "../../..", etc.
7578         to access ancestor directories.  With too many, that string would
7579         be longer than PATH_MAX.
7580         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
7581         using gnulib's openat replacement.
7582         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
7583         we're using the replacement function.
7584
7585 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
7586
7587         maint.mk: avoid warnings from perl about missing files
7588         * top/maint.mk (def_sym_regex): Ignore files listed in
7589         $(gl_other_headers_) that do not exist, say because a project
7590         does not use a corresponding module.
7591
7592 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7593
7594         stat: use pathmax.h only if needed
7595         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
7596         This is better for Emacs, which does not have a mingw port and
7597         therefore can avoid the pathmax module.
7598
7599         utimens: remove dependency on dup2
7600         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
7601         to work around the Linux kernel bug.
7602         * modules/utimens (Depends-on): Remove dup2.
7603
7604 2011-09-18  Bruno Haible  <bruno@clisp.org>
7605
7606         inet_ntop, inet_pton: Look for it also in libresolv.
7607         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
7608         libnsl, search for it in libresolv.
7609         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7610         Needed on Solaris 7.
7611
7612 2011-09-18  Bruno Haible  <bruno@clisp.org>
7613
7614         accept, accept4 tests: Avoid link error on Solaris.
7615         * modules/accept-tests (Makefile.am): Link test-accept against
7616         $(LIBSOCKET).
7617         * modules/accept4-tests (Makefile.am): Link test-accept4 against
7618         $(LIBSOCKET).
7619
7620         accept4: Avoid link error on Solaris.
7621         * modules/accept4 (Link): New section.
7622
7623         socket functions: Avoid link errors on Solaris.
7624         * modules/accept (Depends-on): Add socketlib.
7625         (Link): New section.
7626         * modules/bind (Depends-on): Add socketlib.
7627         (Link): New section.
7628         * modules/connect (Depends-on): Add socketlib.
7629         (Link): New section.
7630         * modules/getpeername (Depends-on): Add socketlib.
7631         (Link): New section.
7632         * modules/getsockname (Depends-on): Add socketlib.
7633         (Link): New section.
7634         * modules/getsockopt (Depends-on): Add socketlib.
7635         (Link): New section.
7636         * modules/listen (Depends-on): Add socketlib.
7637         (Link): New section.
7638         * modules/recv (Depends-on): Add socketlib.
7639         (Link): New section.
7640         * modules/recvfrom (Depends-on): Add socketlib.
7641         (Link): New section.
7642         * modules/send (Depends-on): Add socketlib.
7643         (Link): New section.
7644         * modules/sendto (Depends-on): Add socketlib.
7645         (Link): New section.
7646         * modules/setsockopt (Depends-on): Add socketlib.
7647         (Link): New section.
7648         * modules/shutdown (Depends-on): Add socketlib.
7649         (Link): New section.
7650         * modules/socket (Depends-on): Add socketlib.
7651         (Link): New section.
7652
7653 2011-09-18  Bruno Haible  <bruno@clisp.org>
7654
7655         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
7656         * tests/test-ptsname.c (main): Terminate the test if it takes longer
7657         than 5 seconds.
7658         * modules/ptsname-tests (configure.ac): Test for alarm.
7659
7660 2011-09-18  Bruno Haible  <bruno@clisp.org>
7661
7662         posix_spawn_file_actions_add*: Fix module dependencies.
7663         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
7664         posix_spawn_file_actions_init.
7665         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
7666         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
7667
7668 2011-09-18  Bruno Haible  <bruno@clisp.org>
7669
7670         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
7671         * tests/test-rename.h (test_rename): Allow error code EEXIST.
7672         * tests/test-renameat.c (main): Likewise.
7673
7674 2011-09-18  Bruno Haible  <bruno@clisp.org>
7675
7676         Tests for module 'accept4'.
7677         * modules/accept4-tests: New file.
7678         * tests/test-accept4.c: New file.
7679
7680 2011-09-18  Bruno Haible  <bruno@clisp.org>
7681
7682         Tests for module 'accept'.
7683         * modules/accept-tests: New file.
7684         * tests/test-accept.c: New file.
7685
7686 2011-09-18  Bruno Haible  <bruno@clisp.org>
7687
7688         dup2: Support for MSVC.
7689         * lib/dup2.c: Include msvc-inval.h.
7690         (rpl_dup2): Handle invalid parameter notifications during dup2 and
7691         _get_osfhandle calls.
7692         * modules/dup2 (Depends-on): Add msvc-inval.
7693         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
7694
7695         New module 'msvc-inval'.
7696         * lib/msvc-inval.h: New file.
7697         * lib/msvc-inval.c: New file.
7698         * m4/msvc-inval.m4: New file.
7699         * modules/msvc-inval: New file.
7700
7701 2011-09-17  Bruno Haible  <bruno@clisp.org>
7702
7703         Tests for module 'pclose'.
7704         * modules/pclose-tests: New file.
7705
7706         New module 'pclose'.
7707         * lib/stdio.in.h (pclose): New declaration.
7708         * lib/pclose.c: New file.
7709         * m4/pclose.m4: New file.
7710         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
7711         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
7712         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
7713         * modules/pclose: New file.
7714         * modules/popen-tests (Depends-on): Add pclose.
7715         * modules/popen-safer-tests (Depends-on): Likewise.
7716         * doc/posix-functions/pclose.texi: Mention the new module.
7717
7718 2011-09-17  Bruno Haible  <bruno@clisp.org>
7719
7720         popen: Support for MSVC.
7721         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
7722         * lib/popen.c (popen): Provide alternate definition for native Windows.
7723         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
7724         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
7725         * modules/popen (Depends-on, configure.ac): Update condition.
7726         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
7727         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
7728         fixed.
7729
7730 2011-09-17  Bruno Haible  <bruno@clisp.org>
7731
7732         isnanl, isnand, isnanf: Work around MSVC bug.
7733         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
7734
7735 2011-09-17  Bruno Haible  <bruno@clisp.org>
7736
7737         sys_socket tests: Fix recent mistake.
7738         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
7739
7740 2011-09-17  Bruno Haible  <bruno@clisp.org>
7741
7742         putenv: Support for MSVC.
7743         * modules/putenv (Depends-on): Add environ.
7744         * lib/putenv.c (environ): Disable declaration.
7745         * lib/unistd.in.h: Update comment.
7746
7747 2011-09-17  Bruno Haible  <bruno@clisp.org>
7748
7749         math: Avoid macro redefinition warnings on MSVC.
7750         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
7751         Undefine before redefining.
7752
7753 2011-09-17  Bruno Haible  <bruno@clisp.org>
7754
7755         doc: Mention functions which are declared as macros.
7756         * doc/posix-functions/*[fl].texi: Mention that some functions are
7757         defined as macros with arguments only.
7758
7759 2011-09-17  Bruno Haible  <bruno@clisp.org>
7760
7761         Add dependencies to new dirent related modules.
7762         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
7763         * modules/fts (Depends-on): Likewise.
7764         * modules/glob (Depends-on): Likewise.
7765         * modules/savedir (Depends-on): Likewise.
7766         * modules/scandir (Depends-on): Likewise.
7767         * modules/dirent-safer (Depends-on): Add opendir, closedir.
7768         * modules/fdopendir (Depends-on): Add opendir.
7769
7770 2011-09-17  Bruno Haible  <bruno@clisp.org>
7771
7772         inet_pton: Support for MSVC on Windows Vista or newer.
7773         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
7774         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
7775         HAVE_DECL_INET_PTON is defined.
7776         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
7777         On platforms with <winsock2.h>, test whether inet_pton is declared in
7778         <ws2tcpip.h>. If so, arrange to replace it.
7779         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
7780         REPLACE_INET_PTON.
7781         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
7782         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
7783         (Depends-on, configure.ac): Update condition.
7784         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
7785
7786 2011-09-17  Bruno Haible  <bruno@clisp.org>
7787
7788         inet_ntop: Support for MSVC on Windows Vista or newer.
7789         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
7790         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
7791         HAVE_DECL_INET_NTOP is defined.
7792         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
7793         On platforms with <winsock2.h>, test whether inet_ntop is declared in
7794         <ws2tcpip.h>. If so, arrange to replace it.
7795         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
7796         REPLACE_INET_NTOP.
7797         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
7798         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
7799         (Depends-on, configure.ac): Update condition.
7800         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
7801
7802 2011-09-16  Eric Blake  <eblake@redhat.com>
7803
7804         test-fsync: yet another enhancement
7805         * tests/test-fsync.c (main): Also test behavior on read-only text
7806         file.
7807
7808 2011-09-16  Bruno Haible  <bruno@clisp.org>
7809
7810         Enhance fsync, fdatasync tests.
7811         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
7812         * tests/test-fdatasync.c (main): Likewise.
7813
7814 2011-09-16  Bruno Haible  <bruno@clisp.org>
7815
7816         Support for MSVC compiler: Ensure mode_t gets defined.
7817         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
7818         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
7819         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
7820         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
7821         * tests/test-fcntl-h.c: Check that mode_t is defined.
7822         * tests/test-sys_stat.c: Likewise.
7823         * tests/test-sys_types.c: Likewise.
7824         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
7825         * doc/posix-headers/sys_stat.texi: Likewise.
7826         * doc/posix-headers/sys_types.texi: Likewise.
7827
7828 2011-09-16  Bruno Haible  <bruno@clisp.org>
7829
7830         sys_stat: Support for MSVC.
7831         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
7832         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
7833         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
7834         MSVC.
7835
7836 2011-09-16  Bruno Haible  <bruno@clisp.org>
7837
7838         Support for MSVC compiler: Ensure off_t gets defined.
7839         * lib/unistd.in.h: Include <sys/types.h>.
7840         * tests/test-fcntl-h.c: Check that off_t is defined.
7841         * tests/test-sys_stat.c: Likewise.
7842         * tests/test-sys_types.c: Likewise.
7843
7844 2011-09-16  Eric Blake  <eblake@redhat.com>
7845
7846         fdatasync: port to Solaris
7847         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
7848         * modules/fdatasync (Link): Document it.
7849         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
7850
7851         fdatasync: port to MacOS X 10.7
7852         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
7853         declared.
7854         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
7855         * modules/unistd (Makefile.am): Substitute it.
7856         * lib/unistd.in.h (fdatasync): Declare on MacOS.
7857         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
7858
7859         fdatasync: minor improvements
7860         * modules/fdatasync (Depends-on): Add condition for fsync.
7861         * lib/fdatasync.c (fdatasync): Add comment.
7862         * tests/test-unistd-c++.cc: Test fdatasync.
7863
7864         unistd: update refs to newer POSIX
7865         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
7866         Suggested by Bruno Haible.
7867
7868         fdatasync: new module
7869         * modules/fsync (Description): Document difference to fdatasync.
7870         * modules/fdatasync: New module.
7871         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
7872         * lib/fdatasync.c (fdatasync): Likewise.
7873         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
7874         defaults.
7875         * modules/unistd (Makefile.am): Set witnesses.
7876         * lib/unistd.in.h (fdatasync): Declare.
7877         * MODULES.html.sh: Document it.
7878         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
7879         * modules/fdatasync-tests: New test.
7880         * tests/test-fdatasync.c: Likewise.
7881
7882 2011-09-16  Eric Blake  <eblake@redhat.com>
7883
7884         test-fsync: enhance tests
7885         * modules/fsync-tests (Depends-on): Add errno, for mingw.
7886         * tests/test-fsync.c (main): Enhance test.
7887
7888 2011-09-15  Bruno Haible  <bruno@clisp.org>
7889
7890         Support for MSVC compiler: Ensure ssize_t gets defined.
7891         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
7892         * doc/posix-headers/stdio.texi: Likewise.
7893         * modules/stdio (Depends-on): Add ssize_t.
7894         * modules/sys_socket (Depends-on): Likewise.
7895         * modules/sys_types (Depends-on): Likewise.
7896         * modules/sys_uio (Depends-on): Likewise.
7897         * modules/unistd (Depends-on): Likewise.
7898         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
7899         * tests/test-sys_types.c: Check that ssize_t is defined.
7900
7901 2011-09-14  Bruno Haible  <bruno@clisp.org>
7902
7903         Avoid using #, the m4 comment starter character, near brackets.
7904         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
7905         delimiter character in sed expressions.
7906         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
7907         Suggested by Eric Blake.
7908
7909         Properly quote AC_CHECK_DECLS' 4th argument.
7910         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
7911         argument.
7912         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
7913         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
7914         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
7915         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
7916         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
7917         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
7918         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
7919         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
7920         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
7921         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
7922         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
7923         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
7924         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
7925         * m4/isinf.m4 (gl_ISINF): Likewise.
7926         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
7927         * m4/readutmp.m4 (gl_READUTMP): Likewise.
7928         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
7929         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7930         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7931         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
7932         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
7933         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
7934         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
7935         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
7936         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
7937         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
7938         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
7939         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
7940         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
7941         Reported by Eric Blake.
7942
7943         Properly quote AC_CHECK_DECL's 4th argument.
7944         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
7945         argument.
7946         * m4/argp.m4 (gl_ARGP): Likewise.
7947         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
7948         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
7949         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
7950         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
7951         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
7952         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
7953         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
7954         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
7955         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
7956         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
7957         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
7958         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
7959         Reported by Eric Blake.
7960
7961 2011-09-14  Eric Blake  <eblake@redhat.com>
7962
7963         opendir: avoid compile warning
7964         * lib/opendir.c (includes): Always include errno.h.
7965         Reported by Tatsuro MATSUOKA.
7966
7967 2011-09-14  Jim Meyering  <meyering@redhat.com>
7968
7969         maint.mk: sc_tight_scope: propagate failure from sub-make
7970         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
7971         Reported by Martin von Gagern.
7972
7973 2011-09-13  Bruno Haible  <bruno@clisp.org>
7974
7975         tempname: Support for MSVC.
7976         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
7977         MSVC.
7978         * modules/tempname (Depends-on): Add fcntl-h.
7979
7980 2011-09-13  Bruno Haible  <bruno@clisp.org>
7981
7982         sys_time: Support for MSVC.
7983         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
7984         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
7985         include <winsock2.h>.
7986         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
7987         function declarations that collide with POSIX.
7988         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
7989         (Makefile.am): Substitute HAVE_WINSOCK2_H.
7990
7991 2011-09-13  Bruno Haible  <bruno@clisp.org>
7992
7993         stat: Support for MSVC.
7994         * lib/stat.c: Include pathmax.h.
7995         * modules/stat (Depends-on): Add pathmax.
7996
7997         pathmax: Support for native Windows.
7998         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
7999
8000 2011-09-12  Bruno Haible  <bruno@clisp.org>
8001
8002         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
8003         * lib/dirent.in.h (struct dirent): New type.
8004         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
8005         DT_WHT): New macros.
8006         (DIR): New type.
8007         (opendir, closedir): Declare only if the module 'opendir' is enabled.
8008         (readdir, rewinddir): New declarations.
8009         * lib/dirent-private.h: New file.
8010         * lib/opendir.c: New file.
8011         * lib/readdir.c: New file.
8012         * lib/rewinddir.c: New file.
8013         * lib/closedir.c: New file.
8014         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
8015         * m4/opendir.m4: New file.
8016         * m4/readdir.m4: New file.
8017         * m4/rewinddir.m4: New file.
8018         * m4/closedir.m4: New file.
8019         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
8020         REPLACE_CLOSEDIR here.
8021         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
8022         readdir, rewinddir are declared.
8023         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
8024         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
8025         HAVE_REWINDDIR, HAVE_CLOSEDIR.
8026         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
8027         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
8028         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
8029         * modules/opendir: New file.
8030         * modules/readdir: New file.
8031         * modules/rewinddir: New file.
8032         * modules/closedir: New file.
8033         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
8034         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
8035         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
8036         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
8037         * NEWS: Mention the 'fchdir' change.
8038
8039 2011-09-11  Bruno Haible  <bruno@clisp.org>
8040
8041         asm-underscore.m4: Support for MSVC.
8042         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
8043         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
8044
8045 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
8046
8047         Doc about crypt functions.
8048         * doc/posix-functions/crypt.texi: Expand range of glibc versions
8049         needing for _GNU_SOURCE to get crypt.
8050         * doc/posix-functions/encrypt.texi: Likewise.
8051         * doc/posix-functions/setkey.texi: Likewise.
8052
8053 2011-09-11  Bruno Haible  <bruno@clisp.org>
8054
8055         doc: Update regarding MSVC 9.
8056         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
8057         tested".
8058         * doc/posix-functions/*.texi: Update with info about MSVC 9.
8059         * doc/posix-headers/*.texi: Likewise.
8060         * doc/pastposix-functions/*.texi: Likewise.
8061         * doc/glibc-functions/*.texi: Likewise.
8062         * doc/glibc-headers/*.texi: Likewise.
8063
8064 2011-09-11  Bruno Haible  <bruno@clisp.org>
8065
8066         unistd et al.: Don't assume <unistd.h> exists.
8067         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
8068         does not exist.
8069         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
8070         exist. But include <stdlib.h>.
8071         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
8072         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
8073         symlink() does not exist.
8074         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
8075         include <io.h> instead.
8076         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
8077         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
8078         include <direct.h> instead.
8079         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
8080         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
8081         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
8082         <io.h> instead.
8083         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
8084         correctly if the system does not have hard links.
8085         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
8086         <direct.h> instead.
8087         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
8088         it when looking for function declarations.
8089         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
8090         <direct.h> and <io.h> instead.
8091         * doc/posix-headers/unistd.texi: More details about MSVC problem.
8092
8093 2011-09-11  Bruno Haible  <bruno@clisp.org>
8094
8095         strcase: Support for MSVC.
8096         * modules/strcase (Status, Notice): Remove obsoletion mark.
8097         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
8098         * doc/posix-functions/strncasecmp.texi: Likewise.
8099
8100         strings: Don't assume <strings.h> exists.
8101         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
8102         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
8103         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
8104         * doc/posix-headers/strings.texi: Mention the MSVC problem.
8105
8106 2011-09-11  Bruno Haible  <bruno@clisp.org>
8107
8108         dirent: Don't assume <dirent.h> exists.
8109         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
8110         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
8111         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
8112         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
8113
8114 2011-09-11  Bruno Haible  <bruno@clisp.org>
8115
8116         Fix wint_t on MSVC.
8117         * lib/wchar.in.h (wint_t): On MSVC, override it.
8118         * lib/wctype.in.h (wint_t): Likewise.
8119         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
8120         MSVC.
8121         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
8122         * doc/posix-headers/wctype.texi: Likewise.
8123
8124 2011-09-11  Bruno Haible  <bruno@clisp.org>
8125
8126         sys_types: Fix typo.
8127         * lib/sys_types.in.h: Fix typo in comment.
8128         Reported by Paul Eggert.
8129
8130         Support for MSVC compiler: Ensure size_t gets defined.
8131         * modules/strings (Depends-on): Add 'sys_types'.
8132         * modules/sys_uio (Depends-on): Likewise.
8133         * lib/sys_uio.in.h: Update comment.
8134
8135         C++ tests for module 'sys_types'.
8136         * modules/sys_types-c++-tests: New file.
8137         * tests/test-sys_types-c++.cc: New file.
8138
8139         Tests for module 'sys_types'.
8140         * modules/sys_types-tests: New file.
8141         * tests/test-sys_types.c: New file.
8142
8143         New module 'sys_types'.
8144         * lib/sys_types.in.h: New file.
8145         * m4/sys_types_h.m4: New file.
8146         * modules/sys_types: New file.
8147         * doc/posix-headers/sys_types.texi: Mention the new module and the
8148         size_t problem on MSVC 9.
8149
8150 2011-09-11  Bruno Haible  <bruno@clisp.org>
8151
8152         Support for MSVC compiler: Avoid division by a literal 0.
8153         * lib/math.in.h (NAN): Define through a function call also on MSVC.
8154         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
8155         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
8156         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
8157         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
8158         * tests/infinity.h: New file.
8159         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
8160         on MSVC.
8161         * tests/test-ceilf1.c: Include infinity.h.
8162         (main): Use Infinityf.
8163         * tests/test-ceil1.c: Include infinity.h.
8164         (main): Use Infinityd.
8165         * tests/test-ceill.c: Include infinity.h.
8166         (main): Use Infinityl.
8167         * tests/test-dprintf-posix.c: Include infinity.h.
8168         (test_function): Use Infinityd.
8169         * tests/test-floorf1.c: Include infinity.h.
8170         (main): Use Infinityf.
8171         * tests/test-floor1.c: Include infinity.h.
8172         (main): Use Infinityd.
8173         * tests/test-floorl.c: Include infinity.h.
8174         (main): Use Infinityl.
8175         * tests/test-fprintf-posix.c: Include infinity.h.
8176         (test_function): Use Infinityd.
8177         * tests/test-frexp.c: Include infinity.h.
8178         (main): Use Infinityd.
8179         * tests/test-frexpl.c: Include infinity.h.
8180         (main): Use Infinityl.
8181         * tests/test-isfinite.c: Include infinity.h.
8182         (test_isfinitef): Use Infinityf.
8183         (test_isfinited): Use Infinityd.
8184         (test_isfinitel): Use Infinityl.
8185         * tests/test-isinf.c: Include infinity.h.
8186         (test_isinff): Use Infinityf.
8187         (test_isinfd): Use Infinityd.
8188         (test_isinfl): Use Infinityl.
8189         * tests/test-isnan.c: Include infinity.h.
8190         (test_float): Use Infinityf.
8191         (test_double): Use Infinityd.
8192         (test_long_double): Use Infinityl.
8193         * tests/test-isnanf.h: Include infinity.h.
8194         (main): Use Infinityf.
8195         * tests/test-isnand.h: Include infinity.h.
8196         (main): Use Infinityd.
8197         * tests/test-isnanl.h: Include infinity.h.
8198         (main): Use Infinityl.
8199         * tests/test-ldexpl.c: Include infinity.h.
8200         (main): Use Infinityl.
8201         * tests/test-printf-posix.h: Include infinity.h.
8202         (test_function): Use Infinityd.
8203         * tests/test-roundf1.c: Include infinity.h.
8204         (main): Use Infinityf.
8205         * tests/test-round1.c: Include infinity.h.
8206         (main): Use Infinityd.
8207         * tests/test-roundl.c: Include infinity.h.
8208         (main): Use Infinityl.
8209         * tests/test-signbit.c: Include infinity.h.
8210         (test_signbitf): Use Infinityf.
8211         (test_signbitd): Use Infinityd.
8212         (test_signbitl): Use Infinityl.
8213         * tests/test-snprintf-posix.h: Include infinity.h.
8214         (test_function): Use Infinityd, Infinityl.
8215         * tests/test-sprintf-posix.h: Include infinity.h.
8216         (test_function): Use Infinityd, Infinityl.
8217         * tests/test-truncf1.c: Include infinity.h.
8218         (main): Use Infinityf.
8219         * tests/test-trunc1.c: Include infinity.h.
8220         (main): Use Infinityd.
8221         * tests/test-truncl.c: Include infinity.h.
8222         (main): Use Infinityl.
8223         * tests/test-vasnprintf-posix.c: Include infinity.h.
8224         (test_function): Use Infinityd, Infinityl.
8225         * tests/test-vasprintf-posix.c: Include infinity.h.
8226         (test_function): Use Infinityd, Infinityl.
8227         * modules/ceilf-tests (Files): Add tests/infinity.h.
8228         * modules/ceil-tests (Files): Likewise.
8229         * modules/ceill-tests (Files): Likewise.
8230         * modules/dprintf-posix-tests (Files): Likewise.
8231         * modules/floorf-tests (Files): Likewise.
8232         * modules/floor-tests (Files): Likewise.
8233         * modules/floorl-tests (Files): Likewise.
8234         * modules/fprintf-posix-tests (Files): Likewise.
8235         * modules/frexp-tests (Files): Likewise.
8236         * modules/frexp-nolibm-tests (Files): Likewise.
8237         * modules/frexpl-tests (Files): Likewise.
8238         * modules/frexpl-nolibm-tests (Files): Likewise.
8239         * modules/isfinite-tests (Files): Likewise.
8240         * modules/isinf-tests (Files): Likewise.
8241         * modules/isnan-tests (Files): Likewise.
8242         * modules/isnanf-tests (Files): Likewise.
8243         * modules/isnanf-nolibm-tests (Files): Likewise.
8244         * modules/isnand-tests (Files): Likewise.
8245         * modules/isnand-nolibm-tests (Files): Likewise.
8246         * modules/isnanl-tests (Files): Likewise.
8247         * modules/isnanl-nolibm-tests (Files): Likewise.
8248         * modules/ldexpl-tests (Files): Likewise.
8249         * modules/printf-posix-tests (Files): Likewise.
8250         * modules/roundf-tests (Files): Likewise.
8251         * modules/round-tests (Files): Likewise.
8252         * modules/roundl-tests (Files): Likewise.
8253         * modules/signbit-tests (Files): Likewise.
8254         * modules/snprintf-posix-tests (Files): Likewise.
8255         * modules/sprintf-posix-tests (Files): Likewise.
8256         * modules/truncf-tests (Files): Likewise.
8257         * modules/trunc-tests (Files): Likewise.
8258         * modules/truncl-tests (Files): Likewise.
8259         * modules/vasnprintf-posix-tests (Files): Likewise.
8260         * modules/vasprintf-posix-tests (Files): Likewise.
8261         * modules/vdprintf-posix-tests (Files): Likewise.
8262         * modules/vfprintf-posix-tests (Files): Likewise.
8263         * modules/vprintf-posix-tests (Files): Likewise.
8264         * modules/vsnprintf-posix-tests (Files): Likewise.
8265         * modules/vsprintf-posix-tests (Files): Likewise.
8266         * modules/xprintf-posix-tests (Files): Likewise.
8267
8268 2011-09-11  Bruno Haible  <bruno@clisp.org>
8269
8270         Ensure pid_t gets defined.
8271         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
8272         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
8273         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
8274         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
8275         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
8276         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
8277         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
8278         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
8279         * tests/test-fcntl-h.c: Check that pid_t is defined.
8280         * tests/test-sched.c: Likewise.
8281         * tests/test-termios.c: Likewise.
8282         * tests/test-time.c: Likewise.
8283         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
8284         * doc/posix-headers/signal.texi: Likewise.
8285         * doc/posix-headers/sys_types.texi: Likewise.
8286         * doc/posix-headers/time.texi: Likewise.
8287
8288 2011-09-11  Bruno Haible  <bruno@clisp.org>
8289
8290         acl: Fix compilation on Solaris 10 (older version).
8291         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
8292         of ACE_EVERYONE.
8293         * lib/set-mode-acl.c (qset_acl): Likewise.
8294         Reported by Christian Jullien <eligis@orange.fr>.
8295
8296 2011-09-10  Bruno Haible  <bruno@clisp.org>
8297
8298         iconv, unsetenv: Add support for MSVC compiler.
8299         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
8300         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
8301
8302 2011-09-10  Bruno Haible  <bruno@clisp.org>
8303
8304         *printf: Add support for MSVC compiler.
8305         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
8306         handles the exception caused by the %n directive. When cross-compiling,
8307         guess no on native Windows.
8308         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
8309         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
8310         emulate it through vsnprintf.
8311         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
8312         * doc/posix-functions/dprintf.texi: Update documentation regarding
8313         MSVC 9.
8314         * doc/posix-functions/fprintf.texi: Likewise.
8315         * doc/posix-functions/printf.texi: Likewise.
8316         * doc/posix-functions/snprintf.texi: Likewise.
8317         * doc/posix-functions/sprintf.texi: Likewise.
8318         * doc/posix-functions/swprintf.texi: Likewise.
8319         * doc/posix-functions/vdprintf.texi: Likewise.
8320         * doc/posix-functions/vfprintf.texi: Likewise.
8321         * doc/posix-functions/vprintf.texi: Likewise.
8322         * doc/posix-functions/vsnprintf.texi: Likewise.
8323         * doc/posix-functions/vsprintf.texi: Likewise.
8324         * doc/glibc-functions/asprintf.texi: Likewise.
8325         * doc/glibc-functions/obstack_printf.texi: Likewise.
8326         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
8327         * doc/glibc-functions/vasprintf.texi: Likewise.
8328
8329 2011-09-10  Bruno Haible  <bruno@clisp.org>
8330
8331         nocrash: Add support for native Windows.
8332         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
8333
8334 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
8335             Bruno Haible  <bruno@clisp.org>
8336
8337         absolute-header, include-next: Add support for MSVC compiler.
8338         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
8339         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
8340         directory separator in #line directives.
8341         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
8342         recognize also backslash as directory separator in #line directives.
8343
8344 2011-09-08  Jim Meyering  <meyering@redhat.com>
8345
8346         maint.mk: mark the post-release commit log with "maint: " prefix
8347         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
8348         one-line commit-log summary.
8349
8350 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
8351             Bruno Haible  <bruno@clisp.org>
8352
8353         Doc about crypt functions.
8354         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
8355         systems.
8356         * doc/posix-functions/encrypt.texi: Likewise.
8357         * doc/posix-functions/setkey.texi: Likewise.
8358
8359 2011-09-08  Simon Josefsson  <simon@josefsson.org>
8360
8361         * lib/gc.h: Fix copyright header.
8362
8363 2011-09-07  Bruno Haible  <bruno@clisp.org>
8364
8365         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
8366         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
8367         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
8368
8369 2011-09-07  Bruno Haible  <bruno@clisp.org>
8370
8371         openat: Work around compilation error with OSF/1 5.1 DTK cc.
8372         * lib/fopen.c: Use different syntax for include of <stdio.h>.
8373         * lib/freopen.c: Likewise.
8374         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
8375         * lib/lstat.c: Likewise.
8376         * lib/stat.c: Likewise.
8377         * lib/open.c: Use different syntax for include of <fcntl.h>.
8378         * lib/openat.c: Include fcntl.h again, explicitly.
8379
8380 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
8381
8382         parse-datetime: document the newly accepted format
8383         * doc/parse-datetime.texi (Combined date and time of day items):
8384         New section.
8385
8386 2011-09-06  Bruno Haible  <bruno@clisp.org>
8387
8388         acl: Fix a test failure on newer Solaris 10 with ZFS.
8389         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
8390         ENOSYS as no ACL.
8391         Reported by Jim Meyering.
8392
8393 2011-09-06  Bruno Haible  <bruno@clisp.org>
8394
8395         acl: Update for AIX >= 5.3 with NFS.
8396         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
8397         ENOSYS as no ACL.
8398
8399         acl: Fix a test failure on AIX >= 5.3 with NFS.
8400         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
8401         as no ACL.
8402
8403 2011-09-06  Bruno Haible  <bruno@clisp.org>
8404
8405         acl: Fix a test failure on IRIX 6.5 with NFS.
8406         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
8407         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
8408         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
8409         * lib/copy-acl.c (qcopy_acl): Likewise.
8410
8411 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
8412
8413         openat: port to AIX 7.1 with large files
8414         AIX 7.1 does a "#define openat open64at" if large files are in use,
8415         so we can't simply #undef openat.  Use the orig_openat trick (similar
8416         to orig_open in lib/open.c) to work around the problem.  Problem
8417         reported by Kevin Brott for GNU tar, in the thread containing
8418         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
8419         * lib/openat.c (__need_system_fcntl_h): Define first.
8420         Include <fcntl.h> and <sys/types.h> before undefining.
8421         (orig_openat) [HAVE_OPENAT]: New inline function.
8422         (openat) [HAVE_OPENAT]: Do not undef.
8423         (rpl_openat): Use orig_openat, not openat.
8424
8425 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
8426             Bruno Haible  <bruno@clisp.org>
8427
8428         acl: Avoid errors on NonStop Kernel.
8429         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
8430         ENOTSUP errors.
8431
8432 2011-09-05  Bruno Haible  <bruno@clisp.org>
8433
8434         acl: Clean up Solaris code.
8435         * lib/acl-internal.h: Remove no-op #if.
8436         * lib/file-has-acl.c: Likewise.
8437         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
8438         * lib/copy-acl.c (qcopy_acl): Likewise.
8439
8440 2011-09-05  Bruno Haible  <bruno@clisp.org>
8441
8442         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
8443         binaries built on the original Solaris 10.
8444         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
8445         trivial.
8446
8447 2011-09-05  Bruno Haible  <bruno@clisp.org>
8448
8449         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8450         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
8451         10.
8452         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
8453         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
8454         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
8455         instead of acl_get, facl_get, acl_set, facl_set.
8456
8457 2011-09-05  Bruno Haible  <bruno@clisp.org>
8458
8459         copy-file: Try unit tests on more file systems.
8460         * tests/test-copy-file-1.sh: New file.
8461         * tests/test-copy-file-2.sh: New file.
8462         * modules/copy-file-tests (Files): Add them.
8463         (Makefile.am): Add them to TESTS.
8464
8465         acl: Try unit tests on more file systems.
8466         * tests/test-file-has-acl-1.sh: New file.
8467         * tests/test-file-has-acl-2.sh: New file.
8468         * tests/test-set-mode-acl-1.sh: New file.
8469         * tests/test-set-mode-acl-2.sh: New file.
8470         * tests/test-copy-acl-1.sh: New file.
8471         * tests/test-copy-acl-2.sh: New file.
8472         * modules/acl-tests (Files): Add them.
8473         (Makefile.am): Add them to TESTS.
8474
8475 2011-09-04  Bruno Haible  <bruno@clisp.org>
8476
8477         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
8478         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
8479         10.
8480         (OLD_ALLOW, OLD_DENY): New macros.
8481         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
8482         ACE_ACCESS_ALLOWED_ACE_TYPE.
8483         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
8484         ACE_ACCESS_DENIED_ACE_TYPE.
8485         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
8486         (NEW_ACE_EXECUTE): Fix value.
8487         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
8488         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
8489         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
8490         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
8491         NEW_ACE_SYNCHRONIZE): New macros.
8492         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
8493         instead of acl_fromtext, acl_set, facl_set.
8494         Fixes a coreutils/tests/cp/perm failure.
8495
8496 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
8497
8498         openat: test for fstatat (..., 0) bug
8499         Further testing with tar suggests that fstatat (..., 0)
8500         does not work in general, on AIX 7.1; see
8501         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
8502         So, give up entirely on AIX 7.1's fstatat, and fall back on our
8503         replacement fstatat (which is what older AIX releases were using
8504         anyway).
8505         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
8506         use is now changed to orig_fstatat.  This was probably the right
8507         thing to do anyway.
8508         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
8509         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
8510         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
8511         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
8512         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
8513         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
8514         if the bug is found.
8515
8516         openat: test for fstatat (AT_FDCWD, ..., 0) bug
8517         This tests for another fstatat bug on AIX 7.1:
8518         fstatat (AT_FDCWD, ..., 0) does not work.  See
8519         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
8520         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
8521         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
8522         (rpl_fstatat): Adjust so that it works around either (or both)
8523         bugs if present.
8524         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
8525
8526 2011-09-03  Karl Berry  <karl@gnu.org>
8527
8528         * doc/regex.texi (Character Class Operators): Avoid literal ":"
8529         in index entries.
8530
8531 2011-09-02  Bruno Haible  <bruno@clisp.org>
8532
8533         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
8534         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
8535         values of AR, ARFLAGS, RANLIB.
8536         Reported by John W. Eaton <jwe@gnu.org> for Octave.
8537
8538 2011-09-02  Bruno Haible  <bruno@clisp.org>
8539
8540         Find 'ar' program that fits with --host argument.
8541         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
8542
8543 2011-09-02  Bruno Haible  <bruno@clisp.org>
8544
8545         tests: init.sh: Support any non-GNU diff.
8546         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
8547         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
8548         Solaris 8.
8549
8550 2011-09-02  Bruno Haible  <bruno@clisp.org>
8551
8552         tests: init.sh: work also with any non-GNU diff that supports -u
8553         * tests/init.sh: Relax check for diff -u support.
8554         Rather than checking for GNU diff via --version, simply check
8555         for support for -u itself.  Useful at least on OpenBSD 4.9,
8556         AIX 7.1, IRIX 6.5, and Solaris 10.
8557
8558 2011-09-01  Bruno Haible  <bruno@clisp.org>
8559
8560         strtoimax, strtoumax: Document problem on HP-UX 11.
8561         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
8562         * doc/posix-functions/strtoumax.texi: Likewise.
8563
8564 2011-09-01  Bruno Haible  <bruno@clisp.org>
8565
8566         strtoumax: Avoid link error on OSF/1 with DTK cc.
8567         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
8568         defined as a function.
8569         * modules/strtoumax (Depends-on, configure.ac): Test only whether
8570         strtoumax is defined, not whether it is declared.
8571
8572 2011-09-01  Bruno Haible  <bruno@clisp.org>
8573
8574         strtoimax: Avoid link error on OSF/1 with DTK cc.
8575         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
8576         defined as a function.
8577         * modules/strtoimax (Depends-on, configure.ac): Test only whether
8578         strtoimax is defined, not whether it is declared.
8579
8580 2011-09-01  Bruno Haible  <bruno@clisp.org>
8581
8582         imaxdiv: Avoid link error on OSF/1 with DTK cc.
8583         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
8584         as a function.
8585         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
8586         whether it is declared.
8587
8588 2011-09-01  Bruno Haible  <bruno@clisp.org>
8589
8590         imaxabs: Avoid link error on OSF/1 with DTK cc.
8591         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
8592         as a function.
8593         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
8594         whether it is declared.
8595
8596 2011-09-01  Bruno Haible  <bruno@clisp.org>
8597
8598         Tests for module 'strtoumax'.
8599         * modules/strtoumax-tests: New file.
8600         * tests/test-strtoumax.c: New file.
8601
8602         Tests for module 'strtoimax'.
8603         * modules/strtoimax-tests: New file.
8604         * tests/test-strtoimax.c: New file.
8605
8606         Tests for module 'imaxdiv'.
8607         * modules/imaxdiv-tests: New file.
8608         * tests/test-imaxdiv.c: New file.
8609
8610         Tests for module 'imaxabs'.
8611         * modules/imaxabs-tests: New file.
8612         * tests/test-imaxabs.c: New file.
8613
8614 2011-09-01  Bruno Haible  <bruno@clisp.org>
8615
8616         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
8617         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
8618         pthread_create.
8619
8620 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
8621
8622         openat: work around AIX 7.1 fstatat issue
8623         This should fix the problem that was not properly fixed
8624         in the previous change, dated 2011-08-30.
8625         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
8626         __need_system_stat_h defined.
8627         (orig_fstatat) [HAVE_FSTATAT]: New function.
8628         (rpl_fstatat): Go back to the old way of doing things,
8629         except call orig_fstatat instead of fstatat.
8630         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
8631         Remove unnecessary check whether fstatat fills in st_size etc.
8632
8633 2011-09-01  Bruno Haible  <bruno@clisp.org>
8634
8635         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
8636         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
8637         just include the system's header.
8638
8639 2011-08-31  Jim Meyering  <meyering@redhat.com>
8640
8641         tests: avoid spurious assertion failure in test-float.c on ppc64
8642         * tests/test-float.c (test_long_double): Comment out an assertion,
8643         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
8644         with gcc-4.4.4.
8645
8646         maint: indent with spaces, not TABs
8647         I need to get in the habit of running gnulib's "make check".
8648         Both of these would have been caught.
8649         * m4/largefile.m4: Indent with spaces, not TABs.
8650         * lib/parse-datetime.y (iso_8601_time): Likewise.
8651         Spotted by Pádraig Brady.
8652
8653         test-parse-datetime.c: accommodate a relatively strict gcc warning
8654         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
8655         to avoid a warning from gcc's -Werror=missing-declarations.
8656         Insert a few spaces-before-funcall-parenthesis.
8657
8658 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
8659
8660         parse-datetime: accept ISO 8601 date and time rep with "T" separator
8661         The parser now accepts ISO 8601 date-time strings with "T" as the
8662         separator.  It has long parsed dates like "2004-02-29 16:21:42"
8663         with a space between the date and time strings.  Now it also parses
8664         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
8665         variants like "2004-02-29T16:21:42.333-07:00"
8666         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
8667         of day representation using the 'T' separator character.
8668         * doc/parse-datetime.texi (General date syntax): replace use of
8669         deprecated --iso-8601 option with --rfc-3339 in example of date
8670         command output formats that can be parsed.
8671         * tests/test-parse-datetime.c (tm_diff): New function, taken from
8672         lib/parse-datetime.y.
8673         (gmt_offset): New function.
8674         (main): Add additional test cases to validate ISO8601 extended
8675         date and time of day parsing.
8676
8677 2011-08-31  Bruno Haible  <bruno@clisp.org>
8678
8679         freopen: Documentation.
8680         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
8681         name.
8682         Reported by Claudio Bley <claudio.bley@gmail.com>.
8683
8684 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
8685
8686         freopen: Don't crash if the filename argument is NULL.
8687         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
8688         NULL.
8689
8690 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
8691
8692         openat: work around AIX 7.1 fstatat bug
8693         Problem reported by Kevin Brott for GNU tar, in the thread containing
8694         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
8695         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
8696         FSTATAT_ST_SIZE_ETC_BROKEN.
8697         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
8698         rpl_fstatat.
8699         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
8700         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
8701         AC_CHECK_FUNCS_ONCE for fstatat.
8702         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
8703         fchmodat, mkdirat, openat and unlinkat.
8704
8705 2011-08-30  Bruno Haible  <bruno@clisp.org>
8706
8707         Avoid endless recursions if config.h includes some header files.
8708         * lib/fopen.c (__need_FILE): Define already before including config.h.
8709         * lib/freopen.c (__need_FILE): Likewise.
8710         * lib/open.c (__need_system_fcntl_h): Likewise.
8711         * lib/stat.c (__need_system_sys_stat_h): Likewise.
8712         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
8713         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
8714
8715 2011-08-25  Karl Berry  <karl@gnu.org>
8716
8717         * config/srclist.txt (ylwrap): new try.
8718         * build-aux/ylwrap: new file.
8719
8720 2011-08-23  Bruno Haible  <bruno@clisp.org>
8721
8722         tmpdir: Use a good default directory on native Windows.
8723         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
8724         (P_tmpdir): Default to _P_tmpdir on native Windows.
8725         (path_search): On native Windows, try the value returned by GetTempPath
8726         before trying P_tmpdir.
8727         * modules/tmpdir (Depends-on): Add pathmax.
8728         Suggested by John Darrington <john@darrington.wattle.id.au>.
8729
8730 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
8731
8732         doc: fix typo in README-release
8733         * top/README-release: Capitalize first word of a sentence.
8734
8735 2011-08-19  Jim Meyering  <meyering@redhat.com>
8736
8737         fts: do not exhaust memory when processing million-entry directories
8738         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
8739         directory would require about 256*N bytes of memory.  Thus, it was
8740         easy to construct a directory too large to be processed by any of
8741         those tools.  With this change, fts' maximum memory utilization is
8742         now limited to around 30MB.
8743         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
8744         (fts_read): When we've processed the final entry (i.e., when
8745         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
8746         using the parent entry to read any remaining entries.  Dispatch
8747         depending on what fts_build returns:
8748         - NULL+stop, aka failure: stop
8749         - NULL otherwise: move up in the dir hierarchy
8750         - non-NULL: handle this new entry
8751         (fts_build): Declare and use new local, continue_readdir.
8752         Prepare to be called from fts_read, when the entries
8753         from a partially-read directory have just been exhausted.
8754         In that case, we'll skip the opendir and instead use the parent's
8755         fts_dirp and derive dir_fd from that.
8756         Finally, in the readdir loop, if we read max_entries entries,
8757         exit the loop ensuring *not* to call closedir.  This is required
8758         so that fts_dirp can be reused on a subsequent call.
8759         Prompted by Ben England's report of memory exhaustion in find
8760         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
8761
8762         maint: fts: move decl of `dp' down into while loop; split a long line
8763         * lib/fts.c (fts_build): No semantic change.
8764
8765         fts: add/use new struct member, fts_dirp
8766         We are about to use this to manage any directory with
8767         too many entries to read all of them into memory at once.
8768         To do that, we'll need to save the DIR* pointer in each
8769         affected FTSENT struct.
8770         * lib/fts_.h: Include <dirent.h>.
8771         (struct FTSENT) [fts_dirp]: New member.
8772         * lib/fts.c (closedir_and_clear): Define.
8773         Use it in place of closedir so that we are sure to
8774         clear the new fts_dirp member when done with it.
8775         (fts_alloc): Initialize the new member.
8776         (fts_lfree): Free, if needed.
8777
8778         maint: fts: give __opendir2 a new parameter and rename
8779         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
8780         than surreptitiously using sole caller's "dir_fd".
8781         (fts_opendir): Rename from __opendir2.
8782
8783         maint: fts.c: remove __opendir2's now-unused parameter, oflag
8784         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
8785
8786         maint: fts.c: correct off-by-one indentation
8787         * lib/fts.c (fts_build): Correct indentation, change style
8788         of a couple of block comments, and bracing style.
8789
8790         maint: fts.c: move __opendir2 #define "up" out of function body
8791         * lib/fts.c (__opendir2): Move "up".  No semantic change.
8792
8793         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
8794         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
8795         out for a long time and besides was useful only on BSD systems.
8796
8797 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
8798
8799         regex: port to Stratus OpenVOS
8800         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
8801         define to empty, rather than attempting nonportable optimizations.
8802         Problem reported by Paul Green in:
8803         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
8804         and fix suggested by Eric Blake in:
8805         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
8806
8807 2011-08-17  Eric Blake  <eblake@redhat.com>
8808
8809         getcwd: fix test failures on mingw
8810         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
8811         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
8812         test if long directory cannot be created, and allow mingw errno.
8813
8814         getcwd-lgpl: fix m4 to match relaxed test for BSD
8815         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
8816         (gl_FUNC_GETCWD_SIGNATURE): New macro.
8817         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
8818         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
8819         signature problem.
8820
8821         getcwd: fix compilation on mingw64
8822         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
8823         getcwd.
8824         Reported by Marc-André Lureau.
8825
8826         pipe2: silence compiler warning
8827         * lib/pipe2.c (pipe2): Hide label if it is not used.
8828
8829 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
8830
8831         relocatable-prog: fix link error
8832         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
8833         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
8834         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
8835         into modules/relocatable-lib without noticing that
8836         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
8837         also needs to build relocatable.c.
8838
8839 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
8840
8841         getaddrinfo: fix sh typo in gai_strerrorA decl checking
8842         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
8843         shell code: it contained a 'break' that was not in a loop.
8844         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
8845         via a shell-language loop; this may have been true in old Autoconf
8846         versions, but it's not true in Autoconf 2.68.  I found this bug
8847         when testing coreutils git on Solaris 8, whose shell complains
8848         about the syntax error.
8849
8850 2011-08-12  Simon Josefsson  <simon@josefsson.org>
8851
8852         * lib/base64.c: Fix comment to reference RFC 4648.
8853         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
8854         <gvtulder@gmail.com>.
8855
8856 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
8857
8858         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
8859
8860         po/Makefile.in.in: fix make -q problem
8861         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
8862         rule, since there's no file named 'check-macro-version' and its
8863         use as a file breaks make -q.
8864         (all): Don't depend on check-macro-version.
8865         (CHECK_MACRO_VERSION): New macro.
8866         (stamp-po): Use it.
8867
8868         configmake: fix make -q problem
8869         * modules/configmake (configmake.h): Update configmake.h's time stamp
8870         even if the file does not change.  Otherwise, 'make -q' fails.
8871         Problem reported by Simon Josefsson in
8872         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
8873
8874 2011-08-11  Jim Meyering  <meyering@redhat.com>
8875
8876         git-version-gen: correct the advice in a comment
8877         * build-aux/git-version-gen: Correct comment.
8878         Don't recommend to list .tarball-version in .gitignore.
8879
8880 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
8881
8882         base64: fix off-by-one buffer size bug
8883         Problem and (trivial) fix reported by Gijs van Tulder in
8884         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
8885         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
8886         * tests/test-base64.c (main): Catch the bug.
8887
8888 2011-08-10  Eric Blake  <eblake@redhat.com>
8889
8890         closein: correct comments
8891         * lib/closein.c (close_stdin): Improve comments.
8892
8893 2011-08-09  Bruno Haible  <bruno@clisp.org>
8894
8895         More tests for 'fseeko'.
8896         * tests/test-fseeko3.c: New file, from Eric Blake.
8897         * tests/test-fseeko3.sh: New file.
8898         * modules/fseeko-tests (Files): Add them.
8899         (TESTS): Add test-fseeko3.sh.
8900         (check_PROGRAMS): Add test-fseeko3.
8901
8902 2011-08-09  Eric Blake  <eblake@redhat.com>
8903
8904         fseeko: remove unneeded hack
8905         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
8906
8907         fseeko: fix bug on glibc
8908         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
8909         Reported by John W. Eaton.
8910
8911 2011-08-08  Bruno Haible  <bruno@clisp.org>
8912
8913         unictype/base: Fix interoperability with preinstalled libunistring.
8914         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
8915         Reported by Simon Josefsson.
8916
8917 2011-08-08  Bruno Haible  <bruno@clisp.org>
8918
8919         iswblank: Detect declaration correctly.
8920         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
8921         AC_CHECK_DECLS invocation.
8922
8923 2011-08-08  Bruno Haible  <bruno@clisp.org>
8924
8925         tcgetsid: Detect declaration correctly.
8926         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
8927         AC_CHECK_DECLS invocation.
8928         Reported by Simon Josefsson.
8929
8930 2011-08-08  Eric Blake  <eblake@redhat.com>
8931
8932         largefile: fix typo that regressed large file support
8933         * modules/largefile (configure.ac-early): Fix section name.
8934
8935 2011-08-06  Karl Berry  <karl@gnu.org>
8936
8937         * MODULES.html.sh (func_all_files): _Noreturn is no longer
8938         a separate module.
8939
8940 2011-08-05  Simon Josefsson  <simon@josefsson.org>
8941
8942         openat: Fix warnings and commens when building unlinkat.c on Hurd.
8943         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
8944         get prototype for free.
8945
8946 2011-08-04  Bruno Haible  <bruno@clisp.org>
8947
8948         Tests for module 'pathmax'.
8949         * modules/pathmax-tests: New file.
8950         * tests/test-pathmax.c: New file.
8951
8952         canonicalize-lgpl: Support larger filenames on the Hurd.
8953         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
8954         Reported by Paul Eggert.
8955
8956         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
8957         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
8958         * lib/chdir-long.h: Include pathmax.h.
8959         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
8960         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
8961         (PATH_MAX): Remove code that is done by pathmax.h.
8962         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
8963         * lib/tmpfile.c: Add a comment.
8964         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
8965         * modules/chdir-long (Depends-on): Add pathmax.
8966         * modules/getcwd (Depends-on): Add pathmax.
8967         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
8968         is not defined.
8969         * doc/posix-headers/limits.texi: Mention the pathmax module.
8970         * NEWS: Mention the change.
8971
8972 2011-08-02  Bruno Haible  <bruno@clisp.org>
8973
8974         pthread_sigmask: Actually use results of gl_THREADLIB.
8975         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
8976         gl_THREADLIB, not gl_[]THREADLIB.
8977         Reported by Eric Blake.
8978
8979 2011-08-02  Jim Meyering  <meyering@redhat.com>
8980
8981         maint.mk: relax the default _gl_TS_function_match regexp
8982         * top/maint.mk (_gl_TS_function_match): Don't require at least one
8983         space between function name and "(" in an "extern" declaration.
8984         That would fail to match a decl with no space there: extern void foo();
8985
8986 2011-07-31  Iain Nicol  <iain@thenicols.net>
8987
8988         git-version-gen: document that EXTRA_DIST must include .version
8989         * build-aux/git-version-gen: In the how-to-use comment, document
8990         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
8991         will fail when run from an unpacked distribution tarball.
8992
8993 2011-08-01  Bruno Haible  <bruno@clisp.org>
8994
8995         wctype-h: Fix last change.
8996         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
8997         REPLACE_TOWLOWER to 0.
8998         Reported by Sam Steingold <sds@gnu.org>.
8999
9000 2011-07-31  Bruno Haible  <bruno@clisp.org>
9001
9002         frexpl: Update autoconf test.
9003         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
9004         according to changes of 2011-06-20.
9005
9006 2011-07-31  Bruno Haible  <bruno@clisp.org>
9007
9008         sys_utsname: Add support for Minix.
9009         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
9010         <sys/utsname.h>.
9011         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
9012         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
9013
9014 2011-07-31  Bruno Haible  <bruno@clisp.org>
9015
9016         strings: Add support for Minix.
9017         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
9018         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
9019         * doc/posix-headers/strings.texi: Document the Minix problem.
9020
9021 2011-07-31  Bruno Haible  <bruno@clisp.org>
9022
9023         wctype-h: Add support for Minix.
9024         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
9025         REPLACE_TOWLOWER.
9026         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
9027         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
9028         REPLACE_ISWCNTRL.
9029
9030 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
9031
9032         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
9033         This is a performance improvement for 64-bit hosts: it causes the
9034         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
9035
9036 2011-07-31  Bruno Haible  <bruno@clisp.org>
9037
9038         stdioext: Add support for Minix.
9039         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
9040         * lib/fpurge.c (fpurge): Likewise.
9041         * lib/freadahead.c (freadahead): Likewise.
9042         * lib/freadable.c (freadable): Likewise.
9043         * lib/freading.c (freading): Likewise.
9044         * lib/freadptr.c (freadptr): Likewise.
9045         * lib/freadseek.c (freadptrinc): Likewise.
9046         * lib/fseeko.c (rpl_fseeko): Likewise.
9047         * lib/fseterr.c (fseterr): Likewise.
9048         * lib/fwritable.c (fwritable): Likewise.
9049         * lib/fwriting.c (fwriting): Likewise.
9050         * lib/fflush.c (clear_ungetc_buffer): Update comment.
9051         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
9052
9053 2011-07-31  Bruno Haible  <bruno@clisp.org>
9054
9055         errno: Port to Minix.
9056         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
9057         ECONNABORTED are defined.
9058         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
9059         GNULIB_defined_ECONNABORTED): New macros.
9060         * lib/strerror-override.h (strerror_override): Test also
9061         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
9062         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
9063         ECONNABORTED.
9064         * doc/posix-headers/errno.texi: Mention the Minix problem.
9065
9066 2011-07-31  Bruno Haible  <bruno@clisp.org>
9067
9068         Work around declaration collisions on Minix.
9069         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
9070         defined, set REPLACE_MBSINIT.
9071         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
9072         defined, set REPLACE_MBRTOWC.
9073         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
9074         set REPLACE_MBRLEN.
9075         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
9076         defined, set REPLACE_MBSRTOWCS.
9077         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
9078         defined, set REPLACE_WCRTOMB.
9079         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
9080         defined, set REPLACE_WCSRTOMBS.
9081
9082 2011-07-31  Bruno Haible  <bruno@clisp.org>
9083
9084         Add support for Minix with ACK compiler.
9085         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
9086         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
9087         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
9088
9089 2011-07-31  Bruno Haible  <bruno@clisp.org>
9090
9091         Documentation about Minix.
9092         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
9093         * doc/glibc-headers/*.texi: Likewise.
9094         * doc/posix-functions/*.texi: Likewise.
9095         * doc/glibc-functions/*.texi: Likewise.
9096
9097 2011-07-31  Bruno Haible  <bruno@clisp.org>
9098
9099         snippet/warn-on-use: Fix indentation.
9100         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
9101
9102 2011-07-25  Jim Meyering  <meyering@redhat.com>
9103
9104         tests: test-update-copyright.sh: remove unnecessary "rm" commands
9105         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
9106         commands.
9107
9108 2011-07-27  Jim Meyering  <meyering@redhat.com>
9109
9110         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
9111         * top/maint.mk (gl_extract_significant_defines_): Now that
9112         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
9113         gnulib/lib/signal.in.h, and now that we recommend to
9114         define-if-undefined those two symbols in application code,
9115         we must filter them out of the "significant" list.
9116         This avoids a "make syntax-check" failure in coreutils.
9117
9118 2011-07-26  Eric Blake  <eblake@redhat.com>
9119
9120         warnings: add comments about previous patch
9121         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
9122         * m4/include_next.m4: Likewise.
9123         * m4/warn-on-use.m4: Likewise.
9124         * m4/warnings.m4: Likewise, and simplify use.
9125         Suggested by Stefano Lattarini.
9126
9127         include-next, warnings: support older autoconf
9128         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
9129         AS_VAR_PUSHDEF in a way that works with older autoconf.
9130         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
9131         Reported by Daniel P. Berrange.
9132
9133 2011-07-25  Bruno Haible  <bruno@clisp.org>
9134
9135         fseek, ftell: Fix doc.
9136         * doc/posix-functions/fseek.texi: Reword statement about
9137         AC_SYS_LARGEFILE.
9138         * doc/posix-functions/ftell.texi: Likewise.
9139
9140 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9141             Bruno Haible  <bruno@clisp.org>
9142
9143         Add dependencies to the 'largefile' module.
9144         * modules/fopen (Depends-on): Add 'largefile'.
9145         * modules/freopen (Depends-on): Likewise.
9146         * modules/fseeko (Depends-on): Likewise.
9147         * modules/ftello (Depends-on): Likewise.
9148         * modules/glob (Depends-on): Likewise.
9149         * modules/lseek (Depends-on): Likewise.
9150         * modules/lstat (Depends-on): Likewise.
9151         * modules/mkostemp (Depends-on): Likewise.
9152         * modules/mkostemps (Depends-on): Likewise.
9153         * modules/mkstemp (Depends-on): Likewise.
9154         * modules/mkstemps (Depends-on): Likewise.
9155         * modules/open (Depends-on): Likewise.
9156         * modules/openat (Depends-on): Likewise.
9157         * modules/pread (Depends-on): Likewise.
9158         * modules/pwrite (Depends-on): Likewise.
9159         * modules/scandir (Depends-on): Likewise.
9160         * modules/stat (Depends-on): Likewise.
9161         * modules/tmpfile (Depends-on): Likewise.
9162         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
9163         since the containing module now depends on the largefile module.
9164         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
9165         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
9166         off_t is fixed by gnulib.
9167         * doc/posix-functions/freopen.texi: Likewise.
9168         * doc/posix-functions/fseeko.texi: Likewise.
9169         * doc/posix-functions/fstatat.texi: Likewise.
9170         * doc/posix-functions/ftello.texi: Likewise.
9171         * doc/posix-functions/glob.texi: Likewise.
9172         * doc/posix-functions/lseek.texi: Likewise.
9173         * doc/posix-functions/lstat.texi: Likewise.
9174         * doc/posix-functions/mkstemp.texi: Likewise.
9175         * doc/posix-functions/open.texi: Likewise.
9176         * doc/posix-functions/openat.texi: Likewise.
9177         * doc/posix-functions/pread.texi: Likewise.
9178         * doc/posix-functions/pwrite.texi: Likewise.
9179         * doc/posix-functions/scandir.texi: Likewise.
9180         * doc/posix-functions/stat.texi: Likewise.
9181         * doc/posix-functions/tmpfile.texi: Likewise.
9182         * doc/glibc-functions/mkostemp.texi: Likewise.
9183         * doc/glibc-functions/mkostemps.texi: Likewise.
9184         * doc/glibc-functions/mkstemps.texi: Likewise.
9185
9186 2011-07-25  Bruno Haible  <bruno@clisp.org>
9187
9188         fcntl: Move AC_LIBOBJ invocation to module description.
9189         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
9190         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
9191
9192         fcntl: Remove call-in from fchdir.m4.
9193         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
9194         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
9195
9196         dup3: Remove potential call-in from fchdir.m4.
9197         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
9198         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
9199
9200         dup2: Move AC_LIBOBJ invocation to module description.
9201         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
9202         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
9203         Don't invoke AC_LIBOBJ.
9204         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
9205
9206         dup2: Remove call-in from fchdir.m4.
9207         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
9208         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
9209
9210         fclose: Move AC_LIBOBJ invocation to module description.
9211         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
9212         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
9213         to 1.
9214         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
9215
9216         fclose: Remove call-in from close.m4.
9217         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
9218         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
9219
9220         close: Move AC_LIBOBJ invocation to module description.
9221         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
9222         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
9223         1.
9224         * modules/close (configure.ac): Invoke AC_LIBOBJ.
9225
9226         close: Remove call-in from fchdir.m4.
9227         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
9228         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
9229
9230         open: Move AC_LIBOBJ invocation to module description.
9231         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
9232         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
9233         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
9234
9235         open: Remove call-in from fchdir.m4.
9236         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
9237         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
9238
9239         fchdir: Start to remove gl_REPLACE_* idiom.
9240         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
9241         (gl_FUNC_FCHDIR): Invoke it.
9242
9243 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
9244
9245         * lib/ftell.c (ftell): Comment out cast.
9246
9247         close: use gl_REPLACE_FCLOSE only if defined
9248         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
9249         is defined.  The close module doesn't depend on the fclose module
9250         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
9251         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
9252         I reproduced the problem with "./gnulib-tool --test close sys_socket".
9253
9254 2011-07-24  Jim Meyering  <meyering@redhat.com>
9255
9256         test-select.h: avoid warning when using gcc's -Wmissing-declarations
9257         * tests/test-select.h (test_function): Declare as "static".
9258
9259 2011-07-24  Bruno Haible  <bruno@clisp.org>
9260
9261         doc: Mention the effects of AC_SYS_LARGEFILE.
9262         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
9263         on this function.
9264         * doc/posix-functions/aio_error.texi: Likewise.
9265         * doc/posix-functions/aio_fsync.texi: Likewise.
9266         * doc/posix-functions/aio_read.texi: Likewise.
9267         * doc/posix-functions/aio_return.texi: Likewise.
9268         * doc/posix-functions/aio_suspend.texi: Likewise.
9269         * doc/posix-functions/aio_write.texi: Likewise.
9270         * doc/posix-functions/fgetpos.texi: Likewise.
9271         * doc/posix-functions/fopen.texi: Likewise.
9272         * doc/posix-functions/freopen.texi: Likewise.
9273         * doc/posix-functions/fsetpos.texi: Likewise.
9274         * doc/posix-functions/fstatvfs.texi: Likewise.
9275         * doc/posix-functions/ftruncate.texi: Likewise.
9276         * doc/posix-functions/ftw.texi: Likewise.
9277         * doc/posix-functions/getrlimit.texi: Likewise.
9278         * doc/posix-functions/glob.texi: Likewise.
9279         * doc/posix-functions/lio_listio.texi: Likewise.
9280         * doc/posix-functions/lockf.texi: Likewise.
9281         * doc/posix-functions/mkstemp.texi: Likewise.
9282         * doc/posix-functions/mmap.texi: Likewise.
9283         * doc/posix-functions/nftw.texi: Likewise.
9284         * doc/posix-functions/openat.texi: Likewise.
9285         * doc/posix-functions/opendir.texi: Likewise.
9286         * doc/posix-functions/posix_fadvise.texi: Likewise.
9287         * doc/posix-functions/posix_fallocate.texi: Likewise.
9288         * doc/posix-functions/pread.texi: Likewise.
9289         * doc/posix-functions/pwrite.texi: Likewise.
9290         * doc/posix-functions/readdir.texi: Likewise.
9291         * doc/posix-functions/readdir_r.texi: Likewise.
9292         * doc/posix-functions/rewinddir.texi: Likewise.
9293         * doc/posix-functions/scandir.texi: Likewise.
9294         * doc/posix-functions/seekdir.texi: Likewise.
9295         * doc/posix-functions/setrlimit.texi: Likewise.
9296         * doc/posix-functions/statvfs.texi: Likewise.
9297         * doc/posix-functions/telldir.texi: Likewise.
9298         * doc/posix-functions/tmpfile.texi: Likewise.
9299         * doc/posix-functions/truncate.texi: Likewise.
9300         * doc/glibc-functions/fallocate.texi: Likewise.
9301         * doc/glibc-functions/fstatfs.texi: Likewise.
9302         * doc/glibc-functions/fts_children.texi: Likewise.
9303         * doc/glibc-functions/fts_read.texi: Likewise.
9304         * doc/glibc-functions/getdirentries.texi: Likewise.
9305         * doc/glibc-functions/mkostemp.texi: Likewise.
9306         * doc/glibc-functions/mkostemps.texi: Likewise.
9307         * doc/glibc-functions/mkstemps.texi: Likewise.
9308         * doc/glibc-functions/preadv.texi: Likewise.
9309         * doc/glibc-functions/pwritev.texi: Likewise.
9310         * doc/glibc-functions/sendfile.texi: Likewise.
9311         * doc/glibc-functions/statfs.texi: Likewise.
9312
9313 2011-07-24  Bruno Haible  <bruno@clisp.org>
9314
9315         doc: Fix typo.
9316         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
9317
9318 2011-07-24  Bruno Haible  <bruno@clisp.org>
9319
9320         doc: Mention fsusage.
9321         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
9322
9323 2011-07-24  Bruno Haible  <bruno@clisp.org>
9324
9325         doc: Mention new glibc headers and functions.
9326         * doc/glibc-headers/gshadow.texi: New file.
9327         * doc/glibc-functions/endsgent.texi: New file.
9328         * doc/glibc-functions/fgetsgent.texi: New file.
9329         * doc/glibc-functions/fgetsgent_r.texi: New file.
9330         * doc/glibc-functions/getsgent.texi: New file.
9331         * doc/glibc-functions/getsgent_r.texi: New file.
9332         * doc/glibc-functions/getsgnam.texi: New file.
9333         * doc/glibc-functions/getsgnam_r.texi: New file.
9334         * doc/glibc-functions/putsgent.texi: New file.
9335         * doc/glibc-functions/setsgent.texi: New file.
9336         * doc/glibc-functions/sgetsgent.texi: New file.
9337         * doc/glibc-functions/sgetsgent_r.texi: New file.
9338         * doc/glibc-functions/malloc_info.texi: New file.
9339         * doc/glibc-functions/preadv.texi: New file.
9340         * doc/glibc-functions/pwritev.texi: New file.
9341         * doc/glibc-functions/register_printf_modifier.texi: New file.
9342         * doc/glibc-functions/register_printf_specifier.texi: New file.
9343         * doc/glibc-functions/register_printf_type.texi: New file.
9344         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
9345         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
9346         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
9347         * doc/glibc-functions/pthread_getname_np.texi: New file.
9348         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
9349         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
9350         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
9351         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
9352         * doc/glibc-functions/pthread_setname_np.texi: New file.
9353         * doc/glibc-functions/pthread_sigqueue.texi: New file.
9354         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
9355         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
9356         * doc/glibc-functions/qsort_r.texi: New file.
9357         * doc/glibc-functions/quick_exit.texi: New file.
9358         * doc/glibc-functions/syncfs.texi: New file.
9359         * doc/gnulib.texi: Include them.
9360         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
9361         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
9362         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
9363         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
9364         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
9365         * doc/glibc-functions/execvpe.texi: Likewise.
9366
9367 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9368
9369         ftell: don't include <unistd.h>
9370         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
9371         guaranteed to define off_t, and the ftell module depends on the
9372         stdio module.
9373
9374         ftell: do not assume wraparound signed arithmetic
9375         * lib/ftell.c: Include <limits.h>.
9376         (ftell): Don't assume wraparound signed arithmetic.
9377
9378 2011-07-24  Bruno Haible  <bruno@clisp.org>
9379
9380         close: No longer depend on module 'fclose'.
9381         * modules/close (Depends-on): Remove fclose.
9382         * NEWS: Mention the change.
9383         Suggested by Sam Steingold <sds@gnu.org>.
9384
9385 2011-07-24  Bruno Haible  <bruno@clisp.org>
9386
9387         fsusage: Enable large volume support on AIX >= 5.2.
9388         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
9389         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
9390         instead of STAT_STATVFS.
9391         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
9392
9393         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
9394         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
9395         f_blocks field only on MacOS X.
9396
9397         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
9398         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
9399         * modules/fsusage (Depends-on): Add largefile.
9400
9401 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
9402
9403         * README: Modernize discussion of signed integers.
9404         Assuming overflow wraparound is no longer safe.
9405         Mention ones' complement and signed magnitude.
9406
9407 2011-07-22  Bruno Haible  <bruno@clisp.org>
9408
9409         select tests, pselect tests: Refactor.
9410         * tests/test-select.h: New file, extracted from tests/test-select.c.
9411         (select_fn): New type.
9412         (test, do_select, do_select_nowait, do_select_wait, test_tty,
9413         test_connect_first, test_accept_first, test_pair, test_socket_pair,
9414         test_pipe): Add my_select argument.
9415         (test_function): Renamed from main. Add my_select argument.
9416         * tests/test-select.c: Move most code to tests/test-select.h. Include
9417         test-select.h.
9418         * modules/select-tests (Files): Add tests/test-select.h.
9419         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
9420         (my_select, main): New functions.
9421         * modules/pselect-tests (Files): Add tests/test-select.h,
9422         tests/macros.h, tests/signature.h.
9423         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
9424         (configure.ac): Check for <sys/wait.h>.
9425
9426 2011-07-22  Bruno Haible  <bruno@clisp.org>
9427
9428         sys_select tests: Check the signature of FD_*.
9429         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
9430         signature tests from here...
9431         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
9432         here.
9433         * modules/sys_select-tests (Files): Add tests/signature.h.
9434
9435 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
9436
9437         largefile: new module, replacing large-inode
9438         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
9439         * MODULES.html.sh: Add largefile, remove large-inode.
9440         * modules/largefile, m4/largefile.m4: New files.
9441         * modules/large-inode, m4/large-inode.m4: Remove.
9442
9443         fsusage: port to MacOS X 10.7 with 4 TiB file systems
9444         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
9445         implementations that use only 32 bits to count blocks.
9446         On typical hosts with 1024-byte blocks, this fails with file
9447         systems as small as 4 TiB.  Problem reported by Herb Wartens
9448         <http://debbugs.gnu.org/9140> and this should also fix a similar
9449         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
9450
9451         large-inode: New module
9452         * MODULES.html.sh: Add it.
9453         * modules/large-inode, m4/large-inode.m4: New files.
9454
9455         extensions: Enable extensions on MacOS X 10.5 and later.
9456         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
9457
9458 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
9459
9460         file-has-acl: use acl_extended_file_nofollow if available
9461         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
9462         (acl_extended_file): New macro.
9463         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
9464         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
9465
9466 2011-07-21  Bruno Haible  <bruno@clisp.org>
9467
9468         Declare system functions in a way that works with C++.
9469         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
9470         declare fdopendir as extern "C".
9471         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
9472         declare frexpl as extern "C".
9473         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
9474         declare gai_strerror as extern "C".
9475         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
9476         programs, declare gai_strerror as extern "C".
9477         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
9478         declare getlogin_r as extern "C".
9479         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
9480         as extern "C".
9481         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
9482         declare ldexpl as extern "C".
9483         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
9484         as extern "C".
9485         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
9486         program, declare getmntinfo as extern "C".
9487         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
9488         stpncpy as extern "C".
9489         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
9490         program, declare __xpg_strerror_r as extern "C".
9491         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
9492         strndup as extern "C".
9493         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
9494         declare memset and bzero as extern "C".
9495         Reported by Sam Steingold <sds@gnu.org>.
9496
9497 2011-07-12  Jim Meyering  <meyering@redhat.com>
9498
9499         maint.mk: prohibit inclusion of "verify.h" without use
9500         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
9501
9502 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9503
9504         timer-time: A new module to check for timer_settime()
9505         * m4/timer_time.m4: Check for the posix function.
9506         * modules/timer-time: Add the new module.
9507         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
9508         Mention it.
9509
9510 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
9511             Bruno Haible  <bruno@clisp.org>
9512
9513         pthread_sigmask: assume POSIX threads if --avoid=threadlib
9514         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
9515         not defined, assume POSIX threads and look for pthread_sigmask in
9516         $LIBS, without changing $CPPFLAGS.
9517
9518 2011-07-19  Bruno Haible  <bruno@clisp.org>
9519
9520         strstr: Update cross-compilation guess.
9521         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
9522         CPUs, guess no, in view of glibc
9523         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
9524         Suggested by Eric Blake. Reported by Reuben Thomas.
9525
9526 2011-07-19  Pádraig Brady  <P@draigBrady.com>
9527
9528         getopt-gnu: suppress core dumps from detection code
9529         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
9530         to suppress core dumps that may well occur on glibc systems.
9531         * modules/getopt-gnu: Depend on nocrash.
9532
9533 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
9534
9535         pthread_sigmask: ensure usleep is declared
9536         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
9537         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
9538
9539 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
9540
9541         doc: Document NonStop portability issues.
9542         * doc/posix-functions/sigaction.texi (sigaction):
9543         * doc/posix-headers/signal.texi (signal.h):
9544         Document NonStop.  See Joachim Schmitz in
9545         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
9546
9547 2011-07-15  Bruno Haible  <bruno@clisp.org>
9548
9549         ffsl, ffsll: Avoid unportable behaviour.
9550         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
9551
9552 2011-07-15  Bruno Haible  <bruno@clisp.org>
9553
9554         ffs: More tests.
9555         * tests/test-ffs.c (NBITS): New macro.
9556         (main): Add more tests.
9557         * tests/test-ffsl.c (NBITS): New macro.
9558         (main): Add more tests.
9559         * tests/test-ffsll.c (NBITS): New macro.
9560         (main): Add more tests.
9561
9562 2011-07-15  Eric Blake  <eblake@redhat.com>
9563
9564         ffsl, ffsll: new modules
9565         * modules/ffsl: New file.
9566         * modules/ffsll: Likewise.
9567         * m4/ffsl.m4: Likewise.
9568         * m4/ffsll.m4: Likewise.
9569         * lib/ffsl.c: Likewise.
9570         * lib/ffsl.h: Likewise.
9571         * lib/ffsll.c: Likewise.
9572         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
9573         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
9574         * modules/string (Makefile.am): Substitute witnesses.
9575         * lib/strings.in.h (ffsl, ffsll): Declare.
9576         * modules/ffsl-tests: New test file.
9577         * modules/ffsll-tests: Likewise.
9578         * tests/test-ffsl.c: Likewise.
9579         * tests/test-ffsll.c: Likewise.
9580         * MODULES.html.sh (Integer arithmetic functions): Mention it.
9581         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
9582         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
9583
9584         ffs: fix m4 prerequisite
9585         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
9586
9587         ffs: avoid undefined behavior
9588         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
9589         * tests/test-ffs.c (naive, main): Avoid signed shifts.
9590         Reported by Bruno Haible.
9591
9592 2011-07-12  Bruno Haible  <bruno@clisp.org>
9593
9594         pthread_sigmask: Rely on module 'threadlib'.
9595         * modules/pthread_sigmask (Depends-on): Add threadlib.
9596         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
9597         is defined.
9598
9599 2011-07-12  Bruno Haible  <bruno@clisp.org>
9600
9601         regex: Depend on module 'strcase'.
9602         * modules/regex (Depends-on): Add strcase, for strcasecmp().
9603
9604 2011-07-12  Jim Meyering  <meyering@redhat.com>
9605
9606         warn-on-use: fix typo in file name
9607         * modules/snippet/warn-on-use (Files): Correct file name:
9608         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
9609
9610 2011-07-12  Bruno Haible  <bruno@clisp.org>
9611
9612         strings: Document module.
9613         * doc/posix-headers/strings.texi: Mention module 'strings'.
9614
9615 2011-07-12  Bruno Haible  <bruno@clisp.org>
9616
9617         Rename module '_Noreturn' to 'snippet/_Noreturn'.
9618         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
9619         (Files, Makefile.am): Update.
9620         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
9621         * modules/stdlib (Depends-on): Update.
9622
9623 2011-07-12  Bruno Haible  <bruno@clisp.org>
9624
9625         * NEWS: Mention the changes.
9626
9627         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
9628         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
9629         (Files, Makefile.am): Update.
9630         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
9631         * modules/arpa_inet (Depends-on): Update.
9632         * modules/ctype (Depends-on): Update.
9633         * modules/dirent (Depends-on): Update.
9634         * modules/fcntl-h (Depends-on): Update.
9635         * modules/glob (Depends-on): Update.
9636         * modules/iconv-h (Depends-on): Update.
9637         * modules/inttypes-incomplete (Depends-on): Update.
9638         * modules/langinfo (Depends-on): Update.
9639         * modules/locale (Depends-on): Update.
9640         * modules/math (Depends-on): Update.
9641         * modules/netdb (Depends-on): Update.
9642         * modules/poll-h (Depends-on): Update.
9643         * modules/pty (Depends-on): Update.
9644         * modules/search (Depends-on): Update.
9645         * modules/signal (Depends-on): Update.
9646         * modules/spawn (Depends-on): Update.
9647         * modules/stdio (Depends-on): Update.
9648         * modules/stdlib (Depends-on): Update.
9649         * modules/string (Depends-on): Update.
9650         * modules/strings (Depends-on): Update.
9651         * modules/sys_file (Depends-on): Update.
9652         * modules/sys_ioctl (Depends-on): Update.
9653         * modules/sys_select (Depends-on): Update.
9654         * modules/sys_socket (Depends-on): Update.
9655         * modules/sys_stat (Depends-on): Update.
9656         * modules/sys_time (Depends-on): Update.
9657         * modules/sys_times (Depends-on): Update.
9658         * modules/sys_utsname (Depends-on): Update.
9659         * modules/sys_wait (Depends-on): Update.
9660         * modules/termios (Depends-on): Update.
9661         * modules/time (Depends-on): Update.
9662         * modules/unistd (Depends-on): Update.
9663         * modules/wchar (Depends-on): Update.
9664         * modules/wctype-h (Depends-on): Update.
9665         * MODULES.html.sh (Support for building libraries and executables):
9666         Update.
9667
9668         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
9669         * modules/snippet/unused-parameter: Renamed from
9670         modules/unused-parameter.
9671         (Files, Makefile.am): Update.
9672         * build-aux/snippet/unused-parameter.h: Renamed from
9673         build-aux/unused-parameter.h.
9674         * modules/selinux-h (Depends-on): Update.
9675         * modules/unistr/base (Depends-on): Update.
9676         * MODULES.html.sh (Core language properties): Update.
9677
9678         Rename module 'link-warning' to 'snippet/link-warning'.
9679         * modules/snippet/link-warning: Renamed from modules/link-warning.
9680         (Files, Makefile.am): Update.
9681         * build-aux/snippet/link-warning.h: Renamed from
9682         build-aux/link-warning.h.
9683         * MODULES.html.sh (Support for building libraries and executables):
9684         Update.
9685
9686         Rename module 'c++defs' to 'snippet/c++defs'.
9687         * modules/snippet/c++defs: Renamed from modules/c++defs.
9688         (Files, Makefile.am): Update.
9689         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
9690         * modules/arpa_inet (Depends-on): Update.
9691         * modules/ctype (Depends-on): Update.
9692         * modules/dirent (Depends-on): Update.
9693         * modules/fcntl-h (Depends-on): Update.
9694         * modules/glob (Depends-on): Update.
9695         * modules/iconv-h (Depends-on): Update.
9696         * modules/langinfo (Depends-on): Update.
9697         * modules/locale (Depends-on): Update.
9698         * modules/math (Depends-on): Update.
9699         * modules/netdb (Depends-on): Update.
9700         * modules/poll-h (Depends-on): Update.
9701         * modules/pty (Depends-on): Update.
9702         * modules/search (Depends-on): Update.
9703         * modules/signal (Depends-on): Update.
9704         * modules/spawn (Depends-on): Update.
9705         * modules/stdio (Depends-on): Update.
9706         * modules/stdlib (Depends-on): Update.
9707         * modules/string (Depends-on): Update.
9708         * modules/strings (Depends-on): Update.
9709         * modules/sys_ioctl (Depends-on): Update.
9710         * modules/sys_select (Depends-on): Update.
9711         * modules/sys_socket (Depends-on): Update.
9712         * modules/sys_stat (Depends-on): Update.
9713         * modules/sys_time (Depends-on): Update.
9714         * modules/sys_wait (Depends-on): Update.
9715         * modules/termios (Depends-on): Update.
9716         * modules/time (Depends-on): Update.
9717         * modules/unistd (Depends-on): Update.
9718         * modules/wchar (Depends-on): Update.
9719         * modules/wctype-h (Depends-on): Update.
9720
9721         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
9722         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
9723         (Files, Makefile.am): Update.
9724         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
9725         * modules/argv-iter (Depends-on): Update.
9726         * modules/arpa_inet (Depends-on): Update.
9727         * modules/dirent (Depends-on): Update.
9728         * modules/fcntl-h (Depends-on): Update.
9729         * modules/fnmatch (Depends-on): Update.
9730         * modules/getopt-posix (Depends-on): Update.
9731         * modules/glob (Depends-on): Update.
9732         * modules/iconv-h (Depends-on): Update.
9733         * modules/inttypes-incomplete (Depends-on): Update.
9734         * modules/locale (Depends-on): Update.
9735         * modules/math (Depends-on): Update.
9736         * modules/netdb (Depends-on): Update.
9737         * modules/search (Depends-on): Update.
9738         * modules/signal (Depends-on): Update.
9739         * modules/spawn (Depends-on): Update.
9740         * modules/stdio (Depends-on): Update.
9741         * modules/stdlib (Depends-on): Update.
9742         * modules/string (Depends-on): Update.
9743         * modules/strings (Depends-on): Update.
9744         * modules/sys_socket (Depends-on): Update.
9745         * modules/sys_stat (Depends-on): Update.
9746         * modules/sys_time (Depends-on): Update.
9747         * modules/sys_times (Depends-on): Update.
9748         * modules/sys_utsname (Depends-on): Update.
9749         * modules/time (Depends-on): Update.
9750         * modules/unistd (Depends-on): Update.
9751         * modules/wchar (Depends-on): Update.
9752         * MODULES.html.sh (Support for building libraries and executables):
9753         Update.
9754
9755 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
9756
9757         Improvements on _Noreturn and related modules.
9758
9759         modules/_Exit-tests: test _Noreturn too
9760         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
9761         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
9762         (main): Use them.
9763
9764         stdnoreturn, stdnoreturn-tests: remove modules
9765         They're not needed here and a bit premature for use elsewhere.  See
9766         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
9767         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
9768         * tests/test-stdnoreturn.c: Remove files.
9769         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
9770         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
9771         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
9772         and using noreturn.
9773         * modules/openat, modules/sigpipe-die, modules/xalloc:
9774         * modules/xmemdup0, modules/xstrtol:
9775         Remove dependency on stdnoreturn.
9776
9777         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
9778         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
9779         Reparenthesize to avoid GCC warning.
9780         Support Microsoft's syntax.
9781         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
9782
9783         _Noreturn-tests: remove module
9784         * modules/_Noreturn-tests: Remove.
9785         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
9786         * tests/test-_Noreturn.c: Remove.
9787         * tests/test-stdnoreturn.c: Merge from the old
9788         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
9789
9790 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
9791
9792         _Noreturn, stdnoreturn, and related modules.
9793
9794         * top/maint.mk: Adjust to new noreturn support.
9795         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
9796         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
9797
9798         xalloc: use stdnoreturn.h
9799         * lib/xalloc.h: Include <stdnoreturn.h>.
9800         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9801         * modules/xalloc (Depends-on): Add stdnoreturn.
9802
9803         xstrtol: use stdnoreturn.h
9804         * lib/xstrtol.h: Include <stdnoreturn.h>.
9805         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9806         * modules/xstrtol (Depends-on): Add stdnoreturn.
9807
9808         xmemdup0: use stdnoreturn.h
9809         * lib/xmemdup0.h: Include <stdnoreturn.h>.
9810         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9811         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
9812
9813         sigpipe-die: use stdnoreturn.h
9814         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
9815         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9816         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
9817
9818         openat: use stdnoreturn.h
9819         * lib/openat.h: Include <stdnoreturn.h>.
9820         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
9821         * modules/openat (Depends-on): Add stdnoreturn.
9822
9823         * lib/openat-die.c (openat_save_fail): Modernize comment.
9824
9825         * lib/xalloc-die.c (xalloc_die): Modernize comment.
9826
9827         * lib/glthread/thread.h: Modernize comment.
9828
9829         obstack: use _Noreturn
9830         * lib/obstack.c (__attribute__): Remove macro.
9831         (print_and_abort): Use _Noreturn.
9832
9833         c-stack: use _Noreturn
9834         * lib/c-stack.c (die, overflow_handler, segv_handler):
9835         Use _Noreturn rather than __attribute__((noreturn)).
9836
9837         argmatch-tests, exclude_tests: use _Noreturn
9838         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
9839         Remove.
9840         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
9841
9842         stdlib: use _Noreturn
9843         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
9844         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
9845         * modules/stdlib (Depends-on): Add _Noreturn.
9846         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
9847
9848         stdnoreturn-tests: new module
9849         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
9850
9851         stdnoreturn: new module
9852         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
9853         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
9854
9855         _Noreturn-tests: new module
9856         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
9857
9858         _Noreturn: new module
9859         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
9860         New section, mentioning it.
9861         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
9862
9863         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
9864
9865 2011-07-11  Eric Blake  <eblake@redhat.com>
9866
9867         ffs: new module
9868         * modules/ffs: New file.
9869         * m4/ffs.m4: Likewise.
9870         * lib/ffs.c: Likewise.
9871         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
9872         * modules/strings (Makefile.am): Substitute witness.
9873         (Depends-on): Add c++defs.
9874         * lib/strings.in.h (ffs): Declare.
9875         * modules/ffs-tests: New test file.
9876         * tests/test-ffs.c: Test new module.
9877         * MODULES.html.sh (Integer arithmetic functions): Mention it.
9878         * doc/posix-functions/ffs.texi (ffs): Likewise.
9879
9880         regex: avoid compiler warning
9881         * lib/regex.c (includes): Include <strings.h>, for use of
9882         strcasecmp in regcomp.c.
9883         Reported by Joachim Schmitz.
9884
9885 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
9886
9887         stdint: respect system's intmax_t if INTMAX_MAX
9888         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
9889         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
9890         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
9891         long but int64_t is long long, and where we will clash with the
9892         system intmax_t if we override it.  See
9893         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
9894         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
9895         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
9896         similarly for UINTMAX_C.
9897
9898 2011-07-08  Bruno Haible  <bruno@clisp.org>
9899
9900         pthread_sigmask tests: Avoid a compiler warning.
9901         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
9902         non-zero.
9903
9904         sigprocmask tests: A better way to avoid a compiler warning.
9905         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
9906         (main): Complain if system() returns non-zero.
9907         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
9908
9909 2011-07-08  Bruno Haible  <bruno@clisp.org>
9910
9911         pthread_sigmask: Work around IRIX bug.
9912         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
9913         bug.
9914         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
9915         there may be unblocked pending signals.
9916         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
9917
9918 2011-07-08  Bruno Haible  <bruno@clisp.org>
9919
9920         pthread_sigmask: Work around Cygwin bug.
9921         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
9922         bug.
9923         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
9924         the system's pthread_sigmask function.
9925         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
9926
9927 2011-07-08  Bruno Haible  <bruno@clisp.org>
9928
9929         pthread_sigmask: Work around bug in single-threaded implementation.
9930         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
9931         FreeBSD, HP-UX, Solaris bug.
9932         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
9933         * lib/pthread_sigmask.c: Include <stddef.h>.
9934         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
9935         the system's pthread_sigmask function.
9936         * modules/pthread_sigmask (configure.ac): Invoke
9937         gl_PREREQ_PTHREAD_SIGMASK.
9938         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
9939         HP-UX, Solaris.
9940
9941 2011-07-08  Eric Blake  <eblake@redhat.com>
9942
9943         test-sigprocmask: avoid compiler warning
9944         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
9945         * tests/test-sigprocmask.c (main): Use it to silence warning.
9946         Reported by Jim Meyering.
9947
9948         test-snprintf: avoid compiler warning
9949         * tests/test-snprintf.c (main): Avoid shadowed declaration.
9950         * tests/test-vsnprintf.c (main): Likewise.
9951         Reported by Jim Meyering.
9952
9953 2011-07-08  Bruno Haible  <bruno@clisp.org>
9954
9955         Tests for module 'pthread_sigmask'.
9956         * modules/pthread_sigmask-tests: New file.
9957         * tests/test-pthread_sigmask1.c: New file, based on
9958         tests/test-sigprocmask.c.
9959         * tests/test-pthread_sigmask2.c: New file.
9960
9961 2011-07-08  Jim Meyering  <meyering@redhat.com>
9962
9963         test-getopt.h: avoid warning about an unused variable
9964         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
9965
9966 2011-07-07  Jim Meyering  <meyering@redhat.com>
9967
9968         maint: reduce list of files exempt from sc_prohibit_leading_TABs
9969         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
9970         now that it no longer contains leading TABs.
9971         Remove unused "url=FIXME" statement.
9972
9973 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
9974
9975         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
9976         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
9977         When gl_THREADLIB is not in use, assume that the POSIX sematics
9978         are desired.  This is better for Emacs, which uses POSIX semantics
9979         on GNUish and/or POSIXish platforms, and does not use threads at
9980         all otherwise.
9981
9982         pthread_sigmask: fix typo when testing for libraries
9983         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
9984         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
9985
9986 2011-07-08  Eric Blake  <eblake@redhat.com>
9987
9988         fts: introduce FTS_NOATIME
9989         * lib/fts_.h (FTS_NOATIME): New bit flag.
9990         (FTS_OPTIONMASK): Adjust.
9991         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
9992         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
9993
9994 2011-07-08  Bruno Haible  <bruno@clisp.org>
9995
9996         Tests for module 'thread'.
9997         * modules/thread-tests: New file.
9998         * tests/test-thread_self.c: New file.
9999         * tests/test-thread_create.cc: New file.
10000
10001 2011-07-08  Bruno Haible  <bruno@clisp.org>
10002
10003         thread: Avoid gcc warnings when using gl_thread_self().
10004         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
10005         'void *'.
10006         (gl_thread_self_pointer): Update.
10007
10008 2011-07-07  Bruno Haible  <bruno@clisp.org>
10009
10010         signal-c++-tests: Check declaration of pthread_sigmask.
10011         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
10012         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
10013         $(LIB_PTHREAD_SIGMASK).
10014
10015 2011-07-07  Bruno Haible  <bruno@clisp.org>
10016
10017         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
10018         * lib/signal.in.h (pthread_sigmask): Override if
10019         REPLACE_PTHREAD_SIGMASK is 1.
10020         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10021         REPLACE_PTHREAD_SIGMASK.
10022         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
10023         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
10024         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
10025         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
10026         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
10027
10028 2011-07-07  Bruno Haible  <bruno@clisp.org>
10029
10030         pthread_sigmask: Ensure declaration in <signal.h>.
10031         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
10032         include <pthread.h>.
10033         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
10034         problem.
10035
10036 2011-07-07  Bruno Haible  <bruno@clisp.org>
10037
10038         pthread_sigmask: Document the module.
10039         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
10040
10041 2011-07-07  Bruno Haible  <bruno@clisp.org>
10042
10043         pthread_sigmask: Follow gnulib conventions.
10044         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
10045         gl_PTHREAD_SIGMASK.
10046         * modules/pthread_sigmask (configure.ac): Update.
10047
10048 2011-07-07  Bruno Haible  <bruno@clisp.org>
10049
10050         pthread_sigmask: Make declaration C++ safe.
10051         * lib/signal.in.h: In two special conditions, just do an #include_next.
10052         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10053         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
10054         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
10055         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
10056         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
10057         not REPLACE_PTHREAD_MASK.
10058         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
10059         not REPLACE_PTHREAD_MASK.
10060         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
10061
10062 2011-07-07  Bruno Haible  <bruno@clisp.org>
10063
10064         pthread_sigmask: Fix return value.
10065         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
10066         * lib/pthread_sigmask.c: New file.
10067         * modules/pthread_sigmask (Files): Add it.
10068         (configure.ac): Invoke AC_LIBOBJ.
10069
10070 2011-07-07  Eric Blake  <eblake@redhat.com>
10071
10072         getopt: more portable argv creation
10073         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
10074         const, use char arrays rather than strings.
10075         Suggested by Paul Eggert.
10076
10077 2011-07-07  Bruno Haible  <bruno@clisp.org>
10078
10079         Tests for module 'sigprocmask'.
10080         * modules/sigprocmask-tests: New file.
10081         * tests/test-sigprocmask.c: New file.
10082
10083 2011-07-07  Bruno Haible  <bruno@clisp.org>
10084
10085         float tests: Tweak.
10086         * tests/test-float.c (main): Tweak skip message.
10087
10088 2011-07-07  Eric Blake  <eblake@redhat.com>
10089
10090         getopt: avoid compiler warning during configure
10091         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
10092         assigning string literals to non-const pointer.
10093
10094         getopt-gnu: avoid crash in glibc getopt
10095         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
10096         * tests/test-getopt.h (test_getopt): Enhance test.
10097         * tests/test-getopt_long.h (test_getopt_long): Likewise.
10098         * doc/posix-functions/getopt.texi (getopt): Document it.
10099         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
10100         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
10101         Likewise.
10102
10103 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
10104
10105         getopt: handle W; without long options in getopt [BZ #12922]
10106         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
10107         but no long options are defined, just return 'W'.
10108
10109 2011-07-07  Bruno Haible  <bruno@clisp.org>
10110
10111         Avoid literal tabs.
10112         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
10113         variable containing a tab instead of a literal tab.
10114         Reported by Jim Meyering.
10115
10116 2011-07-07  Bruno Haible  <bruno@clisp.org>
10117
10118         Comments.
10119         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
10120
10121 2011-07-06  Bruno Haible  <bruno@clisp.org>
10122
10123         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
10124         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
10125         <winsock2.h>.
10126         (rpl_fd_isset, FD_ISSET): New definitions, copied from
10127         lib/sys_socket.in.h.
10128         (close, gethostname): Hide declarations from <winsock2.h>.
10129         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
10130         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
10131         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
10132         (select): Don't override if gnulib's <sys/select.h> was already
10133         included.
10134         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
10135         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
10136         setsockopt, shutdown, select): Tweak indentation.
10137
10138 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10139
10140         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
10141         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
10142         in an application that does not use the sys_select module.
10143
10144 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
10145
10146         poll: do not return 0 on timeout=-1
10147         * lib/poll.c: Loop with yield if no events occured
10148
10149 2011-07-06  Eric Blake  <eblake@redhat.com>
10150
10151         pthread_sigmask: always replace when not using pthread
10152         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
10153         replacement when using some threading other than pthread.  Fix
10154         logic bug.
10155
10156 2011-07-06  Bruno Haible  <bruno@clisp.org>
10157
10158         Comments.
10159         * m4/printf.m4: Update comments about mingw.
10160
10161 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
10162
10163         sys_select: define sigset_t more portably
10164         * lib/sys_select.in.h: Always include <sys/types.h>, since
10165         we now need sigset_t and mingw defines it there.
10166         Include <signal.h> before split inclusion guard, to avoid
10167         mishaps on Solaris, whose <signal.h> eventually includes us.
10168         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
10169         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
10170         which come from ...
10171         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
10172         gl_CHECK_TYPE_SIGSET_T.
10173         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
10174         does the real work.
10175         * modules/sys_select (Depends-on): Add 'signal'.
10176
10177         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
10178         Suggested by Bruno Haible.
10179
10180         pselect: Use pthread_sigmask, not sigprocmask.
10181         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
10182         multithreaded apps better than sigprocmask does.
10183         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
10184         sigprocmask directly.
10185
10186 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
10187
10188         * lib/pselect.c (pselect): Use plain name, without "rpl_".
10189         Don't #undef,  since we don't need any underlying pselect.
10190         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
10191         (Depends-on): Add select.
10192         (Link): Add $(LIBSOCKET).
10193         These changes suggested by Bruno Haible.
10194
10195         pselect: document better
10196         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10197         * doc/posix-functions/pselect.texi (pselect): Document new module.
10198
10199         pthread_sigmask: new module
10200         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
10201         * doc/posix-functions/pthread_sigmask.texi: Document new module.
10202         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
10203         This is done only as a macro; I don't know how well that'll
10204         work for C++.  Move <sys/types.h> include before the include_next,
10205         to avoid mishap on Solaris.
10206         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
10207         * modules/signal (Makefile.am): Substitute the check's results.
10208         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
10209
10210         test-pselect: new module
10211         * modules/pselect-tests, tests/test-pselect.c: New files.
10212         * tests/test-select.c, tests/test-sys_select-c++.cc:
10213         If TEST_PSELECT is defined, test pselect instead of testing select.
10214
10215         * tests/test-sys_select.c (sigset_t): Test for it, too.
10216         Suggested by Bruno Haible.
10217
10218 2011-07-05  Eric Blake  <eblake@redhat.com>
10219
10220         snprintf: guarantee %1$d, for libintl
10221         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
10222         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
10223         * doc/posix-functions/snprintf.texi (snprintf): Update.
10224         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
10225         * tests/test-snprintf.c (main): Enhance test.
10226         * tests/test-vsnprintf.c (main): Likewise.
10227
10228 2011-07-05  Jim Meyering  <meyering@redhat.com>
10229
10230         maint: exempt stdio-read.c and stdio-write.c from the cppi check
10231         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
10232         per Bruno's request, to accommodate this idiom (no space after "#")
10233         even when the function is inside an #if block:
10234         char *
10235         gets (char *s)
10236         #undef gets
10237         {
10238           ...
10239         }
10240
10241 2011-07-04  Jim Meyering  <meyering@redhat.com>
10242
10243         maint: indent with spaces, not TABs, and add a rule to check this
10244         * tests/test-userspec.c: Indent with spaces, not TABs.
10245         * tests/test-argp.c: Likewise.
10246         * tests/test-c-stack2.sh: Likewise.
10247         * tests/test-parse-duration.sh: Likewise
10248         * m4/strtod.m4: Likewise.
10249         * m4/alloca.m4: Likewise.
10250         * m4/pselect.m4: Likewise.
10251         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
10252
10253 2011-07-03  Jim Meyering  <meyering@redhat.com>
10254
10255         maint.mk: correct omissions in prohibit_argmatch_without_use check
10256         This rule would mistakenly report that argmatch.h is included without
10257         use even when both the argmatch and invalid_arg macro were used.
10258         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
10259         of argmatch and invalid_arg.
10260
10261 2011-07-03  Bruno Haible  <bruno@clisp.org>
10262
10263         Comments about EINTR.
10264         * lib/safe-read.h: Explain the purpose of this module.
10265         * lib/safe-write.h: Likewise.
10266         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
10267         module.
10268         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
10269         module.
10270         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
10271
10272 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
10273
10274         xnanosleep: Rewrite to use new dtotimespec module.
10275         It has the conversion code that used to be in xnanosleep.
10276         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
10277         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
10278         (TIME_T_MAX): Remove.
10279         (xnanosleep): Rewrite in terms of dtotimespec.
10280         * modules/xnanosleep (Depends-on): Add dtotimespec.
10281         Remove intprops, stdbool.
10282
10283         timespec-add, timespec-sub: new modules
10284         * lib/timespec.h (timespec_add, timespec_sub): New decls.
10285         * lib/timespec-add.c, lib/timespec-sub.c:
10286         * modules/timespec-add, modules/timespec-sub: New files.
10287
10288         dtotimespec: new module
10289         * lib/timespec.h (dtotimespec): New decl.
10290         * lib/dtotimespec.c, modules/dtotimespec: New files.
10291
10292         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
10293
10294         pselect: new module
10295         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
10296         (pselect): New decls.
10297         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
10298         since the standard pselect decl uses 'restrict'.
10299         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
10300         HAVE_PSELECT, REPLACE_PSELECT.
10301         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
10302         HAVE_PSELECT, REPLACE_PSELECT.
10303         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
10304
10305         sys_select: don't depend on sys_socket
10306         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
10307         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
10308         This fix works on GNU and GNU-like platforms, but has not been tested
10309         on native Windows.
10310         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
10311         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
10312         gl_HEADER_SYS_SOCKET.
10313         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
10314         gl_PREREQ_SYS_H_WINSOCK2.
10315
10316 2011-06-29  Eric Blake  <eblake@redhat.com>
10317
10318         pipe2: fix C89 compile problem
10319         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
10320         Reported by Bruno Haible.
10321
10322         pipe, pipe2: don't corrupt fd on error
10323         * lib/pipe.c (pipe): Leave fd unchanged on error.
10324         * lib/pipe2.c (pipe2): Likewise.
10325         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
10326         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
10327
10328 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
10329
10330         mmap-anon: do not use regular expressions inadvertently
10331         * m4/mmap-anon.m4: Remove trailing period from strings sought
10332         in the output.
10333
10334 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
10335
10336         nanosleep: fix integer overflow problem
10337         * lib/nanosleep.c (my_usleep): Don't assume signed integer
10338         arithmetic wraps around on overflow.
10339
10340         nanosleep: simplify carrying
10341         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
10342         first call to the underyling nanosleep, not for the last one.
10343         This doesn't fix any bugs, but it simplifies the computation of
10344         the remaining delay.  Found while auditing integer overflow issues.
10345
10346         dup2: remove test for existence of fcntl
10347         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
10348         "#if HAVE_FCNTL", in the configure-time test program.
10349         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
10350         and therefore speeds up "configure" a bit.  Found while
10351         adding the dup2 module to Emacs.
10352
10353 2011-06-24  Eric Blake  <eblake@redhat.com>
10354
10355         maint.mk: enhance useless header checks
10356         * top/maint.mk (_sc_header_without_use): Check both include
10357         styles.
10358         (sc_prohibit_assert_without_use)
10359         (sc_prohibit_close_stream_without_use)
10360         (sc_prohibit_getopt_without_use)
10361         (sc_prohibit_quotearg_without_use)
10362         (sc_prohibit_quote_without_use)
10363         (sc_prohibit_long_options_without_use)
10364         (sc_prohibit_inttostr_without_use)
10365         (sc_prohibit_ignore_value_without_use)
10366         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
10367         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
10368         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
10369         (sc_prohibit_hash_pjw_without_use)
10370         (sc_prohibit_safe_read_without_use)
10371         (sc_prohibit_argmatch_without_use)
10372         (sc_prohibit_canonicalize_without_use)
10373         (sc_prohibit_root_dev_ino_without_use)
10374         (sc_prohibit_openat_without_use)
10375         (sc_prohibit_c_ctype_without_use)
10376         (sc_prohibit_signal_without_use)
10377         (sc_prohibit_stdio--_without_use)
10378         (sc_prohibit_stdio-safer_without_use)
10379         (sc_prohibit_strings_without_use)
10380         (sc_prohibit_intprops_without_use)
10381         (sc_prohibit_stddef_without_use)
10382         (sc_prohibit_xfreopen_without_use): Update clients.
10383
10384 2011-06-24  Jim Meyering  <meyering@redhat.com>
10385
10386         syntax-check: keep one maint.mk rule in sync with its header
10387         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
10388         of the bug Eric has just fixed, with today's commit 25e4c2ec.
10389         I prefer to avoid temporary files here, so use <(...), but that
10390         is not supported by /bin/sh, so...
10391         (SHELL): Define to /bin/bash.
10392
10393 2011-06-24  Eric Blake  <eblake@redhat.com>
10394
10395         maint.mk: update sc_prohibit_intprops_without_use
10396         * top/maint.mk (_intprops_names): Match recent changes.
10397
10398 2011-06-24  Bruno Haible  <bruno@clisp.org>
10399
10400         strerror-override: No-op tweak.
10401         * lib/strerror-override.h (strerror_override): Reorder conditions,
10402         for consistency with lib/strerror-override.c.
10403
10404 2011-06-23  Eric Blake  <eblake@redhat.com>
10405
10406         maint.mk: test further PATH_MAX issues
10407         * top/maint.mk (sc_prohibit_path_max_array): Rename...
10408         (sc_prohibit_path_max_allocation): ...and also test alloca.
10409         Suggested by Jim Meyering.
10410
10411 2011-06-22  Eric Blake  <eblake@redhat.com>
10412
10413         maint.mk: add syntax-check to avoid char[PATH_MAX]
10414         * top/maint.mk (sc_prohibit_path_max_array): New rule.
10415
10416         stat: be robust to PATH_MAX definition
10417         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
10418         * modules/stat (Depends-on): Add verify.
10419
10420         link: work around IRIX bug
10421         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
10422         * lib/link.c (rpl_link): Work around it.
10423         * tests/test-link.h (test_link): Enhance test.
10424         * doc/posix-functions/link.texi (link): Document the bug.
10425
10426         getopt: silence clang warning
10427         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
10428         dereference.
10429         Reported by Gustavo Martin Domato.
10430
10431 2011-06-22  Jim Meyering  <meyering@redhat.com>
10432
10433         bootstrap: do not insert a blank line into each .gitignore file
10434         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
10435
10436 2011-06-21  Eric Blake  <eblake@redhat.com>
10437
10438         perror: test for output mismatch
10439         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
10440         perror on IRIX.
10441
10442         strerror_r: fix OpenBSD behavior on out-of-range
10443         * lib/strerror_r.c (strerror_r): Always use maximal string.
10444         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
10445
10446         strerror_r: fix OpenBSD behavior on 0
10447         * lib/strerror-override.c (strerror_override): Also override 0
10448         when needed.
10449         * lib/strerror-override.h (strerror_override): Likewise.
10450         * lib/strerror.c (strerror): Simplify, now that 0 override is done
10451         earlier.
10452         * lib/strerror_r.c (strerror_r): Likewise.
10453         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
10454         behavior...
10455         (gl_FUNC_STRERROR_0): ...into new macro.
10456         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
10457         is overridden.
10458         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
10459         * modules/strerror-override (Files): Add strerror.m4.
10460         (configure.ac): Also provide override for 0 when needed.
10461         * doc/posix-functions/strerror.texi (strerror): Document this.
10462         * doc/posix-functions/perror.texi (perror): Likewise.
10463
10464         perror: adjust array size
10465         * modules/perror (Depends-on): Add strerror-override.
10466         * lib/perror.c (perror): Use it to avoid magic number.
10467
10468         strerror-override: reduce size
10469         * lib/strerror-override.c (strerror_override): Use fewer lines.
10470
10471 2011-06-20  Bruno Haible  <bruno@clisp.org>
10472
10473         pathmax: Ensure correct value for PATH_MAX on HP-UX.
10474         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
10475
10476 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
10477
10478         alloca: port to compilers that can optimize like GCC 4.6.0
10479         * lib/alloca.c (find_stack_direction): New signature, taken from
10480         Autoconf git.  This works with GCC 4.6.0.  This code should never
10481         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
10482         be used with other compilers that optimize as well as GCC 4.6.0 does.
10483         (alloca): Adjust to new signature.
10484         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
10485         New macro, which patches Autoconf in a similar way.
10486
10487         c-stack: stop worrying about stack direction
10488         * lib/c-stack.c (find_stack_direction): Remove.
10489         (segv_handler): Don't worry about stack direction growth, as it's
10490         too much of a pain to configure this correctly, given how compilers
10491         are optimizing-away our stack-growth detection code.  Instead, assume
10492         that any access to just before or just after the stack is OK.
10493         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
10494         Don't require AC_FUNC_ALLOCA; no longer needed.
10495
10496 2011-06-20  Eric Blake  <eblake@redhat.com>
10497
10498         test-stat: don't allocate PATH_MAX bytes
10499         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
10500         PATH_MAX-sized buffer.
10501         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
10502         * modules/stat-tests (Depends-on): Likewise.
10503         * tests/test-fstatat.c (includes): Drop pathmax.h.
10504         * tests/test-stat.c (includes): Likewise.
10505         Reported by Bruno Haible.
10506
10507 2011-06-20  Bruno Haible  <bruno@clisp.org>
10508
10509         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
10510         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
10511         * lib/float.c: New file.
10512         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
10513         REPLACE_FLOAT_LDBL.
10514         * modules/float (Files): Add lib/float.c.
10515         (configure.ac): Invoke AC_LIBOBJ.
10516         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
10517
10518 2011-06-20  Bruno Haible  <bruno@clisp.org>
10519
10520         Tests for module 'float'.
10521         * modules/float-tests: New file.
10522         * tests/test-float.c: New file.
10523
10524 2011-06-19  Bruno Haible  <bruno@clisp.org>
10525
10526         isinf: Coding style.
10527         * lib/isinf.c: Use GNU coding style.
10528
10529 2011-06-19  Bruno Haible  <bruno@clisp.org>
10530
10531         linkat test: Avoid test failure on AIX 7.1.
10532         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
10533         * tests/test-link.h (test_link): Likewise.
10534
10535 2011-06-19  Bruno Haible  <bruno@clisp.org>
10536
10537         pread test: Avoid test failure on OpenBSD 4.9.
10538         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
10539
10540 2011-06-19  Bruno Haible  <bruno@clisp.org>
10541
10542         sprintf-posix: Fix test failure on AIX 7.1.
10543         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
10544         * doc/posix-functions/dprintf.texi: Mention limited precision problem
10545         on AIX.
10546         * doc/posix-functions/fprintf.texi: Likewise.
10547         * doc/posix-functions/printf.texi: Likewise.
10548         * doc/posix-functions/snprintf.texi: Likewise.
10549         * doc/posix-functions/sprintf.texi: Likewise.
10550         * doc/posix-functions/vdprintf.texi: Likewise.
10551         * doc/posix-functions/vfprintf.texi: Likewise.
10552         * doc/posix-functions/vprintf.texi: Likewise.
10553         * doc/posix-functions/vsnprintf.texi: Likewise.
10554         * doc/posix-functions/vsprintf.texi: Likewise.
10555
10556 2011-06-19  Bruno Haible  <bruno@clisp.org>
10557
10558         roundl-ieee: Fix test failure on AIX 7.1.
10559         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
10560         * doc/posix-functions/roundl.texi: Mention problem with negative
10561         arguments.
10562
10563 2011-06-19  Bruno Haible  <bruno@clisp.org>
10564
10565         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10566         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
10567         * doc/posix-functions/round.texi: Mention problem with negative
10568         arguments.
10569         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
10570
10571 2011-06-19  Bruno Haible  <bruno@clisp.org>
10572
10573         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
10574         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
10575         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
10576         * doc/posix-functions/roundf.texi: Mention problem with negative
10577         arguments.
10578         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
10579
10580 2011-06-19  Bruno Haible  <bruno@clisp.org>
10581
10582         ceilf-ieee: Work around bug on MacOS X 10.5.
10583         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
10584
10585         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
10586         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
10587         IEEE compliant, avoid compiler optimizations.
10588         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
10589         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
10590         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
10591         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
10592         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
10593         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
10594         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
10595         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
10596         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
10597         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
10598
10599 2011-06-19  Bruno Haible  <bruno@clisp.org>
10600
10601         ceilf-ieee: Work around bug on AIX 7.1.
10602         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
10603         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
10604
10605 2011-06-19  Bruno Haible  <bruno@clisp.org>
10606
10607         ceil-ieee: Work around bug on AIX 7.1.
10608         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
10609         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
10610
10611 2011-06-18  Bruno Haible  <bruno@clisp.org>
10612
10613         fsync test: Avoid test failure on MacOS X and AIX.
10614         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
10615         EINVAL.
10616
10617 2011-06-18  Bruno Haible  <bruno@clisp.org>
10618
10619         openat, fdopendir tests: Fix link errors.
10620         * modules/openat-tests (Depends-on): Add progname.
10621         * modules/fdopendir-tests (Depends-on): Likewise.
10622         * tests/test-fchownat.c: Include progname.h.
10623         (main): Call set_program_name.
10624         * tests/test-fstatat.c: Include progname.h.
10625         (main): Call set_program_name.
10626         * tests/test-mkdirat.c: Include progname.h.
10627         (main): Call set_program_name.
10628         * tests/test-openat.c: Include progname.h.
10629         (main): Call set_program_name.
10630         * tests/test-unlinkat.c: Include progname.h.
10631         (main): Call set_program_name.
10632         * tests/test-fdopendir.c: Include progname.h.
10633         (main): Call set_program_name.
10634
10635 2011-06-18  Bruno Haible  <bruno@clisp.org>
10636
10637         Doc update.
10638         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
10639         HP-UX.
10640         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
10641
10642 2011-06-18  Bruno Haible  <bruno@clisp.org>
10643
10644         getcwd tests: Avoid compilation error on HP-UX 11.31.
10645         * modules/getcwd-tests (Depends-on): Add pathmax.
10646         * tests/test-getcwd.c: Include pathmax.h.
10647
10648 2011-06-18  Bruno Haible  <bruno@clisp.org>
10649
10650         isfinite, isinf: Fix link error on AIX 6 and 7.
10651         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
10652         needed, also test the macro with a 'float' argument.
10653         * m4/isinf.m4 (gl_ISINF): Likewise.
10654
10655 2011-06-18  Bruno Haible  <bruno@clisp.org>
10656
10657         getloadavg: Don't clobber LIBS. Regression from previous commit.
10658         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
10659         AC_CHECK_LIB from here...
10660         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
10661         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
10662         gl_func_getloadavg_done.
10663         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10664
10665 2011-06-18  Bruno Haible  <bruno@clisp.org>
10666
10667         clean-temp: Improve documentation.
10668         * lib/clean-temp.h: Explain better how to use this module.
10669         Reported by John Darrington <john@darrington.wattle.id.au>.
10670
10671 2011-06-17  Bruno Haible  <bruno@clisp.org>
10672
10673         pread, pwrite: Avoid cc warning on AIX.
10674         * lib/unistd.in.h (pread): Undefine before defining as a macro.
10675         (pwrite): Likewise.
10676
10677 2011-06-17  Bruno Haible  <bruno@clisp.org>
10678
10679         spawn-pipe tests: Fix link error.
10680         * tests/test-spawn-pipe-child.c: Undefine fprintf.
10681         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10682
10683 2011-06-17  Bruno Haible  <bruno@clisp.org>
10684
10685         Tests: Remove unnecessary dependency.
10686         * modules/canonicalize-tests (Depends-on): Remove progname.
10687         * modules/chown-tests (Depends-on): Likewise.
10688         * modules/dirname-tests (Depends-on): Likewise.
10689         * modules/fdopendir-tests (Depends-on): Likewise.
10690         * modules/fdutimensat-tests (Depends-on): Likewise.
10691         * modules/hash-tests (Depends-on): Likewise.
10692         * modules/lchown-tests (Depends-on): Likewise.
10693         * modules/linkat-tests (Depends-on): Likewise.
10694         * modules/renameat-tests (Depends-on): Likewise.
10695         * modules/spawn-pipe-tests (Depends-on): Likewise.
10696         * modules/utimensat-tests (Depends-on): Likewise.
10697
10698 2011-06-17  Bruno Haible  <bruno@clisp.org>
10699
10700         spawn-pipe tests: Fix link error.
10701         * tests/test-spawn-pipe-child.c: Undefine fflush.
10702
10703 2011-06-17  Bruno Haible  <bruno@clisp.org>
10704
10705         Fix tests link errors.
10706         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
10707         * modules/chown-tests (Makefile.am): Don't link test-chown with
10708         LIBINTL.
10709         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
10710         LIBINTL.
10711         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
10712         LIBINTL.
10713         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
10714         LIBINTL.
10715
10716 2011-06-16  Bruno Haible  <bruno@clisp.org>
10717
10718         crypto/gc-sha1: Fix recent regression.
10719         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
10720         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
10721
10722         crypto/gc-md5: Fix recent regression.
10723         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
10724
10725         crypto/gc-md4: Fix recent regression.
10726         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
10727         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
10728
10729         crypto/gc-arctwo: Fix recent regression.
10730         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
10731         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
10732
10733         crypto/gc-rijndael: Fix recent regression.
10734         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
10735         (configure.ac): Invoke AC_LIBOBJ here.
10736         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
10737         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10738
10739         crypto/gc-hmac-sha1: Fix recent regression.
10740         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
10741         (configure.ac): Invoke AC_LIBOBJ here.
10742         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
10743         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10744
10745         crypto/gc-hmac-md5: Fix recent regression.
10746         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
10747         (configure.ac): Invoke AC_LIBOBJ here.
10748         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
10749         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10750
10751         crypto/gc-des: Fix recent regression.
10752         * modules/crypto/gc-des (Files): Remove m4/des.m4.
10753         (configure.ac): Invoke AC_LIBOBJ here.
10754         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
10755         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10756
10757         crypto/gc-arcfour: Fix recent regression.
10758         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
10759         (configure.ac): Invoke AC_LIBOBJ here.
10760         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
10761         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10762
10763 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
10764
10765         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
10766         After the 2011-05-21 change, this macro requires
10767         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
10768         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
10769
10770 2011-06-16  Bruno Haible  <bruno@clisp.org>
10771
10772         fprintftime: Move AC_LIBOBJ invocations to module description.
10773         * m4/fprintftime.m4: Remove file.
10774         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
10775         (configure.ac): Remove gl_FPRINTFTIME call.
10776         (Makefile.am): Augment lib_SOURCES.
10777         Reported by Jim Meyering.
10778
10779 2011-06-16  Bruno Haible  <bruno@clisp.org>
10780
10781         tmpfile-safer: Finish 2011-05-23 commit.
10782         * m4/stdio-safer.m4: Really remove file.
10783         Reported by Jim Meyering.
10784
10785 2011-06-16  Bruno Haible  <bruno@clisp.org>
10786
10787         syntax-check: Fix typo.
10788         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
10789         printf-posix.m4.
10790         Reported by Jim Meyering.
10791
10792 2011-06-13  Jim Meyering  <meyering@redhat.com>
10793
10794         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
10795         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
10796
10797 2011-05-23  Bruno Haible  <bruno@clisp.org>
10798
10799         yesno: Move AC_LIBOBJ invocations to module description.
10800         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
10801         * modules/yesno (Makefile.am): Augment lib_SOURCES.
10802
10803 2011-05-23  Bruno Haible  <bruno@clisp.org>
10804
10805         xstrtol: Move AC_LIBOBJ invocations to module description.
10806         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
10807         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
10808
10809 2011-05-23  Bruno Haible  <bruno@clisp.org>
10810
10811         xstrtold: Move AC_LIBOBJ invocations to module description.
10812         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
10813         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
10814
10815 2011-05-23  Bruno Haible  <bruno@clisp.org>
10816
10817         xstrtod: Move AC_LIBOBJ invocations to module description.
10818         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
10819         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
10820
10821 2011-05-23  Bruno Haible  <bruno@clisp.org>
10822
10823         xnanosleep: Move AC_LIBOBJ invocations to module description.
10824         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
10825         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
10826
10827 2011-05-23  Bruno Haible  <bruno@clisp.org>
10828
10829         xgetcwd: Move AC_LIBOBJ invocations to module description.
10830         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
10831         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
10832
10833 2011-05-23  Bruno Haible  <bruno@clisp.org>
10834
10835         xalloc: Move AC_LIBOBJ invocations to module description.
10836         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
10837         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
10838
10839 2011-05-23  Bruno Haible  <bruno@clisp.org>
10840
10841         write-any-file: Move AC_LIBOBJ invocations to module description.
10842         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
10843         invocation.
10844         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
10845
10846 2011-05-23  Bruno Haible  <bruno@clisp.org>
10847
10848         utimens: Move AC_LIBOBJ invocations to module description.
10849         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
10850         * modules/utimens (Makefile.am): Augment lib_SOURCES.
10851
10852 2011-05-23  Bruno Haible  <bruno@clisp.org>
10853
10854         utimecmp: Move AC_LIBOBJ invocations to module description.
10855         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
10856         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
10857
10858 2011-05-23  Bruno Haible  <bruno@clisp.org>
10859
10860         userspec: Move AC_LIBOBJ invocations to module description.
10861         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
10862         * modules/userspec (Makefile.am): Augment lib_SOURCES.
10863
10864 2011-05-23  Bruno Haible  <bruno@clisp.org>
10865
10866         unlinkdir: Move AC_LIBOBJ invocations to module description.
10867         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
10868         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
10869
10870 2011-05-23  Bruno Haible  <bruno@clisp.org>
10871
10872         unistd-safer: Move AC_LIBOBJ invocations to module description.
10873         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
10874         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
10875
10876 2011-05-23  Bruno Haible  <bruno@clisp.org>
10877
10878         tempname: Move AC_LIBOBJ invocations to module description.
10879         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
10880         * modules/tempname (Makefile.am): Augment lib_SOURCES.
10881
10882 2011-05-23  Bruno Haible  <bruno@clisp.org>
10883
10884         strftime: Move AC_LIBOBJ invocations to module description.
10885         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
10886         * modules/strftime (Makefile.am): Augment lib_SOURCES.
10887
10888 2011-05-23  Bruno Haible  <bruno@clisp.org>
10889
10890         stdlib-safer: Move AC_LIBOBJ invocations to module description.
10891         * m4/stdlib-safer.m4: Remove file.
10892         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
10893         (configure.ac): Remove gl_STDLIB_SAFER call.
10894         (Makefile.am): Augment lib_SOURCES.
10895
10896 2011-05-23  Bruno Haible  <bruno@clisp.org>
10897
10898         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
10899         * m4/stdio-safer.m4: Remove file.
10900         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
10901         (configure.ac): Remove gl_TMPFILE_SAFER call.
10902         (Makefile.am): Augment lib_SOURCES.
10903
10904 2011-05-23  Bruno Haible  <bruno@clisp.org>
10905
10906         popen-safer: Move AC_LIBOBJ invocations to module description.
10907         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
10908         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
10909         (configure.ac): Remove gl_POPEN_SAFER call.
10910         (Makefile.am): Augment lib_SOURCES.
10911
10912 2011-05-23  Bruno Haible  <bruno@clisp.org>
10913
10914         freopen-safer: Move AC_LIBOBJ invocations to module description.
10915         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
10916         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
10917         (configure.ac): Remove gl_FREOPEN_SAFER call.
10918         (Makefile.am): Augment lib_SOURCES.
10919
10920 2011-05-23  Bruno Haible  <bruno@clisp.org>
10921
10922         fopen-safer: Move AC_LIBOBJ invocations to module description.
10923         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
10924         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
10925         (configure.ac): Remove gl_FOPEN_SAFER call.
10926         (Makefile.am): Augment lib_SOURCES.
10927
10928 2011-05-23  Bruno Haible  <bruno@clisp.org>
10929
10930         crypto/sha512: Move AC_LIBOBJ invocations to module description.
10931         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
10932         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
10933
10934 2011-05-23  Bruno Haible  <bruno@clisp.org>
10935
10936         crypto/sha256: Move AC_LIBOBJ invocations to module description.
10937         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
10938         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
10939
10940 2011-05-23  Bruno Haible  <bruno@clisp.org>
10941
10942         crypto/sha1: Move AC_LIBOBJ invocations to module description.
10943         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
10944         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
10945
10946 2011-05-23  Bruno Haible  <bruno@clisp.org>
10947
10948         settime: Move AC_LIBOBJ invocations to module description.
10949         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
10950         * modules/settime (Makefile.am): Augment lib_SOURCES.
10951
10952 2011-05-23  Bruno Haible  <bruno@clisp.org>
10953
10954         savedir: Move AC_LIBOBJ invocations to module description.
10955         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
10956         * modules/savedir (Makefile.am): Augment lib_SOURCES.
10957
10958 2011-05-23  Bruno Haible  <bruno@clisp.org>
10959
10960         save-cwd: Move AC_LIBOBJ invocations to module description.
10961         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
10962         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
10963
10964 2011-05-23  Bruno Haible  <bruno@clisp.org>
10965
10966         same: Move AC_LIBOBJ invocations to module description.
10967         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
10968         * modules/same (Makefile.am): Augment lib_SOURCES.
10969
10970 2011-05-23  Bruno Haible  <bruno@clisp.org>
10971
10972         safe-write: Move AC_LIBOBJ invocations to module description.
10973         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
10974         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
10975         instead of gl_SAFE_WRITE.
10976         (Makefile.am): Augment lib_SOURCES.
10977
10978 2011-05-23  Bruno Haible  <bruno@clisp.org>
10979
10980         safe-read: Move AC_LIBOBJ invocations to module description.
10981         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
10982         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
10983         of gl_SAFE_READ.
10984         (Makefile.am): Augment lib_SOURCES.
10985
10986 2011-05-23  Bruno Haible  <bruno@clisp.org>
10987
10988         safe-alloc: Move AC_LIBOBJ invocations to module description.
10989         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
10990         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
10991
10992 2011-05-23  Bruno Haible  <bruno@clisp.org>
10993
10994         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
10995         * m4/rijndael.m4: Remove file.
10996         * modules/crypto/rijndael (Files): Remove it.
10997         (configure.ac): Remove gl_RIJNDAEL call.
10998         (Makefile.am): Augment lib_SOURCES.
10999
11000 2011-05-23  Bruno Haible  <bruno@clisp.org>
11001
11002         readtokens: Move AC_LIBOBJ invocations to module description.
11003         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
11004         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
11005
11006 2011-05-23  Bruno Haible  <bruno@clisp.org>
11007
11008         read-file: Move AC_LIBOBJ invocations to module description.
11009         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
11010         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
11011         of gl_FUNC_READ_FILE.
11012         (Makefile.am): Augment lib_SOURCES.
11013
11014 2011-05-23  Bruno Haible  <bruno@clisp.org>
11015
11016         quotearg: Move AC_LIBOBJ invocations to module description.
11017         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
11018         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
11019
11020 2011-05-23  Bruno Haible  <bruno@clisp.org>
11021
11022         quote: Move AC_LIBOBJ invocations to module description.
11023         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
11024         * modules/quote (Makefile.am): Augment lib_SOURCES.
11025
11026 2011-05-23  Bruno Haible  <bruno@clisp.org>
11027
11028         posixver: Move AC_LIBOBJ invocations to module description.
11029         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
11030         * modules/posixver (Makefile.am): Augment lib_SOURCES.
11031
11032 2011-05-23  Bruno Haible  <bruno@clisp.org>
11033
11034         posixtm: Move AC_LIBOBJ invocations to module description.
11035         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
11036         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
11037
11038 2011-05-23  Bruno Haible  <bruno@clisp.org>
11039
11040         physmem: Move AC_LIBOBJ invocations to module description.
11041         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
11042         * modules/physmem (Makefile.am): Augment lib_SOURCES.
11043
11044 2011-05-23  Bruno Haible  <bruno@clisp.org>
11045
11046         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
11047         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
11048         invocation.
11049         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
11050
11051 2011-05-23  Bruno Haible  <bruno@clisp.org>
11052
11053         mpsort: Move AC_LIBOBJ invocations to module description.
11054         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
11055         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
11056
11057 2011-05-23  Bruno Haible  <bruno@clisp.org>
11058
11059         modechange: Move AC_LIBOBJ invocations to module description.
11060         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
11061         * modules/modechange (Makefile.am): Augment lib_SOURCES.
11062
11063 2011-05-23  Bruno Haible  <bruno@clisp.org>
11064
11065         mkdir-p: Move AC_LIBOBJ invocations to module description.
11066         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
11067         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
11068
11069 2011-05-23  Bruno Haible  <bruno@clisp.org>
11070
11071         mkancesdirs: Move AC_LIBOBJ invocations to module description.
11072         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
11073         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
11074
11075 2011-05-23  Bruno Haible  <bruno@clisp.org>
11076
11077         mgetgroups: Move AC_LIBOBJ invocations to module description.
11078         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
11079         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
11080
11081 2011-05-23  Bruno Haible  <bruno@clisp.org>
11082
11083         memxor: Move AC_LIBOBJ invocations to module description.
11084         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
11085         * modules/memxor (Makefile.am): Augment lib_SOURCES.
11086
11087 2011-05-23  Bruno Haible  <bruno@clisp.org>
11088
11089         memcoll: Move AC_LIBOBJ invocations to module description.
11090         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
11091         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
11092
11093 2011-05-23  Bruno Haible  <bruno@clisp.org>
11094
11095         memcasecmp: Move AC_LIBOBJ invocations to module description.
11096         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
11097         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
11098
11099 2011-05-23  Bruno Haible  <bruno@clisp.org>
11100
11101         crypto/md5: Move AC_LIBOBJ invocations to module description.
11102         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
11103         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
11104
11105 2011-05-23  Bruno Haible  <bruno@clisp.org>
11106
11107         crypto/md4: Move AC_LIBOBJ invocations to module description.
11108         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
11109         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
11110
11111 2011-05-23  Bruno Haible  <bruno@clisp.org>
11112
11113         crypto/md2: Move AC_LIBOBJ invocations to module description.
11114         * m4/md2.m4: Remove file.
11115         * modules/crypto/md2 (Files): Remove it.
11116         (configure.ac): Remove gl_MD2 call.
11117         (Makefile.am): Augment lib_SOURCES.
11118
11119 2011-05-23  Bruno Haible  <bruno@clisp.org>
11120
11121         long-options: Move AC_LIBOBJ invocations to module description.
11122         * m4/long-options.m4: Remove file.
11123         * modules/long-options (Files): Remove it.
11124         (configure.ac): Remove gl_LONG_OPTIONS call.
11125         (Makefile.am): Augment lib_SOURCES.
11126
11127 2011-05-23  Bruno Haible  <bruno@clisp.org>
11128
11129         i-ring: Move AC_LIBOBJ invocations to module description.
11130         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
11131         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
11132
11133 2011-05-23  Bruno Haible  <bruno@clisp.org>
11134
11135         idcache: Move AC_LIBOBJ invocations to module description.
11136         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
11137         * modules/idcache (Makefile.am): Augment lib_SOURCES.
11138
11139 2011-05-23  Bruno Haible  <bruno@clisp.org>
11140
11141         human: Move AC_LIBOBJ invocations to module description.
11142         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
11143         * modules/human (Makefile.am): Augment lib_SOURCES.
11144
11145 2011-05-23  Bruno Haible  <bruno@clisp.org>
11146
11147         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
11148         * m4/hmac-sha1.m4: Remove file.
11149         * modules/crypto/hmac-sha1 (Files): Remove it.
11150         (configure.ac): Remove gl_HMAC_SHA1 call.
11151         (Makefile.am): Augment lib_SOURCES.
11152
11153 2011-05-23  Bruno Haible  <bruno@clisp.org>
11154
11155         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
11156         * m4/hmac-md5.m4: Remove file.
11157         * modules/crypto/hmac-md5 (Files): Remove it.
11158         (configure.ac): Remove gl_HMAC_MD5 call.
11159         (Makefile.am): Augment lib_SOURCES.
11160
11161 2011-05-23  Bruno Haible  <bruno@clisp.org>
11162
11163         hash: Move AC_LIBOBJ invocations to module description.
11164         * m4/hash.m4: Remove file.
11165         * modules/hash (Files): Remove it.
11166         (configure.ac): Remove gl_HASH call.
11167         (Makefile.am): Augment lib_SOURCES.
11168
11169 2011-05-23  Bruno Haible  <bruno@clisp.org>
11170
11171         hard-locale: Move AC_LIBOBJ invocations to module description.
11172         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
11173         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
11174
11175 2011-05-23  Bruno Haible  <bruno@clisp.org>
11176
11177         getugroups: Move AC_LIBOBJ invocations to module description.
11178         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
11179         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
11180
11181 2011-05-23  Bruno Haible  <bruno@clisp.org>
11182
11183         gettime: Move AC_LIBOBJ invocations to module description.
11184         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
11185         * modules/gettime (Makefile.am): Augment lib_SOURCES.
11186
11187 2011-05-23  Bruno Haible  <bruno@clisp.org>
11188
11189         getndelim2: Move AC_LIBOBJ invocations to module description.
11190         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
11191         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
11192
11193 2011-05-23  Bruno Haible  <bruno@clisp.org>
11194
11195         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
11196         * m4/gc-pbkdf2-sha1.m4: Remove file.
11197         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
11198         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
11199         (Makefile.am): Augment lib_SOURCES.
11200
11201 2011-05-23  Bruno Haible  <bruno@clisp.org>
11202
11203         fts: Move AC_LIBOBJ invocations to module description.
11204         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
11205         * modules/fts (configure.ac): ... to here.
11206
11207 2011-05-23  Bruno Haible  <bruno@clisp.org>
11208
11209         file-type: Move AC_LIBOBJ invocations to module description.
11210         * m4/file-type.m4: Remove file.
11211         * modules/file-type (Files): Remove it.
11212         (configure.ac): Remove gl_FILE_TYPE call.
11213         (Makefile.am): Augment lib_SOURCES.
11214
11215 2011-05-23  Bruno Haible  <bruno@clisp.org>
11216
11217         filenamecat*: Respect rules for use of AC_LIBOBJ.
11218         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
11219         Remove AC_LIBOBJ invocation.
11220         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
11221         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
11222
11223 2011-05-23  Bruno Haible  <bruno@clisp.org>
11224
11225         filemode: Move AC_LIBOBJ invocations to module description.
11226         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
11227         * modules/filemode (Makefile.am): Augment lib_SOURCES.
11228
11229 2011-05-23  Bruno Haible  <bruno@clisp.org>
11230
11231         openat-safer: Move AC_LIBOBJ invocations to module description.
11232         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
11233         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
11234
11235 2011-05-23  Bruno Haible  <bruno@clisp.org>
11236
11237         fcntl-safer: Move AC_LIBOBJ invocations to module description.
11238         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
11239         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
11240
11241 2011-05-23  Bruno Haible  <bruno@clisp.org>
11242
11243         exclude: Move AC_LIBOBJ invocations to module description.
11244         * m4/exclude.m4: Remove file.
11245         * modules/exclude (Files): Remove it.
11246         (configure.ac): Remove gl_EXCLUDE call.
11247         (Makefile.am): Augment lib_SOURCES.
11248
11249 2011-05-23  Bruno Haible  <bruno@clisp.org>
11250
11251         dirname*: Respect rules for use of AC_LIBOBJ.
11252         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
11253         invocations.
11254         * modules/dirname (Makefile.am): Augment lib_SOURCES.
11255         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
11256
11257 2011-05-23  Bruno Haible  <bruno@clisp.org>
11258
11259         dirent-safer: Move AC_LIBOBJ invocations to module description.
11260         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
11261         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
11262
11263 2011-05-23  Bruno Haible  <bruno@clisp.org>
11264
11265         crypto/des: Move AC_LIBOBJ invocations to module description.
11266         * m4/des.m4: Remove file.
11267         * modules/crypto/des (Files): Remove it.
11268         (configure.ac): Remove gl_DES call.
11269         (Makefile.am): Augment lib_SOURCES.
11270
11271 2011-05-23  Bruno Haible  <bruno@clisp.org>
11272
11273         cycle-check: Move AC_LIBOBJ invocations to module description.
11274         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
11275         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
11276
11277 2011-05-23  Bruno Haible  <bruno@clisp.org>
11278
11279         c-strtold: Move AC_LIBOBJ invocations to module description.
11280         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
11281         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
11282
11283 2011-05-23  Bruno Haible  <bruno@clisp.org>
11284
11285         c-strtod: Move AC_LIBOBJ invocations to module description.
11286         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
11287         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
11288
11289 2011-05-23  Bruno Haible  <bruno@clisp.org>
11290
11291         crc: Move AC_LIBOBJ invocations to module description.
11292         * m4/crc.m4: Remove file.
11293         * modules/crc (Files): Remove it.
11294         (configure.ac): Remove gl_CRC call.
11295         (Makefile.am): Augment lib_SOURCES.
11296
11297 2011-05-23  Bruno Haible  <bruno@clisp.org>
11298
11299         close-stream: Move AC_LIBOBJ invocations to module description.
11300         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
11301         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
11302
11303 2011-05-23  Bruno Haible  <bruno@clisp.org>
11304
11305         closeout: Move AC_LIBOBJ invocations to module description.
11306         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
11307         * modules/closeout (Makefile.am): Augment lib_SOURCES.
11308
11309 2011-05-23  Bruno Haible  <bruno@clisp.org>
11310
11311         closein: Move AC_LIBOBJ invocations to module description.
11312         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
11313         * modules/closein (Makefile.am): Augment lib_SOURCES.
11314
11315 2011-05-23  Bruno Haible  <bruno@clisp.org>
11316
11317         cloexec: Move AC_LIBOBJ invocations to module description.
11318         * m4/cloexec.m4: Remove file.
11319         * modules/cloexec (Files): Remove it.
11320         (configure.ac): Remove gl_CLOEXEC call.
11321         (Makefile.am): Augment lib_SOURCES.
11322
11323 2011-05-23  Bruno Haible  <bruno@clisp.org>
11324
11325         check-version: Move AC_LIBOBJ invocations to module description.
11326         * m4/check-version.m4: Remove file.
11327         * modules/check-version (Files): Remove it.
11328         (configure.ac): Remove gl_CHECK_VERSION call.
11329         (Makefile.am): Augment lib_SOURCES.
11330
11331 2011-05-23  Bruno Haible  <bruno@clisp.org>
11332
11333         chdir-safer: Move AC_LIBOBJ invocations to module description.
11334         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
11335         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
11336
11337 2011-05-23  Bruno Haible  <bruno@clisp.org>
11338
11339         canonicalize: Move AC_LIBOBJ invocations to module description.
11340         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
11341         AC_LIBOBJ invocation.
11342         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
11343
11344 2011-05-23  Bruno Haible  <bruno@clisp.org>
11345
11346         canon-host: Move AC_LIBOBJ invocations to module description.
11347         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
11348         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
11349         instead of gl_CANON_HOST.
11350         (Makefile.am): Augment lib_SOURCES.
11351
11352 2011-05-23  Bruno Haible  <bruno@clisp.org>
11353
11354         backupfile: Move AC_LIBOBJ invocations to module description.
11355         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
11356         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
11357
11358 2011-05-23  Bruno Haible  <bruno@clisp.org>
11359
11360         argmatch: Move AC_LIBOBJ invocations to module description.
11361         * m4/argmatch.m4: Remove file.
11362         * modules/argmatch (Files): Remove it.
11363         (configure.ac): Remove gl_ARGMATCH call.
11364         (Makefile.am): Augment lib_SOURCES.
11365
11366 2011-05-23  Bruno Haible  <bruno@clisp.org>
11367
11368         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
11369         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
11370         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
11371
11372 2011-05-23  Bruno Haible  <bruno@clisp.org>
11373
11374         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
11375         * m4/arcfour.m4: Remove file.
11376         * modules/crypto/arcfour (Files): Remove it.
11377         (configure.ac): Remove gl_ARCFOUR call.
11378         (Makefile.am): Augment lib_SOURCES.
11379
11380 2011-05-22  Bruno Haible  <bruno@clisp.org>
11381
11382         write: Move AC_LIBOBJ invocations to module description.
11383         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
11384         * modules/write (configure.ac): ... to here.
11385
11386 2011-05-22  Bruno Haible  <bruno@clisp.org>
11387
11388         wmemset: Move AC_LIBOBJ invocations to module description.
11389         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
11390         here...
11391         * modules/wmemset (configure.ac): ... to here.
11392
11393 2011-05-22  Bruno Haible  <bruno@clisp.org>
11394
11395         wmemmove: Move AC_LIBOBJ invocations to module description.
11396         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
11397         here...
11398         * modules/wmemmove (configure.ac): ... to here.
11399
11400 2011-05-22  Bruno Haible  <bruno@clisp.org>
11401
11402         wmemcpy: Move AC_LIBOBJ invocations to module description.
11403         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
11404         here...
11405         * modules/wmemcpy (configure.ac): ... to here.
11406
11407 2011-05-22  Bruno Haible  <bruno@clisp.org>
11408
11409         wmemcmp: Move AC_LIBOBJ invocations to module description.
11410         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
11411         here...
11412         * modules/wmemcmp (configure.ac): ... to here.
11413
11414 2011-05-22  Bruno Haible  <bruno@clisp.org>
11415
11416         wmemchr: Move AC_LIBOBJ invocations to module description.
11417         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
11418         here...
11419         * modules/wmemchr (configure.ac): ... to here.
11420
11421 2011-05-22  Bruno Haible  <bruno@clisp.org>
11422
11423         wcswidth: Move AC_LIBOBJ invocations to module description.
11424         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
11425         here...
11426         * modules/wcswidth (configure.ac): ... to here.
11427
11428 2011-05-22  Bruno Haible  <bruno@clisp.org>
11429
11430         wcwidth: Respect rules for use of AC_LIBOBJ.
11431         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
11432         invocation from here...
11433         * modules/wcwidth (configure.ac): ... to here.
11434         (Depends-on): Update conditions.
11435
11436 2011-05-22  Bruno Haible  <bruno@clisp.org>
11437
11438         wctype: Move AC_LIBOBJ invocations to module description.
11439         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
11440         invocation from here...
11441         * modules/wctype (configure.ac): ... to here.
11442         (Depends-on): Update conditions.
11443
11444 2011-05-22  Bruno Haible  <bruno@clisp.org>
11445
11446         wctrans: Move AC_LIBOBJ invocations to module description.
11447         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
11448         invocation from here...
11449         * modules/wctrans (configure.ac): ... to here.
11450
11451 2011-05-22  Bruno Haible  <bruno@clisp.org>
11452
11453         wctomb: Move AC_LIBOBJ invocations to module description.
11454         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
11455         invocations from here...
11456         * modules/wctomb (configure.ac): ... to here.
11457
11458 2011-05-22  Bruno Haible  <bruno@clisp.org>
11459
11460         wctob: Move AC_LIBOBJ invocations to module description.
11461         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
11462         gl_PREREQ_WCTOB invocations from here...
11463         * modules/wctob (configure.ac): ... to here.
11464         (Depends-on): Update conditions.
11465
11466 2011-05-22  Bruno Haible  <bruno@clisp.org>
11467
11468         wcsxfrm: Move AC_LIBOBJ invocations to module description.
11469         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
11470         here...
11471         * modules/wcsxfrm (configure.ac): ... to here.
11472
11473 2011-05-22  Bruno Haible  <bruno@clisp.org>
11474
11475         wcstok: Move AC_LIBOBJ invocations to module description.
11476         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
11477         * modules/wcstok (configure.ac): ... to here.
11478
11479 2011-05-22  Bruno Haible  <bruno@clisp.org>
11480
11481         wcsstr: Move AC_LIBOBJ invocations to module description.
11482         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
11483         * modules/wcsstr (configure.ac): ... to here.
11484
11485 2011-05-22  Bruno Haible  <bruno@clisp.org>
11486
11487         wcsspn: Move AC_LIBOBJ invocations to module description.
11488         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
11489         * modules/wcsspn (configure.ac): ... to here.
11490
11491 2011-05-22  Bruno Haible  <bruno@clisp.org>
11492
11493         wcsrtombs: Move AC_LIBOBJ invocations to module description.
11494         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
11495         gl_PREREQ_WCSRTOMBS invocations from here...
11496         * modules/wcsrtombs (configure.ac): ... to here.
11497
11498 2011-05-22  Bruno Haible  <bruno@clisp.org>
11499
11500         wcsrchr: Move AC_LIBOBJ invocations to module description.
11501         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
11502         here...
11503         * modules/wcsrchr (configure.ac): ... to here.
11504
11505 2011-05-22  Bruno Haible  <bruno@clisp.org>
11506
11507         wcspbrk: Move AC_LIBOBJ invocations to module description.
11508         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
11509         here...
11510         * modules/wcspbrk (configure.ac): ... to here.
11511
11512 2011-05-22  Bruno Haible  <bruno@clisp.org>
11513
11514         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
11515         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
11516         gl_PREREQ_WCSNRTOMBS invocations from here...
11517         * modules/wcsnrtombs (configure.ac): ... to here.
11518
11519 2011-05-22  Bruno Haible  <bruno@clisp.org>
11520
11521         wcsnlen: Move AC_LIBOBJ invocations to module description.
11522         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
11523         here...
11524         * modules/wcsnlen (configure.ac): ... to here.
11525
11526 2011-05-22  Bruno Haible  <bruno@clisp.org>
11527
11528         wcsncpy: Move AC_LIBOBJ invocations to module description.
11529         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
11530         here...
11531         * modules/wcsncpy (configure.ac): ... to here.
11532
11533 2011-05-22  Bruno Haible  <bruno@clisp.org>
11534
11535         wcsncmp: Move AC_LIBOBJ invocations to module description.
11536         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
11537         here...
11538         * modules/wcsncmp (configure.ac): ... to here.
11539
11540 2011-05-22  Bruno Haible  <bruno@clisp.org>
11541
11542         wcsncat: Move AC_LIBOBJ invocations to module description.
11543         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
11544         here...
11545         * modules/wcsncat (configure.ac): ... to here.
11546
11547 2011-05-22  Bruno Haible  <bruno@clisp.org>
11548
11549         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
11550         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
11551         from here...
11552         * modules/wcsncasecmp (configure.ac): ... to here.
11553
11554 2011-05-22  Bruno Haible  <bruno@clisp.org>
11555
11556         wcslen: Move AC_LIBOBJ invocations to module description.
11557         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
11558         * modules/wcslen (configure.ac): ... to here.
11559
11560 2011-05-22  Bruno Haible  <bruno@clisp.org>
11561
11562         wcsdup: Move AC_LIBOBJ invocations to module description.
11563         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
11564         * modules/wcsdup (configure.ac): ... to here.
11565
11566 2011-05-22  Bruno Haible  <bruno@clisp.org>
11567
11568         wcscspn: Move AC_LIBOBJ invocations to module description.
11569         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
11570         here...
11571         * modules/wcscspn (configure.ac): ... to here.
11572
11573 2011-05-22  Bruno Haible  <bruno@clisp.org>
11574
11575         wcscpy: Move AC_LIBOBJ invocations to module description.
11576         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
11577         * modules/wcscpy (configure.ac): ... to here.
11578
11579 2011-05-22  Bruno Haible  <bruno@clisp.org>
11580
11581         wcscoll: Move AC_LIBOBJ invocations to module description.
11582         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
11583         here...
11584         * modules/wcscoll (configure.ac): ... to here.
11585
11586 2011-05-22  Bruno Haible  <bruno@clisp.org>
11587
11588         wcscmp: Move AC_LIBOBJ invocations to module description.
11589         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
11590         * modules/wcscmp (configure.ac): ... to here.
11591
11592 2011-05-22  Bruno Haible  <bruno@clisp.org>
11593
11594         wcschr: Move AC_LIBOBJ invocations to module description.
11595         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
11596         * modules/wcschr (configure.ac): ... to here.
11597
11598 2011-05-22  Bruno Haible  <bruno@clisp.org>
11599
11600         wcscat: Move AC_LIBOBJ invocations to module description.
11601         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
11602         * modules/wcscat (configure.ac): ... to here.
11603
11604 2011-05-22  Bruno Haible  <bruno@clisp.org>
11605
11606         wcscasecmp: Move AC_LIBOBJ invocations to module description.
11607         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
11608         here...
11609         * modules/wcscasecmp (configure.ac): ... to here.
11610
11611 2011-05-22  Bruno Haible  <bruno@clisp.org>
11612
11613         wcrtomb: Move AC_LIBOBJ invocations to module description.
11614         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
11615         invocations from here...
11616         * modules/wcrtomb (configure.ac): ... to here.
11617
11618 2011-05-22  Bruno Haible  <bruno@clisp.org>
11619
11620         wcpncpy: Move AC_LIBOBJ invocations to module description.
11621         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
11622         here...
11623         * modules/wcpncpy (configure.ac): ... to here.
11624
11625 2011-05-22  Bruno Haible  <bruno@clisp.org>
11626
11627         wcpcpy: Move AC_LIBOBJ invocations to module description.
11628         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
11629         * modules/wcpcpy (configure.ac): ... to here.
11630
11631 2011-05-22  Bruno Haible  <bruno@clisp.org>
11632
11633         waitpid: Move AC_LIBOBJ invocations to module description.
11634         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
11635         invocation from here...
11636         * modules/waitpid (configure.ac): ... to here.
11637
11638 2011-05-22  Bruno Haible  <bruno@clisp.org>
11639
11640         utimensat: Move AC_LIBOBJ invocations to module description.
11641         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
11642         here...
11643         * modules/utimensat (configure.ac): ... to here.
11644
11645 2011-05-22  Bruno Haible  <bruno@clisp.org>
11646
11647         usleep: Move AC_LIBOBJ invocations to module description.
11648         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
11649         here...
11650         * modules/usleep (configure.ac): ... to here.
11651
11652 2011-05-22  Bruno Haible  <bruno@clisp.org>
11653
11654         unlockpt: Move AC_LIBOBJ invocations to module description.
11655         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
11656         gl_PREREQ_UNLOCKPT invocations from here...
11657         * modules/unlockpt (configure.ac): ... to here.
11658
11659 2011-05-22  Bruno Haible  <bruno@clisp.org>
11660
11661         unlink: Respect rules for use of AC_LIBOBJ.
11662         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
11663         * modules/unlink (configure.ac): ... to here.
11664
11665 2011-05-22  Bruno Haible  <bruno@clisp.org>
11666
11667         uname: Move AC_LIBOBJ invocations to module description.
11668         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
11669         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
11670         here...
11671         * modules/uname (configure.ac): ... to here.
11672
11673 2011-05-22  Bruno Haible  <bruno@clisp.org>
11674
11675         ttyname_r: Move AC_LIBOBJ invocations to module description.
11676         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
11677         gl_PREREQ_TTYNAME_R invocations from here...
11678         * modules/ttyname_r (configure.ac): ... to here.
11679
11680 2011-05-22  Bruno Haible  <bruno@clisp.org>
11681
11682         tsearch: Move AC_LIBOBJ invocations to module description.
11683         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
11684         invocations from here...
11685         * modules/tsearch (configure.ac): ... to here.
11686
11687 2011-05-22  Bruno Haible  <bruno@clisp.org>
11688
11689         towctrans: Move AC_LIBOBJ invocations to module description.
11690         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
11691         AC_LIBOBJ invocation from here...
11692         * modules/towctrans (configure.ac): ... to here.
11693
11694 2011-05-22  Bruno Haible  <bruno@clisp.org>
11695
11696         tmpfile: Move AC_LIBOBJ invocations to module description.
11697         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
11698         invocations from here...
11699         * modules/tmpfile (configure.ac): ... to here.
11700
11701 2011-05-22  Bruno Haible  <bruno@clisp.org>
11702
11703         times: Move AC_LIBOBJ invocations to module description.
11704         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
11705         * modules/times (configure.ac): ... to here.
11706
11707 2011-05-22  Bruno Haible  <bruno@clisp.org>
11708
11709         time_r: Move AC_LIBOBJ invocations to module description.
11710         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
11711         invocations from here...
11712         * modules/time_r (configure.ac): ... to here.
11713
11714 2011-05-22  Bruno Haible  <bruno@clisp.org>
11715
11716         timegm: Move AC_LIBOBJ invocations to module description.
11717         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
11718         invocations from here...
11719         * modules/timegm (configure.ac): ... to here.
11720
11721 2011-05-22  Bruno Haible  <bruno@clisp.org>
11722
11723         tcgetsid: Move AC_LIBOBJ invocations to module description.
11724         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
11725         and gl_PREREQ_TCGETSID invocations from here...
11726         * modules/tcgetsid (configure.ac): ... to here.
11727         (Depends-on): Update conditions.
11728
11729 2011-05-22  Bruno Haible  <bruno@clisp.org>
11730
11731         symlinkat: Move AC_LIBOBJ invocations to module description.
11732         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
11733         here...
11734         * modules/symlinkat (configure.ac): ... to here.
11735
11736 2011-05-22  Bruno Haible  <bruno@clisp.org>
11737
11738         symlink: Move AC_LIBOBJ invocations to module description.
11739         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
11740         here...
11741         * modules/symlink (configure.ac): ... to here.
11742
11743 2011-05-22  Bruno Haible  <bruno@clisp.org>
11744
11745         strverscmp: Move AC_LIBOBJ invocations to module description.
11746         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
11747         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
11748         from here...
11749         * modules/strverscmp (configure.ac): ... to here.
11750
11751 2011-05-22  Bruno Haible  <bruno@clisp.org>
11752
11753         strtok_r: Move AC_LIBOBJ invocations to module description.
11754         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
11755         and gl_PREREQ_STRTOK_R invocations from here...
11756         * modules/strtok_r (configure.ac): ... to here.
11757         (Depends-on): Update conditions.
11758
11759 2011-05-22  Bruno Haible  <bruno@clisp.org>
11760
11761         strtoumax: Move AC_LIBOBJ invocations to module description.
11762         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
11763         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
11764         from here...
11765         * modules/strtoumax (configure.ac): ... to here.
11766
11767 2011-05-22  Bruno Haible  <bruno@clisp.org>
11768
11769         strtoimax: Move AC_LIBOBJ invocations to module description.
11770         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
11771         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
11772         from here...
11773         * modules/strtoimax (configure.ac): ... to here.
11774
11775 2011-05-22  Bruno Haible  <bruno@clisp.org>
11776
11777         strtoull: Move AC_LIBOBJ invocations to module description.
11778         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
11779         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
11780         from here...
11781         * modules/strtoull (configure.ac): ... to here.
11782
11783 2011-05-22  Bruno Haible  <bruno@clisp.org>
11784
11785         strtoll: Move AC_LIBOBJ invocations to module description.
11786         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
11787         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
11788         here...
11789         * modules/strtoll (configure.ac): ... to here.
11790
11791 2011-05-22  Bruno Haible  <bruno@clisp.org>
11792
11793         strtoul: Move AC_LIBOBJ invocations to module description.
11794         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
11795         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
11796         * modules/strtoul (configure.ac): ... to here.
11797
11798 2011-05-22  Bruno Haible  <bruno@clisp.org>
11799
11800         strtol: Move AC_LIBOBJ invocations to module description.
11801         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
11802         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
11803         * modules/strtol (configure.ac): ... to here.
11804
11805 2011-05-22  Bruno Haible  <bruno@clisp.org>
11806
11807         strtod: Move AC_LIBOBJ invocations to module description.
11808         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
11809         invocations from here...
11810         * modules/strtod (configure.ac): ... to here.
11811
11812 2011-05-22  Bruno Haible  <bruno@clisp.org>
11813
11814         strstr*: Move AC_LIBOBJ invocations to module description.
11815         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
11816         invocations from here...
11817         * modules/strstr-simple (configure.ac): ... to here.
11818         * modules/strstr (configure.ac): ... and here.
11819
11820 2011-05-22  Bruno Haible  <bruno@clisp.org>
11821
11822         strsignal: Move AC_LIBOBJ invocations to module description.
11823         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
11824         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
11825         * modules/strsignal (configure.ac): ... to here.
11826         (Depends-on): Update conditions.
11827
11828 2011-05-22  Bruno Haible  <bruno@clisp.org>
11829
11830         strsep: Move AC_LIBOBJ invocations to module description.
11831         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
11832         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
11833         here...
11834         * modules/strsep (configure.ac): ... to here.
11835
11836 2011-05-22  Bruno Haible  <bruno@clisp.org>
11837
11838         strptime: Move AC_LIBOBJ invocations to module description.
11839         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
11840         gl_PREREQ_STRPTIME invocations from here...
11841         * modules/strptime (configure.ac): ... to here.
11842
11843 2011-05-22  Bruno Haible  <bruno@clisp.org>
11844
11845         strpbrk: Move AC_LIBOBJ invocations to module description.
11846         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
11847         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
11848         here...
11849         * modules/strpbrk (configure.ac): ... to here.
11850
11851 2011-05-22  Bruno Haible  <bruno@clisp.org>
11852
11853         strnlen: Move AC_LIBOBJ invocations to module description.
11854         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
11855         invocations from here...
11856         * modules/strnlen (configure.ac): ... to here.
11857
11858 2011-05-22  Bruno Haible  <bruno@clisp.org>
11859
11860         strndup: Move AC_LIBOBJ invocations to module description.
11861         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
11862         invocations from here...
11863         * modules/strndup (configure.ac): ... to here.
11864         (Depends-on): Update conditions.
11865
11866 2011-05-22  Bruno Haible  <bruno@clisp.org>
11867
11868         strncat: Move AC_LIBOBJ invocations to module description.
11869         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
11870         invocations from here...
11871         * modules/strncat (configure.ac): ... to here.
11872
11873 2011-05-22  Bruno Haible  <bruno@clisp.org>
11874
11875         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
11876         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
11877         invocations from here...
11878         * modules/strdup (configure.ac): ... to here.
11879         * modules/strdup-posix (configure.ac): ... and here.
11880
11881 2011-05-22  Bruno Haible  <bruno@clisp.org>
11882
11883         strcspn: Move AC_LIBOBJ invocations to module description.
11884         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
11885         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
11886         here...
11887         * modules/strcspn (configure.ac): ... to here.
11888
11889 2011-05-22  Bruno Haible  <bruno@clisp.org>
11890
11891         strchrnul: Move AC_LIBOBJ invocations to module description.
11892         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
11893         gl_PREREQ_STRCHRNUL invocations from here...
11894         * modules/strchrnul (configure.ac): ... to here.
11895
11896 2011-05-22  Bruno Haible  <bruno@clisp.org>
11897
11898         strcasestr*: Move AC_LIBOBJ invocations to module description.
11899         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
11900         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
11901         * modules/strcasestr-simple (configure.ac): ... to here.
11902         * modules/strcasestr (configure.ac): ... and here.
11903
11904 2011-05-22  Bruno Haible  <bruno@clisp.org>
11905
11906         strcase: Move AC_LIBOBJ invocations to module description.
11907         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
11908         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
11909         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
11910         gl_PREREQ_STRNCASECMP invocations from here...
11911         * modules/strcase (configure.ac): ... to here.
11912
11913 2011-05-22  Bruno Haible  <bruno@clisp.org>
11914
11915         stpncpy: Move AC_LIBOBJ invocations to module description.
11916         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
11917         here...
11918         * modules/stpncpy (configure.ac): ... to here.
11919
11920 2011-05-22  Bruno Haible  <bruno@clisp.org>
11921
11922         stpcpy: Move AC_LIBOBJ invocations to module description.
11923         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
11924         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
11925         here...
11926         * modules/stpcpy (configure.ac): ... to here.
11927
11928 2011-05-21  Bruno Haible  <bruno@clisp.org>
11929
11930         stat: Move AC_LIBOBJ invocations to module description.
11931         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
11932         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
11933         here...
11934         * modules/stat (configure.ac): ... to here.
11935
11936 2011-05-21  Bruno Haible  <bruno@clisp.org>
11937
11938         sleep: Move AC_LIBOBJ invocations to module description.
11939         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
11940         * modules/sleep (configure.ac): ... to here.
11941
11942 2011-05-21  Bruno Haible  <bruno@clisp.org>
11943
11944         signbit: Move AC_LIBOBJ invocations to module description.
11945         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
11946         * modules/signbit (configure.ac): ... to here.
11947
11948 2011-05-21  Bruno Haible  <bruno@clisp.org>
11949
11950         sigprocmask: Move AC_LIBOBJ invocations to module description.
11951         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
11952         gl_PREREQ_SIGPROMASK invocations from here...
11953         * modules/sigprocmask (configure.ac): ... to here.
11954
11955 2011-05-21  Bruno Haible  <bruno@clisp.org>
11956
11957         sigaction: Move AC_LIBOBJ invocations to module description.
11958         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
11959         gl_PREREQ_SIGACTION invocations from here...
11960         * modules/sigaction (configure.ac): ... to here.
11961
11962 2011-05-21  Bruno Haible  <bruno@clisp.org>
11963
11964         sig2str: Move AC_LIBOBJ invocations to module description.
11965         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
11966         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
11967         here...
11968         * modules/sig2str (configure.ac): ... to here.
11969
11970 2011-05-21  Bruno Haible  <bruno@clisp.org>
11971
11972         setlocale: Move AC_LIBOBJ invocations to module description.
11973         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
11974         gl_PREREQ_SETLOCALE invocations from here...
11975         * modules/setlocale (configure.ac): ... to here.
11976
11977 2011-05-21  Bruno Haible  <bruno@clisp.org>
11978
11979         unsetenv: Move AC_LIBOBJ invocations to module description.
11980         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
11981         and gl_PREREQ_UNSETENV invocations from here...
11982         * modules/unsetenv (configure.ac): ... to here.
11983         (Depends-on): Update.
11984
11985 2011-05-21  Bruno Haible  <bruno@clisp.org>
11986
11987         setenv: Move AC_LIBOBJ invocations to module description.
11988         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
11989         here...
11990         * modules/setenv (configure.ac): ... to here.
11991
11992 2011-05-21  Bruno Haible  <bruno@clisp.org>
11993
11994         selinux-h: Move AC_LIBOBJ invocations to module description.
11995         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
11996         AC_LIBOBJ invocation from here...
11997         * modules/selinux-h (configure.ac): ... to here.
11998
11999 2011-05-21  Bruno Haible  <bruno@clisp.org>
12000
12001         select: Respect rules for use of AC_LIBOBJ.
12002         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
12003         here...
12004         * modules/select (configure.ac): ... to here.
12005
12006 2011-05-21  Bruno Haible  <bruno@clisp.org>
12007
12008         scandir: Move AC_LIBOBJ invocations to module description.
12009         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
12010         invocations from here...
12011         * modules/scandir (configure.ac): ... to here.
12012
12013 2011-05-21  Bruno Haible  <bruno@clisp.org>
12014
12015         rpmatch: Move AC_LIBOBJ invocations to module description.
12016         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
12017         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
12018         here...
12019         * modules/rpmatch (configure.ac): ... to here.
12020
12021 2011-05-21  Bruno Haible  <bruno@clisp.org>
12022
12023         rmdir: Respect rules for use of AC_LIBOBJ.
12024         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
12025         * modules/rmdir (configure.ac): ... to here.
12026
12027 2011-05-21  Bruno Haible  <bruno@clisp.org>
12028
12029         renameat: Move AC_LIBOBJ invocations to module description.
12030         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
12031         here...
12032         * modules/renameat (configure.ac): ... to here.
12033
12034 2011-05-21  Bruno Haible  <bruno@clisp.org>
12035
12036         rename: Respect rules for use of AC_LIBOBJ.
12037         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
12038         here...
12039         * modules/rename (configure.ac): ... to here.
12040
12041 2011-05-21  Bruno Haible  <bruno@clisp.org>
12042
12043         remove: Move AC_LIBOBJ invocations to module description.
12044         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
12045         here...
12046         * modules/remove (configure.ac): ... to here.
12047
12048 2011-05-21  Bruno Haible  <bruno@clisp.org>
12049
12050         relocatable-lib: Move AC_LIBOBJ invocations to module description.
12051         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
12052         macro.
12053         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
12054         * modules/relocatable-lib (configure.ac): ... to here.
12055         * modules/relocatable-prog-wrapper (configure.ac): Invoke
12056         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
12057
12058 2011-05-21  Bruno Haible  <bruno@clisp.org>
12059
12060         relocatable-prog: Move AC_LIBOBJ invocations to module description.
12061         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
12062         here...
12063         * modules/relocatable-prog (configure.ac): ... to here.
12064
12065 2011-05-21  Bruno Haible  <bruno@clisp.org>
12066
12067         regex: Move AC_LIBOBJ invocations to module description.
12068         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
12069         invocations from here...
12070         * modules/regex (configure.ac): ... to here.
12071
12072 2011-05-21  Bruno Haible  <bruno@clisp.org>
12073
12074         realloc-*: Move AC_LIBOBJ invocations to module description.
12075         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
12076         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
12077         AC_LIBOBJ invocations from here...
12078         * modules/realloc-gnu (configure.ac): ... to here.
12079         * modules/realloc-posix (configure.ac): ... and here.
12080
12081 2011-05-21  Bruno Haible  <bruno@clisp.org>
12082
12083         readutmp: Move AC_LIBOBJ invocations to module description.
12084         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
12085         * modules/readutmp (configure.ac): ... to here.
12086
12087 2011-05-21  Bruno Haible  <bruno@clisp.org>
12088
12089         readlinkat: Move AC_LIBOBJ invocations to module description.
12090         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
12091         here...
12092         * modules/readlinkat (configure.ac): ... to here.
12093
12094 2011-05-21  Bruno Haible  <bruno@clisp.org>
12095
12096         readlink: Move AC_LIBOBJ invocations to module description.
12097         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
12098         gl_PREREQ_READLINK invocations from here...
12099         * modules/readlink (configure.ac): ... to here.
12100
12101 2011-05-21  Bruno Haible  <bruno@clisp.org>
12102
12103         readline: Move AC_LIBOBJ invocations to module description.
12104         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
12105         gl_PREREQ_READLINE invocations from here...
12106         * modules/readline (configure.ac): ... to here.
12107
12108 2011-05-21  Bruno Haible  <bruno@clisp.org>
12109
12110         read: Move AC_LIBOBJ invocations to module description.
12111         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
12112         * modules/read (configure.ac): ... to here.
12113
12114 2011-05-21  Bruno Haible  <bruno@clisp.org>
12115
12116         rawmemchr: Move AC_LIBOBJ invocations to module description.
12117         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
12118         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
12119         from here...
12120         * modules/rawmemchr (configure.ac): ... to here.
12121
12122 2011-05-21  Bruno Haible  <bruno@clisp.org>
12123
12124         random_r: Move AC_LIBOBJ invocations to module description.
12125         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
12126         gl_PREREQ_RANDOM_R invocations from here...
12127         * modules/random_r (configure.ac): ... to here.
12128
12129 2011-05-21  Bruno Haible  <bruno@clisp.org>
12130
12131         pwrite: Move AC_LIBOBJ invocations to module description.
12132         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
12133         * modules/pwrite (configure.ac): ... to here.
12134
12135 2011-05-21  Bruno Haible  <bruno@clisp.org>
12136
12137         putenv: Move AC_LIBOBJ invocations to module description.
12138         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
12139         * modules/putenv (configure.ac): ... to here.
12140
12141 2011-05-21  Bruno Haible  <bruno@clisp.org>
12142
12143         login_tty: Move AC_LIBOBJ invocations to module description.
12144         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
12145         * modules/login_tty (configure.ac): ... to here.
12146
12147 2011-05-21  Bruno Haible  <bruno@clisp.org>
12148
12149         openpty: Move AC_LIBOBJ invocations to module description.
12150         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
12151         * modules/openpty (configure.ac): ... to here.
12152
12153 2011-05-21  Bruno Haible  <bruno@clisp.org>
12154
12155         forkpty: Move AC_LIBOBJ invocations to module description.
12156         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
12157         * modules/forkpty (configure.ac): ... to here.
12158
12159 2011-05-21  Bruno Haible  <bruno@clisp.org>
12160
12161         ptsname: Move AC_LIBOBJ invocations to module description.
12162         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
12163         invocations from here...
12164         * modules/ptsname (configure.ac): ... to here.
12165
12166 2011-05-21  Bruno Haible  <bruno@clisp.org>
12167
12168         pread: Move AC_LIBOBJ invocations to module description.
12169         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
12170         * modules/pread (configure.ac): ... to here.
12171
12172 2011-05-21  Bruno Haible  <bruno@clisp.org>
12173
12174         posix_spawn*: Move AC_LIBOBJ invocations to module description.
12175         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
12176         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
12177         * modules/posix_spawn (configure.ac): ... to here.
12178         * modules/posix_spawnp (configure.ac): ... and here.
12179
12180 2011-05-21  Bruno Haible  <bruno@clisp.org>
12181
12182         popen: Move AC_LIBOBJ invocations to module description.
12183         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
12184         invocations from here...
12185         * modules/popen (configure.ac): ... to here.
12186
12187 2011-05-21  Bruno Haible  <bruno@clisp.org>
12188
12189         poll: Move AC_LIBOBJ invocations to module description.
12190         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
12191         invocations from here...
12192         * modules/poll (configure.ac): ... to here.
12193
12194 2011-05-21  Bruno Haible  <bruno@clisp.org>
12195
12196         pipe-posix: Move AC_LIBOBJ invocations to module description.
12197         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
12198         * modules/pipe-posix (configure.ac): ... to here.
12199
12200 2011-05-21  Bruno Haible  <bruno@clisp.org>
12201
12202         openat: Respect rules for use of AC_LIBOBJ.
12203         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
12204         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12205         * modules/openat (configure.ac): ... to here.
12206
12207 2011-05-21  Bruno Haible  <bruno@clisp.org>
12208
12209         obstack-printf*: Move AC_LIBOBJ invocations to module description.
12210         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
12211         invocation from here...
12212         * modules/obstack-printf (configure.ac): ... to here.
12213         * modules/obstack-printf-posix (configure.ac): ... and here.
12214
12215 2011-05-21  Bruno Haible  <bruno@clisp.org>
12216
12217         nl_langinfo: Move AC_LIBOBJ invocations to module description.
12218         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
12219         from here...
12220         * modules/nl_langinfo (configure.ac): ... to here.
12221
12222 2011-05-21  Bruno Haible  <bruno@clisp.org>
12223
12224         nanosleep: Move AC_LIBOBJ invocations to module description.
12225         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
12226         gl_PREREQ_NANOSLEEP invocations from here...
12227         * modules/nanosleep (configure.ac): ... to here.
12228
12229 2011-05-21  Bruno Haible  <bruno@clisp.org>
12230
12231         mountlist: Move AC_LIBOBJ invocations to module description.
12232         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
12233         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
12234         * modules/mountlist (configure.ac): ... to here.
12235
12236 2011-05-21  Bruno Haible  <bruno@clisp.org>
12237
12238         mktime: Respect rules for use of AC_LIBOBJ.
12239         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
12240         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
12241         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
12242         (gl_FUNC_MKTIME_INTERNAL): ... and here...
12243         * modules/mktime (configure.ac): ... to here.
12244         * modules/mktime-internal (configure.ac): ... and here.
12245         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
12246
12247 2011-05-21  Bruno Haible  <bruno@clisp.org>
12248
12249         mkstemps: Move AC_LIBOBJ invocations to module description.
12250         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
12251         here...
12252         * modules/mkstemps (configure.ac): ... to here.
12253
12254 2011-05-21  Bruno Haible  <bruno@clisp.org>
12255
12256         mkstemp: Move AC_LIBOBJ invocations to module description.
12257         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
12258         gl_PREREQ_MKSTEMP invocations from here...
12259         * modules/mkstemp (configure.ac): ... to here.
12260
12261 2011-05-21  Bruno Haible  <bruno@clisp.org>
12262
12263         mkostemps: Move AC_LIBOBJ invocations to module description.
12264         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
12265         here...
12266         * modules/mkostemps (configure.ac): ... to here.
12267
12268 2011-05-21  Bruno Haible  <bruno@clisp.org>
12269
12270         mkostemp: Move AC_LIBOBJ invocations to module description.
12271         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
12272         gl_PREREQ_MKOSTEMP invocations from here...
12273         * modules/mkostemp (configure.ac): ... to here.
12274
12275 2011-05-21  Bruno Haible  <bruno@clisp.org>
12276
12277         mknod: Move AC_LIBOBJ invocations to module description.
12278         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
12279         * modules/mknod (configure.ac): ... to here.
12280
12281 2011-05-21  Bruno Haible  <bruno@clisp.org>
12282
12283         mkfifoat: Move AC_LIBOBJ invocations to module description.
12284         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
12285         here...
12286         * modules/mkfifoat (configure.ac): ... to here.
12287
12288 2011-05-21  Bruno Haible  <bruno@clisp.org>
12289
12290         mkfifo: Respect rules for use of AC_LIBOBJ.
12291         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
12292         here...
12293         * modules/mkfifo (configure.ac): ... to here.
12294
12295 2011-05-21  Bruno Haible  <bruno@clisp.org>
12296
12297         mkdtemp: Move AC_LIBOBJ invocations to module description.
12298         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
12299         invocations from here...
12300         * modules/mkdtemp (configure.ac): ... to here.
12301
12302 2011-05-21  Bruno Haible  <bruno@clisp.org>
12303
12304         mkdir: Move AC_LIBOBJ invocations to module description.
12305         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
12306         * modules/mkdir (configure.ac): ... to here.
12307
12308 2011-05-21  Bruno Haible  <bruno@clisp.org>
12309
12310         memset: Move AC_LIBOBJ invocations to module description.
12311         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
12312         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
12313         here...
12314         * modules/memset (configure.ac): ... to here.
12315
12316 2011-05-21  Bruno Haible  <bruno@clisp.org>
12317
12318         memrchr: Move AC_LIBOBJ invocations to module description.
12319         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
12320         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
12321         here...
12322         * modules/memrchr (configure.ac): ... to here.
12323
12324 2011-05-21  Bruno Haible  <bruno@clisp.org>
12325
12326         mempcpy: Move AC_LIBOBJ invocations to module description.
12327         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
12328         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
12329         here...
12330         * modules/mempcpy (configure.ac): ... to here.
12331
12332 2011-05-21  Bruno Haible  <bruno@clisp.org>
12333
12334         memmove: Move AC_LIBOBJ invocations to module description.
12335         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
12336         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
12337         here...
12338         * modules/memmove (configure.ac): ... to here.
12339
12340 2011-05-21  Bruno Haible  <bruno@clisp.org>
12341
12342         memmem*: Move AC_LIBOBJ invocations to module description.
12343         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
12344         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
12345         here...
12346         (gl_FUNC_MEMMEM): ... and here...
12347         * modules/memmem-simple (configure.ac): ... to here.
12348         * modules/memmem (configure.ac): ... and here.
12349
12350 2011-05-21  Bruno Haible  <bruno@clisp.org>
12351
12352         memcpy: Move AC_LIBOBJ invocations to module description.
12353         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
12354         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
12355         here...
12356         * modules/memcpy (configure.ac): ... to here.
12357
12358 2011-05-21  Bruno Haible  <bruno@clisp.org>
12359
12360         memcmp: Simplify autoconf macro.
12361         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
12362         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
12363         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
12364
12365 2011-05-21  Bruno Haible  <bruno@clisp.org>
12366
12367         memcmp: Move AC_LIBOBJ invocations to module description.
12368         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
12369         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
12370         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
12371         * modules/memcmp (configure.ac): ... to here.
12372         (Depends-on): Update conditions.
12373
12374 2011-05-21  Bruno Haible  <bruno@clisp.org>
12375
12376         memchr: Respect rules for use of AC_LIBOBJ.
12377         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
12378         invocations from here...
12379         * modules/memchr (configure.ac): ... to here.
12380
12381 2011-05-21  Bruno Haible  <bruno@clisp.org>
12382
12383         mbtowc: Move AC_LIBOBJ invocations to module description.
12384         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
12385         invocations from here...
12386         * modules/mbtowc (configure.ac): ... to here.
12387
12388 2011-05-21  Bruno Haible  <bruno@clisp.org>
12389
12390         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
12391         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
12392         gl_PREREQ_MBSRTOWCS invocations from here...
12393         * modules/mbsrtowcs (configure.ac): ... to here.
12394
12395 2011-05-21  Bruno Haible  <bruno@clisp.org>
12396
12397         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
12398         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
12399         gl_PREREQ_MBSNRTOWCS invocations from here...
12400         * modules/mbsnrtowcs (configure.ac): ... to here.
12401
12402 2011-05-21  Bruno Haible  <bruno@clisp.org>
12403
12404         mbsinit: Move AC_LIBOBJ invocations to module description.
12405         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
12406         invocations from here...
12407         * modules/mbsinit (configure.ac): ... to here.
12408
12409 2011-05-21  Bruno Haible  <bruno@clisp.org>
12410
12411         mbrlen: Move AC_LIBOBJ invocations to module description.
12412         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
12413         invocations from here...
12414         * modules/mbrlen (configure.ac): ... to here.
12415
12416 2011-05-21  Bruno Haible  <bruno@clisp.org>
12417
12418         mbrtowc: Respect rules for use of AC_LIBOBJ.
12419         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
12420         invocations from here...
12421         * modules/mbrtowc (configure.ac): ... to here.
12422
12423 2011-05-21  Bruno Haible  <bruno@clisp.org>
12424
12425         malloc-*: Move AC_LIBOBJ invocations to module description.
12426         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
12427         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
12428         AC_LIBOBJ invocations from here...
12429         * modules/malloc-gnu (configure.ac): ... to here.
12430         * modules/malloc-posix (configure.ac): ... and here.
12431
12432 2011-05-21  Bruno Haible  <bruno@clisp.org>
12433
12434         lstat, openat: Respect rules for use of AC_LIBOBJ.
12435         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
12436         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
12437         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
12438         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
12439         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
12440         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
12441         here.
12442         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
12443
12444 2011-05-21  Bruno Haible  <bruno@clisp.org>
12445
12446         lseek: Move AC_LIBOBJ invocations to module description.
12447         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
12448         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
12449         * modules/lseek (configure.ac): ... to here.
12450
12451 2011-05-21  Bruno Haible  <bruno@clisp.org>
12452
12453         linkat: Move AC_LIBOBJ invocations to module description.
12454         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
12455         here...
12456         * modules/linkat (configure.ac): ... to here.
12457
12458 2011-05-21  Bruno Haible  <bruno@clisp.org>
12459
12460         link: Respect rules for use of AC_LIBOBJ.
12461         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
12462         * modules/link (configure.ac): ... to here.
12463
12464 2011-05-21  Bruno Haible  <bruno@clisp.org>
12465
12466         lchown: Move AC_LIBOBJ invocations to module description.
12467         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
12468         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
12469         * modules/lchown (configure.ac): ... to here.
12470
12471 2011-05-21  Bruno Haible  <bruno@clisp.org>
12472
12473         iswctype: Move AC_LIBOBJ invocations to module description.
12474         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
12475         here...
12476         * modules/iswctype (configure.ac): ... to here.
12477
12478 2011-05-21  Bruno Haible  <bruno@clisp.org>
12479
12480         iswblank: Move AC_LIBOBJ invocations to module description.
12481         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
12482         here...
12483         * modules/iswblank (configure.ac): ... to here.
12484
12485 2011-05-21  Bruno Haible  <bruno@clisp.org>
12486
12487         atanl: Move AC_LIBOBJ invocations to module description.
12488         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
12489         * modules/atanl (configure.ac): ... to here.
12490
12491 2011-05-21  Bruno Haible  <bruno@clisp.org>
12492
12493         acosl: Move AC_LIBOBJ invocations to module description.
12494         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
12495         * modules/acosl (configure.ac): ... to here.
12496
12497 2011-05-21  Bruno Haible  <bruno@clisp.org>
12498
12499         asinl: Respect rules for use of AC_LIBOBJ.
12500         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
12501         * modules/asinl (configure.ac): ... to here.
12502
12503 2011-05-21  Bruno Haible  <bruno@clisp.org>
12504
12505         tanl: Move AC_LIBOBJ invocations to module description.
12506         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
12507         * modules/tanl (configure.ac): ... to here.
12508
12509 2011-05-21  Bruno Haible  <bruno@clisp.org>
12510
12511         cosl: Move AC_LIBOBJ invocations to module description.
12512         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
12513         * modules/cosl (configure.ac): ... to here.
12514
12515 2011-05-21  Bruno Haible  <bruno@clisp.org>
12516
12517         sinl: Move AC_LIBOBJ invocations to module description.
12518         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
12519         * modules/sinl (configure.ac): ... to here.
12520
12521 2011-05-21  Bruno Haible  <bruno@clisp.org>
12522
12523         logl: Move AC_LIBOBJ invocations to module description.
12524         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
12525         * modules/logl (configure.ac): ... to here.
12526
12527 2011-05-21  Bruno Haible  <bruno@clisp.org>
12528
12529         expl: Move AC_LIBOBJ invocations to module description.
12530         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
12531         * modules/expl (configure.ac): ... to here.
12532
12533 2011-05-21  Bruno Haible  <bruno@clisp.org>
12534
12535         roundl: Move AC_LIBOBJ invocations to module description.
12536         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
12537         * modules/roundl (configure.ac): ... to here.
12538
12539 2011-05-21  Bruno Haible  <bruno@clisp.org>
12540
12541         round: Move AC_LIBOBJ invocations to module description.
12542         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
12543         * modules/round (configure.ac): ... to here.
12544
12545 2011-05-21  Bruno Haible  <bruno@clisp.org>
12546
12547         roundf: Move AC_LIBOBJ invocations to module description.
12548         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
12549         * modules/roundf (configure.ac): ... to here.
12550
12551 2011-05-21  Bruno Haible  <bruno@clisp.org>
12552
12553         truncl: Move AC_LIBOBJ invocations to module description.
12554         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
12555         * modules/truncl (configure.ac): ... to here.
12556
12557 2011-05-21  Bruno Haible  <bruno@clisp.org>
12558
12559         trunc: Move AC_LIBOBJ invocations to module description.
12560         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
12561         * modules/trunc (configure.ac): ... to here.
12562
12563 2011-05-21  Bruno Haible  <bruno@clisp.org>
12564
12565         truncf: Move AC_LIBOBJ invocations to module description.
12566         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
12567         * modules/truncf (configure.ac): ... to here.
12568
12569 2011-05-21  Bruno Haible  <bruno@clisp.org>
12570
12571         ceill: Move AC_LIBOBJ invocations to module description.
12572         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
12573         * modules/ceill (configure.ac): ... to here.
12574
12575 2011-05-21  Bruno Haible  <bruno@clisp.org>
12576
12577         ceil: Move AC_LIBOBJ invocations to module description.
12578         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
12579         * modules/ceil (configure.ac): ... to here.
12580
12581 2011-05-21  Bruno Haible  <bruno@clisp.org>
12582
12583         ceilf: Move AC_LIBOBJ invocations to module description.
12584         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
12585         * modules/ceilf (configure.ac): ... to here.
12586
12587 2011-05-21  Bruno Haible  <bruno@clisp.org>
12588
12589         floorl: Respect rules for use of AC_LIBOBJ.
12590         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
12591         * modules/floorl (configure.ac): ... to here.
12592
12593 2011-05-21  Bruno Haible  <bruno@clisp.org>
12594
12595         floor: Respect rules for use of AC_LIBOBJ.
12596         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
12597         * modules/floor (configure.ac): ... to here.
12598
12599 2011-05-21  Bruno Haible  <bruno@clisp.org>
12600
12601         floorf: Move AC_LIBOBJ invocations to module description.
12602         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
12603         * modules/floorf (configure.ac): ... to here.
12604
12605 2011-05-20  Bruno Haible  <bruno@clisp.org>
12606
12607         sqrtl: Respect rules for use of AC_LIBOBJ.
12608         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
12609         * modules/sqrtl (configure.ac): ... to here.
12610
12611 2011-05-20  Bruno Haible  <bruno@clisp.org>
12612
12613         ldexpl: Respect rules for use of AC_LIBOBJ.
12614         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
12615         * modules/ldexpl (configure.ac): ... to here.
12616
12617 2011-05-20  Bruno Haible  <bruno@clisp.org>
12618
12619         frexpl*: Respect rules for use of AC_LIBOBJ.
12620         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
12621         invocation from here...
12622         * modules/frexpl (configure.ac): ... to here.
12623         * modules/frexpl-nolibm (configure.ac): ... and here.
12624
12625 2011-05-20  Bruno Haible  <bruno@clisp.org>
12626
12627         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
12628         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
12629         invocation from here...
12630         * modules/frexp (configure.ac): ... to here.
12631         * modules/frexp-nolibm (configure.ac): ... and here.
12632
12633 2011-05-20  Bruno Haible  <bruno@clisp.org>
12634
12635         isnan: Respect rules for use of AC_LIBOBJ.
12636         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
12637         invocations here.
12638         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
12639         REPLACE_ISNAN.
12640         * modules/isnand (configure.ac): Likewise.
12641         * modules/isnanl (configure.ac): Likewise.
12642
12643 2011-05-20  Bruno Haible  <bruno@clisp.org>
12644
12645         isnanl*: Respect rules for use of AC_LIBOBJ.
12646         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
12647         invocation from here...
12648         * modules/isnanl (configure.ac): ... to here.
12649         * modules/isnanl-nolibm (configure.ac): ... and here.
12650
12651 2011-05-20  Bruno Haible  <bruno@clisp.org>
12652
12653         isnand*: Move AC_LIBOBJ invocations to module description.
12654         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
12655         invocation from here...
12656         * modules/isnand (configure.ac): ... to here.
12657         * modules/isnand-nolibm (configure.ac): ... and here.
12658
12659 2011-05-20  Bruno Haible  <bruno@clisp.org>
12660
12661         isnanf*: Move AC_LIBOBJ invocations to module description.
12662         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
12663         invocation from here...
12664         * modules/isnanf (configure.ac): ... to here.
12665         * modules/isnanf-nolibm (configure.ac): ... and here.
12666
12667 2011-05-20  Bruno Haible  <bruno@clisp.org>
12668
12669         isnan*: Separate the AC_LIBOBJ invocations.
12670         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
12671         AC_LIBOBJ invocation.
12672         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
12673         here.
12674         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
12675         AC_LIBOBJ invocation.
12676         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
12677         here.
12678         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
12679         AC_LIBOBJ invocation.
12680         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
12681         here.
12682         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
12683
12684 2011-05-08  Bruno Haible  <bruno@clisp.org>
12685
12686         isinf: Move AC_LIBOBJ invocations to module description.
12687         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
12688         * modules/isinf (configure.ac): ... to here.
12689
12690 2011-05-08  Bruno Haible  <bruno@clisp.org>
12691
12692         isfinite: Move AC_LIBOBJ invocations to module description.
12693         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
12694         * modules/isfinite (configure.ac): ... to here.
12695
12696 2011-05-08  Bruno Haible  <bruno@clisp.org>
12697
12698         isblank: Move AC_LIBOBJ invocations to module description.
12699         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
12700         here...
12701         * modules/isblank (configure.ac): ... to here.
12702
12703 2011-05-08  Bruno Haible  <bruno@clisp.org>
12704
12705         isapipe: Move AC_LIBOBJ invocations to module description.
12706         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
12707         gl_PREREQ_ISAPIPE invocations from here...
12708         * modules/isapipe (configure.ac): ... to here.
12709         (Depends-on): Update condition.
12710
12711 2011-05-08  Bruno Haible  <bruno@clisp.org>
12712
12713         ioctl: Move AC_LIBOBJ invocations to module description.
12714         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
12715         invocations from here...
12716         * modules/ioctl (configure.ac): ... to here.
12717         (Depends-on): Update condition.
12718
12719 2011-05-08  Bruno Haible  <bruno@clisp.org>
12720
12721         imaxdiv: Move AC_LIBOBJ invocations to module description.
12722         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
12723         invocations from here...
12724         * modules/imaxdiv (configure.ac): ... to here.
12725
12726 2011-05-08  Bruno Haible  <bruno@clisp.org>
12727
12728         imaxabs: Move AC_LIBOBJ invocations to module description.
12729         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
12730         invocations from here...
12731         * modules/imaxabs (configure.ac): ... to here.
12732
12733 2011-05-08  Bruno Haible  <bruno@clisp.org>
12734
12735         getaddrinfo: Move AC_LIBOBJ invocations to module description.
12736         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
12737         AC_LIBOBJ invocations from here...
12738         * modules/getaddrinfo (configure.ac): ... to here.
12739         (Depends-on): Add conditions.
12740
12741 2011-05-08  Bruno Haible  <bruno@clisp.org>
12742
12743         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
12744         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
12745         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
12746         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
12747         (gl_PREREQ_INET_PTON): ... from here.
12748         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
12749         gl_PREREQ_INET_PTON here.
12750         (Depends-on): Update condition.
12751
12752 2011-05-08  Bruno Haible  <bruno@clisp.org>
12753
12754         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
12755         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
12756         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
12757         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
12758         (gl_PREREQ_INET_NTOP): ... from here.
12759         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
12760         gl_PREREQ_INET_NTOP here.
12761         (Depends-on): Update condition.
12762
12763 2011-05-08  Bruno Haible  <bruno@clisp.org>
12764
12765         iconv_open: Move AC_LIBOBJ invocations to module description.
12766         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
12767         AC_LIBOBJ invocations from here...
12768         * modules/iconv_open (configure.ac): ... to here.
12769
12770 2011-05-08  Bruno Haible  <bruno@clisp.org>
12771
12772         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
12773         If module 'iconv_open' is among the main modules and module
12774         'iconv_open-utf' is among the tests dependencies, then
12775         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
12776         return the special iconv_t values. Therefore iconv() and iconv_close()
12777         must support these special iconv_t values, already in lib, not only in
12778         tests.
12779         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
12780         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
12781         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
12782         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
12783         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
12784         (Depends-on): Add the dependencies of iconv_open-utf.
12785         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
12786         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
12787         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
12788
12789 2011-05-08  Bruno Haible  <bruno@clisp.org>
12790
12791         group-member: Move AC_LIBOBJ invocations to module description.
12792         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
12793         gl_PREREQ_GROUP_MEMBER invocations from here...
12794         * modules/group-member (configure.ac): ... to here.
12795
12796 2011-05-08  Bruno Haible  <bruno@clisp.org>
12797
12798         grantpt: Move AC_LIBOBJ invocations to module description.
12799         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
12800         invocations from here...
12801         * modules/grantpt (configure.ac): ... to here.
12802
12803 2011-05-08  Bruno Haible  <bruno@clisp.org>
12804
12805         glob: Move AC_LIBOBJ invocations to module description.
12806         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
12807         from here...
12808         * modules/glob (configure.ac): ... to here.
12809
12810 2011-05-08  Bruno Haible  <bruno@clisp.org>
12811
12812         getusershell: Move AC_LIBOBJ invocations to module description.
12813         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
12814         Move AC_LIBOBJ invocation from here...
12815         * modules/getusershell (configure.ac): ... to here.
12816         (Depends-on): Update condition.
12817
12818 2011-05-08  Bruno Haible  <bruno@clisp.org>
12819
12820         gettimeofday: Move AC_LIBOBJ invocations to module description.
12821         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
12822         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
12823         gl_PREREQ_GETTIMEOFDAY invocations from here...
12824         * modules/gettimeofday (configure.ac): ... to here.
12825
12826 2011-05-08  Bruno Haible  <bruno@clisp.org>
12827
12828         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
12829         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
12830         just gl_FUNC_TZSET.
12831         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
12832         (gl_FUNC_TZSET_CLOBBER): Remove actions.
12833         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
12834         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
12835
12836 2011-05-08  Bruno Haible  <bruno@clisp.org>
12837
12838         getsubopt: Move AC_LIBOBJ invocations to module description.
12839         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
12840         gl_PREREQ_GETSUBOPT invocations from here...
12841         * modules/getsubopt (configure.ac): ... to here.
12842
12843 2011-05-08  Bruno Haible  <bruno@clisp.org>
12844
12845         getpass-gnu: Move AC_LIBOBJ invocations to module description.
12846         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
12847         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
12848         * modules/getpass-gnu (configure.ac): ... to here.
12849
12850 2011-05-08  Bruno Haible  <bruno@clisp.org>
12851
12852         getpass: Move AC_LIBOBJ invocations to module description.
12853         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
12854         gl_PREREQ_GETPASS invocations from here...
12855         * modules/getpass (configure.ac): ... to here.
12856
12857 2011-05-08  Bruno Haible  <bruno@clisp.org>
12858
12859         getpagesize: Move AC_LIBOBJ invocations to module description.
12860         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
12861         from here...
12862         * modules/getpagesize (configure.ac): ... to here.
12863
12864 2011-05-08  Bruno Haible  <bruno@clisp.org>
12865
12866         getopt: Move AC_LIBOBJ invocations to module description.
12867         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
12868         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
12869         invocations from here...
12870         * modules/getopt-gnu (configure.ac): ... to here.
12871         * modules/getopt-posix (configure.ac): ... and here.
12872         (Depends-on): Update condition.
12873
12874 2011-05-08  Bruno Haible  <bruno@clisp.org>
12875
12876         getopt, argp: Respect rules for use of AC_LIBOBJ.
12877         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
12878         (gl_REPLACE_GETOPT_ALWAYS): New macro.
12879         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
12880         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
12881
12882 2011-05-08  Bruno Haible  <bruno@clisp.org>
12883
12884         getlogin_r: Move AC_LIBOBJ invocations to module description.
12885         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
12886         gl_PREREQ_GETLOGIN_R invocations from here...
12887         * modules/getlogin_r (configure.ac): ... to here.
12888
12889 2011-05-08  Bruno Haible  <bruno@clisp.org>
12890
12891         getlogin: Move AC_LIBOBJ invocations to module description.
12892         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
12893         here...
12894         * modules/getlogin (configure.ac): ... to here.
12895
12896 2011-05-08  Bruno Haible  <bruno@clisp.org>
12897
12898         getloadavg: Move AC_LIBOBJ invocations to module description.
12899         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
12900         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
12901         * modules/getloadavg (configure.ac): ... to here.
12902
12903 2011-05-08  Bruno Haible  <bruno@clisp.org>
12904
12905         gethrxtime: Move AC_LIBOBJ invocations to module description.
12906         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
12907         LIB_GETHRXTIME from here...
12908         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
12909         invocations from here...
12910         * modules/gethrxtime (configure.ac): ... to here.
12911
12912 2011-05-08  Bruno Haible  <bruno@clisp.org>
12913
12914         gethostname: Move AC_LIBOBJ invocations to module description.
12915         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
12916         gl_PREREQ_GETHOSTNAME invocations from here...
12917         * modules/gethostname (configure.ac): ... to here.
12918
12919 2011-05-08  Bruno Haible  <bruno@clisp.org>
12920
12921         getgroups: Move AC_LIBOBJ invocations to module description.
12922         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
12923         here...
12924         * modules/getgroups (configure.ac): ... to here.
12925
12926 2011-05-08  Bruno Haible  <bruno@clisp.org>
12927
12928         getdtablesize: Move AC_LIBOBJ invocations to module description.
12929         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
12930         invocation from here...
12931         * modules/getdtablesize (configure.ac): ... to here.
12932
12933 2011-05-08  Bruno Haible  <bruno@clisp.org>
12934
12935         getdomainname: Move AC_LIBOBJ invocations to module description.
12936         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
12937         gl_PREREQ_GETDOMAINNAME invocations from here...
12938         * modules/getdomainname (configure.ac): ... to here.
12939
12940 2011-05-08  Bruno Haible  <bruno@clisp.org>
12941
12942         getline: Move AC_LIBOBJ invocations to module description.
12943         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
12944         invocations from here...
12945         * modules/getline (configure.ac): ... to here.
12946
12947 2011-05-08  Bruno Haible  <bruno@clisp.org>
12948
12949         getline: Simplify.
12950         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
12951         It's already handled through the module dependency.
12952
12953 2011-05-08  Bruno Haible  <bruno@clisp.org>
12954
12955         getdelim: Move AC_LIBOBJ invocations to module description.
12956         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
12957         and gl_PREREQ_GETDELIM invocations from here...
12958         * modules/getdelim (configure.ac): ... to here.
12959         (Depends-on): Fix condition.
12960
12961 2011-05-08  Bruno Haible  <bruno@clisp.org>
12962
12963         getcwd: Move AC_LIBOBJ invocations to module description.
12964         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
12965         invocations from here...
12966         * modules/getcwd (configure.ac): ... to here.
12967
12968 2011-05-08  Bruno Haible  <bruno@clisp.org>
12969
12970         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
12971         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
12972         here...
12973         * modules/getcwd-lgpl (configure.ac): ... to here.
12974
12975 2011-05-07  Bruno Haible  <bruno@clisp.org>
12976
12977         crypto/gc: Move AC_LIBOBJ invocations to module description.
12978         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
12979         * modules/crypto/gc (configure.ac): ... to here.
12980
12981 2011-05-07  Bruno Haible  <bruno@clisp.org>
12982
12983         fwriting: Move AC_LIBOBJ invocations to module description.
12984         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
12985         here...
12986         * modules/fwriting (configure.ac): ... to here.
12987
12988 2011-05-07  Bruno Haible  <bruno@clisp.org>
12989
12990         fwritable: Move AC_LIBOBJ invocations to module description.
12991         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
12992         here...
12993         * modules/fwritable (configure.ac): ... to here.
12994
12995 2011-05-07  Bruno Haible  <bruno@clisp.org>
12996
12997         futimens: Move AC_LIBOBJ invocations to module description.
12998         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
12999         here...
13000         * modules/futimens (configure.ac): ... to here.
13001
13002 2011-05-07  Bruno Haible  <bruno@clisp.org>
13003
13004         ftruncate: Move AC_LIBOBJ invocations to module description.
13005         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
13006         gl_PREREQ_FTRUNCATE invocations from here...
13007         * modules/ftruncate (configure.ac): ... to here.
13008
13009 2011-05-07  Bruno Haible  <bruno@clisp.org>
13010
13011         fsync: Move AC_LIBOBJ invocations to module description.
13012         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
13013         invocations from here...
13014         * modules/fsync (configure.ac): ... to here.
13015
13016 2011-05-07  Bruno Haible  <bruno@clisp.org>
13017
13018         fsusage: Move AC_LIBOBJ invocations to module description.
13019         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
13020         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
13021         * modules/fsusage (configure.ac): ... to here.
13022
13023 2011-05-07  Bruno Haible  <bruno@clisp.org>
13024
13025         freopen: Move AC_LIBOBJ invocations to module description.
13026         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
13027         invocations from here...
13028         * modules/freopen (configure.ac): ... to here.
13029
13030 2011-05-07  Bruno Haible  <bruno@clisp.org>
13031
13032         free: Move AC_LIBOBJ invocations to module description.
13033         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
13034         invocations from here...
13035         * modules/free (configure.ac): ... to here.
13036
13037 2011-05-07  Bruno Haible  <bruno@clisp.org>
13038
13039         freadable: Move AC_LIBOBJ invocations to module description.
13040         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
13041         here...
13042         * modules/freadable (configure.ac): ... to here.
13043
13044 2011-05-07  Bruno Haible  <bruno@clisp.org>
13045
13046         fpurge: Move AC_LIBOBJ invocations to module description.
13047         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
13048         invocations from here...
13049         * modules/fpurge (configure.ac): ... to here.
13050
13051 2011-05-07  Bruno Haible  <bruno@clisp.org>
13052
13053         fpending: Move AC_LIBOBJ invocations to module description.
13054         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
13055         gl_FUNC_FPENDING.
13056         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
13057         invocations from here...
13058         * modules/fpending (configure.ac): ... to here.
13059
13060 2011-05-07  Bruno Haible  <bruno@clisp.org>
13061
13062         fopen: Move AC_LIBOBJ invocations to module description.
13063         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
13064         invocations from here...
13065         * modules/fopen (configure.ac): ... to here.
13066
13067 2011-05-07  Bruno Haible  <bruno@clisp.org>
13068
13069         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
13070         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
13071         gl_FUNC_FNMATCH_POSIX.
13072         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
13073         invocations from here...
13074         * modules/fnmatch (configure.ac): ... to here.
13075         * modules/fnmatch-gnu (configure.ac): ... and here.
13076
13077 2011-05-07  Bruno Haible  <bruno@clisp.org>
13078
13079         flock: Move AC_LIBOBJ invocations to module description.
13080         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
13081         invocations from here...
13082         * modules/flock (configure.ac): ... to here.
13083
13084 2011-05-07  Bruno Haible  <bruno@clisp.org>
13085
13086         fileblocks: Move AC_LIBOBJ invocations to module description.
13087         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
13088         gl_PREREQ_FILEBLOCKS invocations from here...
13089         * modules/fileblocks (configure.ac): ... to here.
13090
13091 2011-05-06  Bruno Haible  <bruno@clisp.org>
13092
13093         fflush: Move AC_LIBOBJ invocations to module description.
13094         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
13095         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
13096         invocations from here...
13097         * modules/fflush (configure.ac): ... to here.
13098
13099 2011-05-06  Bruno Haible  <bruno@clisp.org>
13100
13101         fdopendir: Move AC_LIBOBJ invocations to module description.
13102         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
13103         here...
13104         * modules/fdopendir (configure.ac): ... to here.
13105         (Depends-on): Improve conditions.
13106
13107 2011-05-06  Bruno Haible  <bruno@clisp.org>
13108
13109         _Exit: Move AC_LIBOBJ invocations to module description.
13110         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
13111         invocations from here...
13112         * modules/_Exit (configure.ac): ... to here.
13113
13114 2011-05-21  Bruno Haible  <bruno@clisp.org>
13115
13116         euidaccess: Respect rules for use of AC_LIBOBJ.
13117         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
13118         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
13119         from here...
13120         * modules/euidaccess (configure.ac): ... to here.
13121
13122 2011-05-06  Bruno Haible  <bruno@clisp.org>
13123
13124         error: Move AC_LIBOBJ invocations to module description.
13125         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
13126         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
13127         invocations from here...
13128         * modules/error (configure.ac): ... to here.
13129
13130 2011-05-06  Bruno Haible  <bruno@clisp.org>
13131
13132         duplocale: Move AC_LIBOBJ invocations to module description.
13133         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
13134         gl_PREREQ_DUPLOCALE invocations from here...
13135         * modules/duplocale (configure.ac): ... to here.
13136
13137 2011-05-05  Bruno Haible  <bruno@clisp.org>
13138
13139         dirfd: Move AC_LIBOBJ invocations to module description.
13140         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
13141         gl_FUNC_DIRFD.
13142         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
13143         here...
13144         * modules/dirfd (configure.ac): ... to here.
13145         (Depends-on): Fix condition.
13146
13147 2011-05-05  Bruno Haible  <bruno@clisp.org>
13148
13149         chown: Respect rules for use of AC_LIBOBJ.
13150         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
13151         * modules/chown (configure.ac): ... to here.
13152
13153 2011-05-05  Bruno Haible  <bruno@clisp.org>
13154
13155         chdir-long: Move AC_LIBOBJ invocations to module description.
13156         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
13157         gl_PREREQ_CHDIR_LONG invocations from here...
13158         * modules/chdir-long (configure.ac): ... to here.
13159
13160 2011-05-05  Bruno Haible  <bruno@clisp.org>
13161
13162         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
13163         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
13164         from here...
13165         * modules/canonicalize-lgpl (configure.ac): ... to here.
13166
13167 2011-05-05  Bruno Haible  <bruno@clisp.org>
13168
13169         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
13170         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
13171         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
13172         REPLACE_CALLOC.
13173         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
13174         * modules/calloc-gnu (configure.ac): Likewise.
13175
13176 2011-05-05  Bruno Haible  <bruno@clisp.org>
13177
13178         btowc: Move AC_LIBOBJ invocations to module description.
13179         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
13180         invocations from here...
13181         * modules/btowc (configure.ac): ... to here.
13182
13183 2011-05-21  Bruno Haible  <bruno@clisp.org>
13184
13185         atexit: Move AC_LIBOBJ invocations to module description.
13186         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
13187         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
13188         here...
13189         * modules/atexit (configure.ac): ... to here.
13190
13191 2011-05-05  Bruno Haible  <bruno@clisp.org>
13192
13193         atoll: Move AC_LIBOBJ invocations to module description.
13194         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
13195         invocations from here...
13196         * modules/atoll (configure.ac): ... to here.
13197
13198 2011-05-05  Bruno Haible  <bruno@clisp.org>
13199
13200         argz: Move AC_LIBOBJ invocations to module description.
13201         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
13202         * modules/argz (configure.ac): ... to here.
13203
13204 2011-05-05  Bruno Haible  <bruno@clisp.org>
13205
13206         alphasort: Move AC_LIBOBJ invocations to module description.
13207         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
13208         gl_PREREQ_ALPHASORT invocations from here...
13209         * modules/alphasort (configure.ac): ... to here.
13210
13211 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
13212
13213         verify: new macro verify_expr; verify_true deprecated
13214         * NEWS: Mention this.
13215         * doc/verify.texi (Compile-time Assertions): Document this.
13216         * lib/verify.h (verify_true): Deprecate.
13217         (verify_expr): New macro.
13218         * tests/test-verify.c (function): Test verify_expr.
13219
13220 2011-06-14  Jim Meyering  <meyering@redhat.com>
13221
13222         init.sh: give more portable redirection-related advice in a comment
13223         * tests/init.sh (stderr_fileno_): Update the advice in comments.
13224         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
13225         for lots of discussion.  Stefano Lattarini suggested the solution
13226         of putting "9>&2" after the command.  Reported by Bruno Haible.
13227
13228 2011-06-13  Bruno Haible  <bruno@clisp.org>
13229
13230         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
13231         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
13232         'none'.
13233
13234 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
13235
13236         ftoastr: use strtof only if HAVE_STRTOF
13237         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
13238         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
13239         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
13240         * modules/ftoastr (configure.ac): Check for strtof.
13241
13242 2011-06-13  Bruno Haible  <bruno@clisp.org>
13243
13244         gnulib-tool: Addendum to 2011-06-08 commit.
13245         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
13246         and --witness-c-macro have been given, augment AM_CPPFLAGS.
13247
13248 2011-06-13  Bruno Haible  <bruno@clisp.org>
13249
13250         fseeko: Provide a non-inline replacement of fseek().
13251         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
13252         * modules/fseeko (Depends-on): Add fseek.
13253         * modules/fseek (License): Change to LGPLv2+.
13254
13255 2011-06-13  Bruno Haible  <bruno@clisp.org>
13256
13257         ftello: Provide a non-inline replacement of ftell().
13258         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
13259         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
13260         not have ftello() (such as on mingw).
13261         * modules/ftello (Depends-on): Add ftell.
13262         * modules/ftell (License): Change to LGPLv2+.
13263
13264 2011-05-07  Bruno Haible  <bruno@clisp.org>
13265
13266         ftell: Move AC_LIBOBJ invocations to module description.
13267         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
13268         * modules/ftell (configure.ac): ... to here.
13269
13270 2011-05-07  Bruno Haible  <bruno@clisp.org>
13271
13272         ftello: Respect rules for use of AC_LIBOBJ.
13273         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
13274         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
13275         here...
13276         * modules/ftello (configure.ac): ... to here.
13277
13278 2011-05-07  Bruno Haible  <bruno@clisp.org>
13279
13280         fseeko: Simplify.
13281         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
13282         (gl_FUNC_FSEEKO): Inline it here.
13283
13284 2011-05-07  Bruno Haible  <bruno@clisp.org>
13285
13286         fseek: Move AC_LIBOBJ invocations to module description.
13287         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
13288         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
13289         * modules/fseek (configure.ac): ... to here.
13290
13291 2011-05-07  Bruno Haible  <bruno@clisp.org>
13292
13293         fseek: Respect rules for use of AC_LIBOBJ.
13294         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
13295         here...
13296         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
13297
13298 2011-05-07  Bruno Haible  <bruno@clisp.org>
13299
13300         fseeko: Respect rules for use of AC_LIBOBJ.
13301         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
13302         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
13303         here...
13304         * modules/fseeko (configure.ac): ... to here.
13305
13306 2011-06-13  Bruno Haible  <bruno@clisp.org>
13307
13308         gnulib-tool: Allow comments in the 'Depends-on' section.
13309         * doc/gnulib.texi (Module description): Mention comment syntax in the
13310         Depends-on section.
13311         * gnulib-tool (func_get_dependencies): Filter out comment lines.
13312
13313 2011-06-13  Bruno Haible  <bruno@clisp.org>
13314
13315         file-set.h: guard __attibute__ use, now that it's not always defined
13316         * lib/file-set.h (record_file): Use __attribute__ only with compiler
13317         versions that support it.  This fixes a coreutils build failure with
13318         the vendor cc on HP-UX 11.31.
13319
13320 2011-06-12  Bruno Haible  <bruno@clisp.org>
13321
13322         acl: Add support for HP-UX >= 11.11 JFS ACLs.
13323         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
13324         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
13325         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
13326         (acl, aclsort): New declarations.
13327         (aclv_nontrivial): New declaration.
13328         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
13329         (file_has_acl): Read also the second kind of HP-UX ACLs.
13330         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
13331         kind of HP-UX ACLs if the first kind fails.
13332         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
13333         second kind of HP-UX ACLs.
13334         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
13335         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
13336         agree.
13337         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13338         hpuxjfs.
13339         Handle hpuxjfs.
13340         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
13341         hpuxjfs.
13342         Handle hpuxjfs.
13343         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13344         (func_test_same_acls): Use both lsacl and getacl.
13345         Handle hpuxjfs.
13346         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
13347         (func_test_same_acls): Use both lsacl and getacl.
13348         Handle hpuxjfs.
13349
13350 2011-06-12  Bruno Haible  <bruno@clisp.org>
13351
13352         acl: Complete the 2010-08-10 fix.
13353         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
13354         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
13355         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
13356         explicitly.
13357         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
13358         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
13359
13360 2011-06-12  Bruno Haible  <bruno@clisp.org>
13361
13362         spawn-pipe tests: Comments.
13363         * tests/test-spawn-pipe-child.c (main): Update comment.
13364         Reported by James Youngman <jay@gnu.org>.
13365
13366 2011-06-11  James Youngman  <jay@gnu.org>
13367
13368         New module 'stat-size'.
13369         * modules/stat-size: New module.  Provides macros for accessing
13370         file size information in instances of struct stat.  Depends on the
13371         fileblocks module because it calls st_blocks.
13372         * lib/stat-size.h: New file, adapted from coreutils' system.h.
13373         * doc/gnulib.texi: Include stat-size.texi.
13374         * doc/stat-size.texi: Documentation for this module.
13375         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
13376         * m4/fileblocks.m4: Mention that stat-size depends on the call to
13377         AC_STRUCT_ST_BLOCKS.
13378
13379 2011-06-09  Bruno Haible  <bruno@clisp.org>
13380
13381         thread: Support pthreads-win32.
13382         * lib/glthread/thread.h (gl_thread_self): Define differently on
13383         pthreads-win32.
13384         (gl_null_thread): New declaration.
13385         (gl_thread_self_pointer): New macro.
13386         * lib/glthread/thread.c (gl_null_thread): New constant.
13387         * tests/test-lock.c: Use gl_thread_self_pointer instead of
13388         gl_thread_self.
13389         * tests/test-tls.c: Likewise.
13390         Suggested by Paul Eggert. Reported by Eric Blake.
13391
13392 2011-06-09  Bruno Haible  <bruno@clisp.org>
13393
13394         thread: Fix confusion between NULL and 0.
13395         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
13396         Reported by Paul Eggert.
13397
13398 2011-06-09  Bruno Haible  <bruno@clisp.org>
13399
13400         spawn-pipe tests: Avoid test failure on HP-UX 11.
13401         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
13402         is closed.
13403
13404 2011-06-09  Bruno Haible  <bruno@clisp.org>
13405
13406         acl tests: Fix compilation error on HP-UX 11.
13407         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
13408
13409 2011-06-09  Bruno Haible  <bruno@clisp.org>
13410
13411         rmdir: Avoid test failure on HP-UX 10.20.
13412         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
13413         EEXIST.
13414
13415 2011-06-08  Eric Blake  <eblake@redhat.com>
13416
13417         perror: fix test on mingw
13418         * modules/perror-tests (Depends-on): Add dup2.
13419
13420         strerror_r-posix: fix on MacOS
13421         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
13422         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
13423         logic bug.
13424         * lib/strerror_r.c (strerror_r): Fix the bug.
13425         * lib/strerror.c (strerror): Likewise.
13426         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
13427         problem.
13428         * doc/posix-functions/strerror.texi (strerror): Likewise.
13429         * doc/posix-functions/perror.texi (perror): Likewise.
13430         * tests/test-strerror.c (main): Enhance test.
13431         * tests/test-strerror_r.c (main): Likewise.
13432
13433 2011-06-08  Bruno Haible  <bruno@clisp.org>
13434
13435         gnulib-tool: Better isolation between different gnulib-tool invocations.
13436         * gnulib-tool: New option --witness-c-macro.
13437         (witness_c_macro): New variable.
13438         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
13439         AM_CPPFLAGS define it as a C macro.
13440         (func_emit_tests_Makefile_am): Likewise.
13441         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
13442         read it from there.
13443         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
13444         m4_define, not AC_DEFUN.
13445         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
13446         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
13447         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
13448         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
13449         s|...|...|, to substitute the values of the GNULIB_* module indicator
13450         variables.
13451         * modules/dirent (Makefile.am): Likewise.
13452         * modules/fcntl-h (Makefile.am): Likewise.
13453         * modules/iconv-h (Makefile.am): Likewise.
13454         * modules/langinfo (Makefile.am): Likewise.
13455         * modules/locale (Makefile.am): Likewise.
13456         * modules/math (Makefile.am): Likewise.
13457         * modules/netdb (Makefile.am): Likewise.
13458         * modules/poll-h (Makefile.am): Likewise.
13459         * modules/pty (Makefile.am): Likewise.
13460         * modules/search (Makefile.am): Likewise.
13461         * modules/signal (Makefile.am): Likewise.
13462         * modules/spawn (Makefile.am): Likewise.
13463         * modules/stdio (Makefile.am): Likewise.
13464         * modules/stdlib (Makefile.am): Likewise.
13465         * modules/string (Makefile.am): Likewise.
13466         * modules/sys_ioctl (Makefile.am): Likewise.
13467         * modules/sys_select (Makefile.am): Likewise.
13468         * modules/sys_socket (Makefile.am): Likewise.
13469         * modules/sys_stat (Makefile.am): Likewise.
13470         * modules/sys_times (Makefile.am): Likewise.
13471         * modules/sys_utsname (Makefile.am): Likewise.
13472         * modules/sys_wait (Makefile.am): Likewise.
13473         * modules/termios (Makefile.am): Likewise.
13474         * modules/time (Makefile.am): Likewise.
13475         * modules/unistd (Makefile.am): Likewise.
13476         * modules/wchar (Makefile.am): Likewise.
13477
13478 2011-06-08  Eric Blake  <eblake@redhat.com>
13479
13480         strerror: simplify replacement
13481         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
13482         * modules/strerror (configure.ac): No prereqs needed here...
13483         * modules/strerror-override (configure.ac): ...but this needs it.
13484         (Files): Add file for needed prereq macro.
13485
13486 2011-06-08  Bruno Haible  <bruno@clisp.org>
13487
13488         strerror_r-posix: Tweaks.
13489         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
13490         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
13491         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
13492         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
13493         (gl_FUNC_STRERROR_R): ... to here.
13494         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
13495
13496 2011-06-07  Eric Blake  <eblake@redhat.com>
13497
13498         perror: document fixed bugs
13499         * doc/posix-functions/perror.texi (perror): Document recent
13500         patches.
13501
13502 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
13503
13504         stat-time: get_stat_birthtime failure is better-defined
13505         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
13506         return a timestamp whose tv_sec and tv_nsec values are both -1.
13507         Previously, the spec said only that the tv_nsec value was negative.
13508         This upward-compatible change simplifies GNU tar a bit.
13509
13510 2011-06-07  Eric Blake  <eblake@redhat.com>
13511
13512         strerror_r-posix: work around cygwin 1.7.9
13513         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
13514         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
13515         bug without replacing strerror_r.
13516         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
13517         strerror_r is buggy, but without requiring strerror_r compilation.
13518         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
13519
13520         test-perror: relax test to ignore cygwin bug
13521         * tests/test-perror2.c (main): Relax test on requiring detection
13522         of stream errors, and use unbuffered stream.
13523         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
13524         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
13525         * doc/posix-functions/fputc.texi (fputc): Likewise.
13526         * doc/posix-functions/fputs.texi (fputs): Likewise.
13527         * doc/posix-functions/fputws.texi (fputws): Likewise.
13528         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
13529         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
13530         * doc/posix-functions/getopt.texi (getopt): Likewise.
13531         * doc/posix-functions/perror.texi (perror): Likewise.
13532         * doc/posix-functions/printf.texi (printf): Likewise.
13533         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
13534         * doc/posix-functions/psignal.texi (psignal): Likewise.
13535         * doc/posix-functions/putc.texi (putc): Likewise.
13536         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
13537         Likewise.
13538         * doc/posix-functions/putchar.texi (putchar): Likewise.
13539         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
13540         Likewise.
13541         * doc/posix-functions/puts.texi (puts): Likewise.
13542         * doc/posix-functions/putwc.texi (putwc): Likewise.
13543         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
13544         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
13545         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
13546         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
13547         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
13548         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
13549         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
13550         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
13551
13552 2011-05-22  Bruno Haible  <bruno@clisp.org>
13553
13554         strerror: Move AC_LIBOBJ invocations to module description.
13555         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
13556         gl_PREREQ_STRERROR invocations from here...
13557         * modules/strerror (configure.ac): ... to here.
13558
13559 2011-05-21  Bruno Haible  <bruno@clisp.org>
13560
13561         perror: Use common idiom.
13562         * modules/perror (configure.ac): Reorder statements.
13563
13564 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13565
13566         tests: fix usage message in 'mktempd_'
13567         * tests/init.sh (mktempd_): In the usage message, use literal
13568         'mktempd_', not '$ME' (which is even undefined), as the name of
13569         the subroutine.
13570
13571 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
13572
13573         tests init: new function 'fatal_', for hard errors
13574         Before this patch, the only way offered by tests/init.sh to
13575         properly signal a hard error was the `framework_failure_'
13576         function.  But the error message issued by that function,
13577         as its name would suggest, refers to a set-up failure in the
13578         testsuite, while hard errors can obviously also be due to
13579         other reasons.  The best way to fix this inconsistency is to
13580         introduce a new function with a more general error message.
13581         * tests/init.sh (fatal_): New function.
13582
13583 2011-06-06  Eric Blake  <eblake@redhat.com>
13584
13585         canonicalize-lgpl: use common idiom
13586         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
13587         over newer POSIX -Rf.
13588         Reported by Bruno Haible.
13589
13590         canonicalize-lgpl: work around AIX realpath bug
13591         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
13592         * doc/posix-functions/realpath.texi (realpath): Document it.
13593         Reported by Bruno Haible.
13594
13595         strerror: work around FreeBSD bug
13596         * lib/strerror.c (strerror): Special case 0.
13597         Reported by Bruno Haible.
13598
13599         strerror-override: avoid bloating errno module
13600         * modules/errno (Files, configure.ac): Move replacement strings...
13601         * modules/strerror-override: ...to new module.
13602         * modules/strerror (Depends-on): Add strerror-override.
13603         * modules/strerror_r-posix (Depends-on): Likewise.
13604         * MODULES.html.sh: Document new module.
13605         Reported by Bruno Haible.
13606
13607 2011-06-06  Bruno Haible  <bruno@clisp.org>
13608
13609         spawn-pipe tests: Rename program.
13610         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
13611         * tests/test-spawn-pipe-child.c: Update comment.
13612         * tests/test-spawn-pipe.sh: Update.
13613         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
13614
13615         spawn-pipe tests: Link the child program only against libc.
13616         * tests/test-spawn-pipe-child.c: New file, extracted from
13617         tests/test-spawn-pipe.c.
13618         (main): Expect only one argument.
13619         (is_open): New function, copied from tests/test-pipe.c.
13620         * tests/test-spawn-pipe.c: Don't include <errno.h>.
13621         (child_main): Remove function.
13622         (test_pipe): Pass only one argument to the child program.
13623         (main): Remove child process code. Expect the child program's name as
13624         first argument.
13625         * tests/test-spawn-pipe.sh: Pass the child program's name as first
13626         argument.
13627         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
13628         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
13629         test-spawn-pipe-child against no libraries.
13630
13631 2011-06-06  Bruno Haible  <bruno@clisp.org>
13632
13633         careadlinkat: Avoid mismatch between ssize_t and int.
13634         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
13635         * lib/careadlinkat.c (careadlinkatcwd): Define always.
13636
13637 2011-06-06  Jim Meyering  <meyering@redhat.com>
13638
13639         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
13640         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
13641         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
13642
13643 2011-06-05  Bruno Haible  <bruno@clisp.org>
13644
13645         ansi-c++-opt: Interoperability with libtool.
13646         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
13647         set the variable to "no", not to ":".
13648         * NEWS: Mention the change.
13649
13650 2011-06-05  Bruno Haible  <bruno@clisp.org>
13651
13652         acl: Fix test failure on AIX 7.
13653         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
13654         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
13655
13656 2011-06-05  Bruno Haible  <bruno@clisp.org>
13657
13658         pipe-filter-ii: Fix test failure on AIX and IRIX.
13659         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
13660         with EAGAIN, retry with a smaller buffer size.
13661
13662 2011-06-05  Bruno Haible  <bruno@clisp.org>
13663
13664         localename: Fix link dependencies.
13665         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
13666         * modules/localename-tests (Makefile.am): Link test-localename with
13667         $(LIBTHREAD).
13668
13669 2011-06-05  Bruno Haible  <bruno@clisp.org>
13670
13671         error: Avoid gcc warning.
13672         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
13673
13674 2011-06-05  Bruno Haible  <bruno@clisp.org>
13675
13676         unsetenv: Avoid gcc warning.
13677         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
13678
13679 2011-06-05  Bruno Haible  <bruno@clisp.org>
13680
13681         setenv: Avoid gcc warning.
13682         * lib/setenv.c (setenv): Provide declaration if system lacks it.
13683
13684 2011-06-05  Bruno Haible  <bruno@clisp.org>
13685
13686         sys_select: Ensure memset is declared also on AIX 7.
13687         * lib/sys_select.in.h: Include <string.h> also on AIX.
13688         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
13689         self-contained also on AIX 7.1.
13690
13691 2011-06-04  Jim Meyering  <meyering@redhat.com>
13692
13693         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
13694         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
13695         function name, "error".
13696         (_gl_translatable_diag_func_re): New configurable variable.
13697
13698 2011-06-04  Bruno Haible  <bruno@clisp.org>
13699
13700         getopt: Avoid gcc warning.
13701         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
13702
13703 2011-06-04  Bruno Haible  <bruno@clisp.org>
13704
13705         strerror_r: Fix comments.
13706         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
13707         commit.
13708
13709 2011-06-04  Bruno Haible  <bruno@clisp.org>
13710
13711         perror: Fix compilation error.
13712         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
13713         Undefine fprintf, not sprintf.
13714         * modules/perror (Depends-on): Remove intprops, verify.
13715
13716 2011-06-04  Bruno Haible  <bruno@clisp.org>
13717
13718         setlocale: Enable replacement on Cygwin 1.5.
13719         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
13720         Cygwin 1.5.x.
13721         * doc/posix-functions/setlocale.texi: Mention that the problem with the
13722         LC_CTYPE category also exists on Cygwin 1.5.x.
13723
13724 2011-06-04  Bruno Haible  <bruno@clisp.org>
13725
13726         strerror-override: Don't disable symbol renamings.
13727         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
13728         * lib/strerror-override.c: Include config.h.
13729         (strerror_override): Don't undefine.
13730
13731 2011-06-03  Bruno Haible  <bruno@clisp.org>
13732
13733         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
13734         * lib/localename.h: Update copyright header.
13735         * lib/localename.c: Likewise.
13736         * lib/relocatable.h: Likewise.
13737         * lib/relocatable.c: Likewise.
13738
13739 2011-06-02  Bruno Haible  <bruno@clisp.org>
13740
13741         doc: Fix a module name.
13742         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
13743
13744 2011-06-02  Bruno Haible  <bruno@clisp.org>
13745
13746         pipe2: Remove dependency on 'nonblocking' module.
13747         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
13748         O_NONBLOCK is defined by gnulib.
13749         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
13750         is zero.
13751         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
13752         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
13753         defined by gnulib.
13754         (get_nonblocking_flag): New function.
13755         (main): Test O_NONBLOCK flag only if it is nonzero.
13756         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
13757
13758 2011-06-03  Jim Meyering  <meyering@redhat.com>
13759
13760         maint: three new prohibit-header-without-use rules
13761         Prohibit use of cloexec.h, posixver.h, same.h without use.
13762         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
13763         (sc_prohibit_posixver_without_use): Likewise.
13764         (sc_prohibit_same_without_use): Likewise.
13765
13766 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
13767
13768         allocator: 'die' routine is now given requested size
13769         * lib/allocator.h (struct allocator.die): New size arg.
13770         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
13771         If the actual problem is an ssize_t limitation, not a size_t or
13772         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
13773
13774 2011-06-01  Eric Blake  <eblake@redhat.com>
13775
13776         strerror: drop strerror_r dependency
13777         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
13778         * lib/strerror-override.c (strerror_override): ...to new file.
13779         * lib/strerror-override.h: Add prototype.
13780         * lib/strerror-impl.h: Delete.
13781         * lib/strerror.c (strerror): New implementation.
13782         * modules/errno (Files): Add new files.
13783         (configure.ac): Compile new file as appropriate.
13784         * modules/strerror (Files): Drop unused file.
13785         (Depends-on): Drop strerror_r-posix.
13786         * MODULES.html.sh: Document strerror_r-posix.
13787         Requested by Sam Steingold.
13788
13789         perror: call strerror_r directly
13790         * modules/perror (Files): Drop strerror-impl.h.
13791         * lib/perror.c (perror): Use our own stack buffer, rather than
13792         calling a wrapper that uses static storage.
13793         * doc/posix-functions/perror.texi (perror): Document a limitation
13794         of our replacement.
13795
13796         strerror_r: fix includes for FreeBSD
13797         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
13798         since we use abort on some platforms.
13799         Reported by Matthias Bolte.
13800
13801 2011-05-31  Bruno Haible  <bruno@clisp.org>
13802
13803         Fix link errors in tests: openat-die uses gettext-h.
13804         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
13805         against $(LIBINTL).
13806         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
13807         against $(LIBINTL).
13808         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
13809         $(LIBINTL).
13810         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
13811         against $(LIBINTL).
13812         * modules/linkat-tests (Makefile.am): Link test-linkat against
13813         $(LIBINTL).
13814         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
13815         $(LIBINTL).
13816         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
13817         against $(LIBINTL).
13818         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
13819         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
13820         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
13821         $(LIBINTL).
13822         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
13823         $(LIBINTL).
13824         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
13825         $(LIBINTL).
13826         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13827
13828 2011-05-31  Bruno Haible  <bruno@clisp.org>
13829
13830         Fix link errors in tests: wait-process uses gettext-h.
13831         * modules/nonblocking-pipe-tests (Makefile.am): Set
13832         test_nonblocking_pipe_main_LDADD.
13833         * modules/nonblocking-socket-tests (Makefile.am): Link
13834         test-nonblocking-socket-main against $(LIBINTL).
13835         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13836
13837 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
13838
13839         assert-h: work around 'verify' incompatibility
13840         * lib/verify.h: Use @...@ directives, not ifdef.
13841         * modules/assert-h (assert.h): Implement the directives.
13842         (assert.h): Substitute the symbol-prefix more consistently.
13843
13844 2011-05-29  Jim Meyering  <meyering@redhat.com>
13845
13846         trim: remove three superfluous assignments
13847         * lib/trim.c (trim2): Remove three superfluous assignments
13848         and correct brace positioning.
13849
13850 2011-05-29  Bruno Haible  <bruno@clisp.org>
13851
13852         wctype-h: Avoid namespace pollution on Solaris 2.6.
13853         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
13854         identifiers.
13855         * doc/posix-headers/wctype.texi: Mention the problem.
13856         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13857
13858 2011-05-28  Jim Meyering  <meyering@redhat.com>
13859
13860         parse-datetime.y: accommodate -Wstrict-overflow
13861         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
13862         placate -Wstrict-overflow.
13863
13864         trim: avoid a warning from -O2 -Wstrict-overflow
13865         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
13866
13867 2011-05-29  Bruno Haible  <bruno@clisp.org>
13868
13869         gnulib-tool: Fix bug in yesterday's commit.
13870         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
13871         twice.
13872
13873 2011-05-29  Bruno Haible  <bruno@clisp.org>
13874
13875         Allow multiple gnulib generated include files to be combined.
13876         * gnulib-tool (func_compute_include_guard_prefix): New function.
13877         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
13878         ${gl_include_guard_prefix} references.
13879         (func_import, func_create_testdir): Invoke
13880         func_compute_include_guard_prefix.
13881         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
13882         * lib/ctype.in.h: Likewise.
13883         * lib/dirent.in.h: Likewise.
13884         * lib/errno.in.h: Likewise.
13885         * lib/fcntl.in.h: Likewise.
13886         * lib/float.in.h: Likewise.
13887         * lib/getopt.in.h: Likewise.
13888         * lib/iconv.in.h: Likewise.
13889         * lib/langinfo.in.h: Likewise.
13890         * lib/locale.in.h: Likewise.
13891         * lib/math.in.h: Likewise.
13892         * lib/netdb.in.h: Likewise.
13893         * lib/netinet_in.in.h: Likewise.
13894         * lib/poll.in.h: Likewise.
13895         * lib/pthread.in.h: Likewise.
13896         * lib/pty.in.h: Likewise.
13897         * lib/sched.in.h: Likewise.
13898         * lib/se-selinux.in.h: Likewise.
13899         * lib/search.in.h: Likewise.
13900         * lib/signal.in.h: Likewise.
13901         * lib/spawn.in.h: Likewise.
13902         * lib/stdarg.in.h: Likewise.
13903         * lib/stddef.in.h: Likewise.
13904         * lib/stdint.in.h: Likewise.
13905         * lib/stdio.in.h: Likewise.
13906         * lib/stdlib.in.h: Likewise.
13907         * lib/string.in.h: Likewise.
13908         * lib/strings.in.h: Likewise.
13909         * lib/sys_file.in.h: Likewise.
13910         * lib/sys_ioctl.in.h: Likewise.
13911         * lib/sys_select.in.h: Likewise.
13912         * lib/sys_socket.in.h: Likewise.
13913         * lib/sys_stat.in.h: Likewise.
13914         * lib/sys_time.in.h: Likewise.
13915         * lib/sys_times.in.h: Likewise.
13916         * lib/sys_uio.in.h: Likewise.
13917         * lib/sys_utsname.in.h: Likewise.
13918         * lib/sys_wait.in.h: Likewise.
13919         * lib/sysexits.in.h: Likewise.
13920         * lib/termios.in.h: Likewise.
13921         * lib/time.in.h: Likewise.
13922         * lib/unistd.in.h: Likewise.
13923         * lib/wchar.in.h: Likewise.
13924         * lib/wctype.in.h: Likewise.
13925         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
13926         * modules/ctype (Makefile.am): Likewise.
13927         * modules/dirent (Makefile.am): Likewise.
13928         * modules/errno (Makefile.am): Likewise.
13929         * modules/fcntl-h (Makefile.am): Likewise.
13930         * modules/float (Makefile.am): Likewise.
13931         * modules/getopt-posix (Makefile.am): Likewise.
13932         * modules/iconv-h (Makefile.am): Likewise.
13933         * modules/langinfo (Makefile.am): Likewise.
13934         * modules/locale (Makefile.am): Likewise.
13935         * modules/math (Makefile.am): Likewise.
13936         * modules/netdb (Makefile.am): Likewise.
13937         * modules/netinet_in (Makefile.am): Likewise.
13938         * modules/poll-h (Makefile.am): Likewise.
13939         * modules/pthread (Makefile.am): Likewise.
13940         * modules/pty (Makefile.am): Likewise.
13941         * modules/sched (Makefile.am): Likewise.
13942         * modules/search (Makefile.am): Likewise.
13943         * modules/selinux-h (Makefile.am): Likewise.
13944         * modules/signal (Makefile.am): Likewise.
13945         * modules/spawn (Makefile.am): Likewise.
13946         * modules/stdarg (Makefile.am): Likewise.
13947         * modules/stddef (Makefile.am): Likewise.
13948         * modules/stdint (Makefile.am): Likewise.
13949         * modules/stdio (Makefile.am): Likewise.
13950         * modules/stdlib (Makefile.am): Likewise.
13951         * modules/string (Makefile.am): Likewise.
13952         * modules/strings (Makefile.am): Likewise.
13953         * modules/sys_file (Makefile.am): Likewise.
13954         * modules/sys_ioctl (Makefile.am): Likewise.
13955         * modules/sys_select (Makefile.am): Likewise.
13956         * modules/sys_socket (Makefile.am): Likewise.
13957         * modules/sys_stat (Makefile.am): Likewise.
13958         * modules/sys_time (Makefile.am): Likewise.
13959         * modules/sys_times (Makefile.am): Likewise.
13960         * modules/sys_uio (Makefile.am): Likewise.
13961         * modules/sys_utsname (Makefile.am): Likewise.
13962         * modules/sys_wait (Makefile.am): Likewise.
13963         * modules/sysexits (Makefile.am): Likewise.
13964         * modules/termios (Makefile.am): Likewise.
13965         * modules/time (Makefile.am): Likewise.
13966         * modules/unistd (Makefile.am): Likewise.
13967         * modules/wchar (Makefile.am): Likewise.
13968         * modules/wctype-h (Makefile.am): Likewise.
13969         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
13970
13971 2011-05-29  Bruno Haible  <bruno@clisp.org>
13972
13973         assert-h: Allow multiple gnulib generated replacements to coexist.
13974         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
13975
13976 2011-05-29  Bruno Haible  <bruno@clisp.org>
13977
13978         argp: Allow coexistence with strerror_r-posix module.
13979         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
13980         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
13981         by gnulib's <string.h> replacement), assume it has the POSIX signature,
13982         not the glibc signature.
13983
13984 2011-05-28  Bruno Haible  <bruno@clisp.org>
13985
13986         gnulib-tool: Alternative structure of testdirs, similar to --import.
13987         * gnulib-tool: New option --single-configure.
13988         (func_usage): Document it.
13989         (single_configure): New variable.
13990         (func_modules_transitive_closure_separately,
13991         func_modules_transitive_closure_separately,
13992         func_determine_use_libtests, func_modules_add_dummy_separately,
13993         func_modules_to_filelist_separately): New functions, extracted from
13994         func_import.
13995         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
13996         (func_import): Use the new functions.
13997         (func_create_testdir): Set final_modules. Handle $single_configure =
13998         true case.
13999
14000 2011-05-28  Bruno Haible  <bruno@clisp.org>
14001
14002         getloadavg: Remove an unreliable safety check.
14003         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
14004         getloadavg.c is in place.
14005         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
14006         Reported by Sam Steingold <sds@gnu.org>.
14007
14008 2011-05-28  Bruno Haible  <bruno@clisp.org>
14009
14010         doc: Cleanup yet another file produced by texinfo.tex.
14011         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
14012
14013 2011-05-28  Bruno Haible  <bruno@clisp.org>
14014
14015         Finish the conditional dependencies mechanism.
14016         * gnulib-tool: New option --no-conditional-dependencies.
14017         (func_usage): Document it. Don't mark --conditional-dependencies as
14018         experimental.
14019         (cond_dependencies): The possible values can now be true, false, empty.
14020         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
14021         (func_import): Store setting in gnulib-cache.m4 and read it from there.
14022         * doc/gnulib-tool.texi (Conditional dependencies): New section.
14023
14024 2011-05-28  Bruno Haible  <bruno@clisp.org>
14025
14026         doc: Use a recent texinfo.tex.
14027         * doc/Makefile (tex_opts): New variable.
14028         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
14029
14030 2011-05-28  Jim Meyering  <meyering@redhat.com>
14031
14032         intprops.h: adjust comment to match code change
14033         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
14034         only once, it *may* have side effects.  Also fix an unrelated typo.
14035         (_GL_INT_SIGNED): Likewise.
14036
14037 2011-05-26  Simon Josefsson  <simon@josefsson.org>
14038
14039         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
14040
14041 2011-05-26  Bruno Haible  <bruno@clisp.org>
14042
14043         mbsrchr: Avoid collision with system function on Interix.
14044         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
14045         Reported by Markus Duft <mduft@gentoo.org>.
14046
14047 2011-05-15  James Youngman  <jay@gnu.org>
14048
14049         getopt: for ambiguous options, enumerate the possibilities.
14050         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
14051         the ambiguous options when an ambiguous prefix is given. This was
14052         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
14053         glibc change was
14054         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
14055
14056 2011-05-25  Eric Blake  <eblake@redhat.com>
14057
14058         getcwd: work around mingw bug
14059         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
14060         * doc/posix-functions/getcwd.texi (getcwd): Document it.
14061         Reported by Matthias Bolte.
14062
14063 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
14064
14065         test-intprops: disable -Wtype-limits diagnostics
14066         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
14067         diagnostics.  Otherwise, the integer overflow macros generate many
14068         diagnostics.  Reported by Jim Meyering in
14069         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14070
14071         intprops: shorten, to pacify gcc -Woverlength-strings
14072         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
14073         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
14074         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
14075         likely to run afoul of C compiler limits for string constant lengths.
14076         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
14077
14078 2011-05-24  Eric Blake  <eblake@redhat.com>
14079
14080         docs: document recently fixed glibc printf bug
14081         * doc/posix-functions/fprintf.texi (fprintf): Document it.
14082         * doc/posix-functions/printf.texi (printf): Likewise.
14083         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
14084         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
14085
14086         closein-tests: convert to init.sh
14087         * modules/closein-tests (Files): Add init.sh
14088         * tests/test-closein.sh Use it.
14089
14090         yesno-tests: convert to init.sh
14091         * modules/yesno-tests (Files): Add init.sh.
14092         * tests/test-yesno.sh: Use it.
14093
14094         atexit-tests: ensure reliable exit status
14095         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
14096         Reported by Bruno Haible.
14097
14098 2011-05-24  Bruno Haible  <bruno@clisp.org>
14099
14100         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
14101         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
14102         gl_PREREQ_STRERROR_R invocations from here...
14103         * modules/strerror_r-posix (configure.ac): ... to here.
14104
14105 2011-05-24  Eric Blake  <eblake@redhat.com>
14106
14107         strerror_r: fix missing header
14108         * lib/strerror_r.c: Avoid compiler warning about snprintf.
14109
14110         strerror_r: fix AIX test failures
14111         * lib/strerror_r.c (strerror_r): Convert silent truncation to
14112         ERANGE failure.
14113
14114         strerror_r: fix Solaris test failures
14115         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
14116         failures.
14117         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14118
14119         strerror_r: enforce POSIX recommendations
14120         * lib/strerror_r.c (safe_copy): New helper method.
14121         (strerror_r): Guarantee a non-empty string.
14122         * tests/test-strerror_r.c (main): Enhance tests to incorporate
14123         recent POSIX rulings and to match our strerror guarantees.
14124         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
14125
14126 2011-05-24  Jim Meyering  <meyering@redhat.com>
14127
14128         test-perror2.c: avoid warning about unused variable
14129         * tests/test-perror2.c (main): Remove declaration of unused "fp".
14130
14131 2011-05-24  Eric Blake  <eblake@redhat.com>
14132
14133         perror: avoid spurious test failure on HP-UX
14134         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
14135
14136         tests: fix logic bug in init.sh
14137         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
14138         shell.
14139
14140 2011-05-24  Jim Meyering  <meyering@redhat.com>
14141
14142         utimensat: do not reference an out-of-scope buffer
14143         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
14144         declared in an inner scope, yet "times" would be dereferenced outside
14145         the scope in which "ts" was valid.
14146         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
14147         of ts[2] "out/up", so that the use of aliased "times" (via
14148         "times = ts;") does not end up referencing an out-of-scope "ts"
14149
14150         opendir-safer.c: don't clobber errno; don't close negative FD
14151         * lib/opendir-safer.c (opendir_safer):
14152         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
14153         file descriptor, and more importantly, don't clobber the
14154         offending errno value with EINVAL.  Before, upon failure
14155         of dup_safer, we would pass the negative file descriptor to
14156         fdopendir, which would clobber errno.
14157
14158 2011-05-23  Bruno Haible  <bruno@clisp.org>
14159
14160         idcache: Fix module description.
14161         * modules/idcache (Include): Set to "idcache.h".
14162
14163 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
14164
14165         gnulib-tool: fix portability problem with MacOS sed
14166         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
14167         before the "}".  Problem reported by Leo in
14168         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
14169         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
14170         sed_extract_condition1, sed_extract_condition2.
14171
14172 2011-05-23  Bruno Haible  <bruno@clisp.org>
14173
14174         hash: Simplify autoconf macro.
14175         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
14176
14177 2011-05-23  Bruno Haible  <bruno@clisp.org>
14178
14179         getugroups: Fix module description.
14180         * modules/getugroups (Include): Set to "getugroups.h".
14181
14182 2011-05-23  Bruno Haible  <bruno@clisp.org>
14183
14184         linkat: Simplify autoconf macro.
14185         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
14186
14187 2011-05-23  Bruno Haible  <bruno@clisp.org>
14188             Eric Blake  <eblake@redhat.com>
14189
14190         linkat, renameat: Update dependencies.
14191         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
14192         * modules/linkat (Depends-on): Likewise. Remove also readlink,
14193         symlinkat.
14194
14195 2011-05-23  Jim Meyering  <meyering@redhat.com>
14196
14197         maint.mk: more tight_scope improvements
14198         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
14199         (_gl_TS_headers): Define only in if-0'd block.
14200         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
14201         sometimes we must *not* use it.  Adjust uses accordingly.
14202         (sc_tight_scope): Use much simpler grep-based test to determine
14203         whether we skip this rule.
14204
14205         maint.mk: generalize/improve the tight-scope rule
14206         * top/maint.mk: Emit a warning when the test is skipped.
14207         (_gl_TS_dir): Add $(srcdir)/ prefix.
14208         (_gl_TS_function_match): Simplify, rather than trying
14209         to enumerate common types.  Otherwise, it would fail to match an
14210         "extern unsigned char const *" declaration in idutils.
14211         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
14212         a way to support use of that type of macro.
14213         (_gl_TS_var_match): Simplify regexp.
14214         (_gl_TS_obj_files): New configurable variable.
14215         (_gl_TS_headers): Likewise.
14216
14217 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
14218
14219         verify: fix bug when gnulib <assert.h> is also included
14220         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
14221         is defined, not if _GL_STATIC_ASSERT_H is not defined.
14222         Perhaps there's a better way, but this fixes the immediate problem.
14223         Problem reported by Bruno Haible in
14224         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
14225
14226 2011-05-22  Bruno Haible  <bruno@clisp.org>
14227
14228         xgetcwd: Simplify autoconf macro.
14229         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
14230
14231 2011-05-22  Bruno Haible  <bruno@clisp.org>
14232
14233         New module 'mktime-internal'.
14234         * modules/mktime-internal: New file.
14235         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
14236         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
14237         mktime_internal as a C macro if libc has __mktime_internal.
14238         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
14239         conditions.
14240         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
14241
14242 2011-05-22  Bruno Haible  <bruno@clisp.org>
14243
14244         timegm: Correct mktime replacement statements.
14245         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
14246         defining mktime as a C macro. This completes a 2009-07-28 commit.
14247
14248 2011-05-22  Bruno Haible  <bruno@clisp.org>
14249
14250         timegm: Simplify autoconf macro.
14251         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
14252
14253 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
14254
14255         clock-time: change to LGPLv2+.
14256         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
14257         BSD-like but we have no mark for that; this is good enough for now.
14258
14259 2011-05-21  Bruno Haible  <bruno@clisp.org>
14260
14261         strerror_r: Fix comments.
14262         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
14263
14264 2011-05-21  Bruno Haible  <bruno@clisp.org>
14265
14266         relocatable-prog-wrapper: Fix possible link error.
14267         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
14268         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
14269         (gl_FUNC_SETENV): ... to here.
14270         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
14271         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
14272
14273 2011-05-21  Bruno Haible  <bruno@clisp.org>
14274
14275         relocatable-prog-wrapper: Assume strerror() exists.
14276         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
14277         m4/strerror.m4.
14278         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
14279         * lib/relocwrapper.c: Remove mention of strerror module.
14280         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
14281         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
14282         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
14283         C macro.
14284
14285 2011-05-21  Bruno Haible  <bruno@clisp.org>
14286
14287         select: Simplify replacement idiom.
14288         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
14289         Win32 platforms.
14290         * lib/sys_select.in.h (select): Simplify accordingly.
14291         * modules/select (Depends-on): Likewise.
14292
14293 2011-05-21  Bruno Haible  <bruno@clisp.org>
14294
14295         mkdir-p: Simplify autoconf macro.
14296         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
14297         gl_FUNC_LCHOWN.
14298
14299 2011-05-21  Eric Blake  <eblake@redhat.com>
14300
14301         strerror_r: avoid clobbering strerror on cygwin
14302         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
14303         fall back instead to sys_errlist.
14304         * modules/strerror (configure.ac): Add witness.
14305         * tests/test-strerror_r.c (main): Enhance test.
14306         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14307         * tests/test-perror2.c (main): Free memory before exit.
14308
14309 2011-05-21  Bruno Haible  <bruno@clisp.org>
14310
14311         mkdtemp: Use gnulib naming conventions.
14312         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
14313         * modules/mkdtemp (configure.ac): Update.
14314
14315 2011-05-20  Eric Blake  <eblake@redhat.com>
14316
14317         strerror_r: avoid corrupting errno on Solaris
14318         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
14319         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
14320
14321         strerror_r: avoid compiler warning
14322         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
14323
14324         strerror_r: simplify AIX code
14325         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
14326
14327         test-perror: avoid spurious failure on FreeBSD
14328         * modules/perror-tests (Depends-on): Add strerror, now that
14329         strerror_r no longer pulls it in.
14330
14331 2011-05-20  Bruno Haible  <bruno@clisp.org>
14332
14333         strerror_r-posix: Remove unused dependencies.
14334         * modules/strerror_r-posix (Depends-on): Remove strerror.
14335         Reported by Eric Blake.
14336
14337 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
14338
14339         intprops: remove assumption about A|B representation
14340         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
14341         is a valid integer if both A and B are.  Although this is true for
14342         all known practical hosts, the C standard doesn't guarantee it,
14343         and the code need not assume it.  Also, this change may work around
14344         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
14345         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
14346
14347 2011-05-20  Eric Blake  <eblake@redhat.com>
14348
14349         perror: work around FreeBSD bug
14350         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
14351         is broken.  Move AC_LIBOBJ...
14352         * modules/perror (configure.ac): Here.
14353         * doc/posix-functions/perror.texi (perror): Document this.
14354         * tests/test-perror2.c (main): Enhance test.
14355
14356         test-perror: check for strerror interactions
14357         * tests/macros.h (STREQ): Add macro.
14358         * modules/perror-tests (Files): Add second test.
14359         * tests/test-perror2.c (main): New file.
14360         * doc/posix-functions/perror.texi (perror): Document glibc bug.
14361
14362         test-perror: rewrite to use init script
14363         * modules/perror-tests (Files): Add init.sh.
14364         * tests/test-perror.sh: Use temporary directory.
14365
14366 2011-05-20  Jim Meyering  <meyering@redhat.com>
14367
14368         maint: replace misused "a" with "an"
14369         * doc/intprops.texi: "a integer"
14370         * doc/regex.texi: "a explanation"
14371         * lib/alignof.h: "a object"
14372         * lib/argmatch.h: "a explanation"
14373         * lib/argp-help.c: "a option" and "a OPTION_DOC"
14374         * lib/stdint.in.h: "a integer"
14375         * lib/userspec.c: "a owner"
14376         * doc/gnulib.texi: Fix "a idea", and reword.
14377
14378 2011-05-19  Jim Meyering  <meyering@redhat.com>
14379
14380         maint: correct misuse of "a" and "an"
14381         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
14382         * lib/argp-help.c: "an docum...": s/an/a/
14383         * lib/argp-parse.c: "An vector": s/An/A/
14384         * lib/execute.c: "an native": s/an/a/
14385         * lib/spawn-pipe.c: Likewise.
14386         * lib/gc.h: "an Gc_rc": s/an/a/
14387         * lib/unigbrk.in.h: "an grapheme": s/an/a/
14388         * lib/fts.c: "an stat.st_dev": s/an/a/
14389
14390 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14391
14392         intprops-tests: work around HP-UX 11.23 cc bug with constants
14393         * tests/test-intprops.c (VERIFY): New macro.
14394         (main): Use it, instead of verify, to work around the compiler bug; see
14395         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14396
14397         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
14398         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
14399         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
14400         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
14401         (_GL_REMAINDER_OVERFLOW): Use it.
14402
14403         intprops-tests: revert unsigned part of previous change
14404         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
14405         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
14406         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
14407         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
14408
14409 2011-05-19  Bruno Haible  <bruno@clisp.org>
14410
14411         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
14412         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
14413         strerror_r() returned without filling the buffer.
14414         Reported by Eric Blake.
14415
14416 2011-05-19  Eric Blake  <eblake@redhat.com>
14417
14418         strerror_r: guarantee unchanged errno
14419         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
14420         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
14421         failure.
14422         * tests/test-strerror_r.c (main): Enhance test.
14423
14424 2011-05-19  Bruno Haible  <bruno@clisp.org>
14425
14426         strerror_r: Reorder #if blocks.
14427         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
14428         for consistency with the previous commit.
14429
14430 2011-05-19  Bruno Haible  <bruno@clisp.org>
14431
14432         perror: Avoid clobbering the strerror buffer when possible.
14433         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
14434         * lib/strerror.c: Include it.
14435         * modules/strerror (Files): Add lib/strerror-impl.h.
14436         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
14437         (my_strerror): New function, defined through lib/strerror-impl.h.
14438         (perror): Use it instead of strerror.
14439         * modules/perror (Files): Add lib/strerror-impl.h.
14440         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
14441
14442 2011-05-19  Eric Blake  <eblake@redhat.com>
14443
14444         strerror_r: fix on newer cygwin
14445         * lib/strerror_r.c (strerror_r): Cygwin now has
14446         __xpg_strerror_r, use it.
14447
14448 2011-05-19  Bruno Haible  <bruno@clisp.org>
14449
14450         strerror_r: Avoid clobbering the strerror buffer when possible.
14451         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
14452         (sys_nerr, sys_errlist): New declarations.
14453         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
14454         HP-UX, native Win32, IRIX, and 32-bit Solaris.
14455         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
14456
14457 2011-05-19  Bruno Haible  <bruno@clisp.org>
14458
14459         strerror_r: Fix test failure on mingw.
14460         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
14461         EXTEND_STRERROR_R.
14462         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
14463         macros from errno.in.h instead.
14464
14465 2011-05-19  Eric Blake  <eblake@redhat.com>
14466
14467         strerror: relax test for Solaris
14468         * tests/test-strerror.c (main): Permit Solaris behavior.
14469         * tests/test-strerror_r.c (main): Likewise.
14470
14471         strerror: enforce POSIX ruling on strerror(0)
14472         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
14473         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
14474         * lib/strerror_r.c (rpl_strerror_r): Work around it.
14475         * doc/posix-functions/strerror.texi (strerror): Document it.
14476         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
14477         * tests/test-strerror.c (main): Strengthen test.
14478         * tests/test-strerror_r.c (main): Likewise.
14479
14480 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
14481
14482         intprop-tests: port to older and more-pedantic compilers
14483         * modules/intprops-tests (Files): Add tests/macros.h.
14484         * tests/test-intprops.c: Include macros.h.
14485         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
14486         it's no longer documented to expand to an integer constant expression.
14487         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
14488         argument is floating point, as it's no longer documented to expand
14489         to an integer constant expression in that case.
14490         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
14491         compiler bugs reported by Bruno Haible.  See
14492         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14493         (U0, U1): New constants, to work around the same bugs.  Also,
14494         in tests, use e.g., "(unsigned int) 39" rather than "39u".
14495
14496         intprops: work around C compiler bugs
14497         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
14498         bug in Sun C 5.11 2010/08/13 and other compilers; see
14499         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
14500
14501         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
14502         * doc/intprops.texi (Integer Type Determination): Fix
14503         documentation for TYPE_IS_INTEGER: it returns an constant
14504         expression, not an integer constant expression.  Fix doc for
14505         TYPE_SIGNED: it returns an integer constant expression only if its
14506         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
14507         hardly worth documented that way....)
14508
14509 2011-05-18  Bruno Haible  <bruno@clisp.org>
14510
14511         strerror_r: Avoid clobbering the strerror buffer when possible.
14512         * lib/strerror_r.c (strerror_r): Merge the three implementations.
14513         Handle gnulib defined errno values here. When strerror() returns NULL
14514         or an empty string, return EINVAL.
14515         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
14516         gnulib defined errno values here.
14517         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
14518
14519 2011-05-18  Eric Blake  <eblake@redhat.com>
14520
14521         fnmatch: avoid compiler warning
14522         * lib/fnmatch_loop.c (FCT): Use correct type.
14523         Reported by Matthias Bolte.
14524
14525 2011-05-13  Jim Meyering  <meyering@redhat.com>
14526
14527         maint.mk: three new prohibit_<HDR>_without_use rules
14528         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
14529         (sc_prohibit_stdio-safer_without_use): Likewise.
14530         (sc_prohibit_xfreopen_without_use): Likewise.
14531
14532 2011-05-17  Jim Meyering  <meyering@redhat.com>
14533
14534         announce-gen: fail if the NEWS delta is empty
14535         If there's nothing noteworthy in NEWS, then either you forgot
14536         or you shouldn't be releasing.
14537         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
14538
14539 2011-05-17  Pádraig Brady <P@draigBrady.com>
14540
14541         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
14542         reserved symbols starting with double underscore from the check.
14543
14544 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
14545
14546         intprops: add doc
14547         * doc/intprops.texi: New file, documenting intprops.
14548         * doc/gnulib.texi (Particular Modules): Include it.
14549
14550         verify: add doc to gnulib manual and fix example
14551         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
14552         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
14553         (Compile-time Assertions): Fix example so it can't overflow.
14554
14555 2011-05-17  Jim Meyering  <meyering@redhat.com>
14556
14557         warnings.m4: don't usurp save_CPPFLAGS variable name
14558         * m4/warnings.m4: Prefix local temporary variable name with gl_.
14559
14560         doc: fix typo
14561         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
14562
14563 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14564             Bruno Haible  <bruno@clisp.org>
14565
14566         doc: Tweak recent change.
14567         * README (Portability guidelines): Tweak new text.
14568         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
14569         Interix 6.1.
14570
14571 2011-05-16  Eric Blake  <eblake@redhat.com>
14572
14573         inttypes: avoid autoconf warning
14574         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
14575         * m4/stdint.m4 (gl_STDINT_H): Likewise.
14576
14577 2011-05-16  Sam Steingold <sds@gnu.org>
14578         and Eric Blake  <eblake@redhat.com>
14579
14580         vc-list-files: accept multiple directory operands
14581         * build-aux/vc-list-files: Iterate over all remaining operands.
14582
14583 2011-05-16  Bruno Haible  <bruno@clisp.org>
14584
14585         Fix confusion regarding deprecated modules.
14586         * modules/calloc (Status, Notice): Mark module as deprecated, not
14587         obsolete.
14588         * modules/fnmatch-posix (Status, Notice): Likewise.
14589         * modules/getdate (Status, Notice): Likewise.
14590         * modules/getopt (Status, Notice): Likewise.
14591         * modules/malloc (Status, Notice): Likewise.
14592         * modules/pipe (Status, Notice): Likewise.
14593         * modules/realloc (Status, Notice): Likewise.
14594         * modules/rename-dest-slash (Status, Notice): Likewise.
14595         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
14596         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
14597         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
14598         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
14599         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
14600
14601 2011-05-16  Bruno Haible  <bruno@clisp.org>
14602
14603         doc: List the target platforms.
14604         * doc/gnulib-intro.texi (Target Platforms): New section.
14605         * doc/gnulib.texi (Introduction): Update menu.
14606         * README (Portability guidelines): Refer to the new section. Update
14607         statement about oldest supported environment. Remove rationale why
14608         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
14609         unportable C89 function.
14610         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
14611         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
14612
14613 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
14614
14615         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
14616
14617 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
14618
14619         intprops-tests: new module
14620         * modules/intprops-tests, tests/test-intprops.c: New files.
14621
14622         intprops: add safe, portable integer overflow checking
14623         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
14624         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
14625         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
14626         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
14627         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
14628         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
14629         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
14630         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
14631         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
14632         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
14633         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
14634
14635 2011-05-12  James Youngman  <jay@gnu.org>
14636
14637         Add a test for glibc's Bugzilla bug #12378.
14638         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
14639         doesn't allow the literal matching of a lone "[" (which is
14640         required by POSIX).
14641         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
14642
14643 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
14644
14645         Sync glibc change fixing Bugzilla bug #12378.
14646         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
14647         beginning and fall back to matching as normal character if the
14648         string ends before the matching ']' is found.  This is what POSIX
14649         requires.
14650
14651 2011-05-13  Eric Blake  <eblake@redhat.com>
14652
14653         getcwd-lgpl: relax test for FreeBSD
14654         * doc/posix-functions/getcwd.texi (getcwd): Document portability
14655         issue.
14656         * tests/test-getcwd-lgpl.c (main): Relax test.
14657         Reported by Matthias Bolte.
14658
14659 2011-05-11  Eric Blake  <eblake@redhat.com>
14660
14661         test-fflush: silence compiler warning
14662         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
14663
14664 2011-05-11  Bruno Haible  <bruno@clisp.org>
14665
14666         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
14667         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
14668         * modules/canonicalize (Depends-on): Add 'nocrash'.
14669         * modules/canonicalize-lgpl (Depends-on): Likewise.
14670         * doc/posix-functions/realpath.texi: Update platforms list.
14671         Reported by Ryan Schmidt <ryandesign@macports.org>.
14672
14673 2011-05-11  Bruno Haible  <bruno@clisp.org>
14674
14675         group-member: Declare function in <unistd.h>.
14676         * lib/unistd.in.h (group_member): New declaration.
14677         * lib/group-member.h: Remove file.
14678         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
14679         * tests/test-unistd-c++.cc: Check signature of group_member.
14680         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
14681         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
14682         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
14683         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
14684         HAVE_GROUP_MEMBER.
14685         * modules/group-member (Files): Remove lib/group-member.h.
14686         (Depends-on): Add unistd. Specify conditions.
14687         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
14688         (Include): Change to <unistd.h>.
14689         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
14690         HAVE_GROUP_MEMBER.
14691         * NEWS: Mention the change.
14692         * lib/euidaccess.c: Don't include group-member.h.
14693
14694 2011-05-11  Bruno Haible  <bruno@clisp.org>
14695
14696         group-member: Document module.
14697         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
14698         module.
14699
14700 2011-05-11  Bruno Haible  <bruno@clisp.org>
14701
14702         fclose: Fix mistake earlier today.
14703         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
14704
14705 2011-05-11  Eric Blake  <eblake@redhat.com>
14706
14707         fclose: preserve fflush errors
14708         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
14709         Reported by Jim Meyering.
14710
14711         bootstrap: support a prereq of 'rpcgen -' on RHEL5
14712         * build-aux/bootstrap (check_versions): When no specific version
14713         is required, merely check that the app produces an exit status
14714         that indicates its existence.
14715
14716         maint.mk: drop redundant check
14717         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
14718         the same but better.
14719
14720 2011-05-11  Bruno Haible  <bruno@clisp.org>
14721
14722         fclose: Fix possible link error.
14723         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
14724         unregister_shadow_fd. Improve comments.
14725         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
14726         Eric Blake.
14727
14728 2011-05-11  Jim Meyering  <meyering@redhat.com>
14729
14730         maint.mk: improve "can not" detection and generalize rule name
14731         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
14732         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
14733         Use the same technique as in sc_prohibit_doubled_word, so that
14734         we recognize "can not" also when the words are separated by a newline.
14735         Suggested by Eric Blake.
14736         (perl_filename_lineno_text_): Define.  Factored out of...
14737         (prohibit_doubled_word_): ...here.  Use the new definition.
14738         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
14739         (prohibit_undesirable_word_seq_RE_): New overridable variable.
14740         (ignore_undesirable_word_sequence_RE_): New overridable variable.
14741
14742 2011-05-10  Eric Blake  <eblake@redhat.com>
14743
14744         fclose: avoid double close race when possible
14745         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
14746         all but WINDOWS_SOCKETS.
14747
14748 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
14749
14750         openat: correct new comment
14751         * lib/openat-proc.c (openat_proc_name): Correct the comment.
14752
14753 2011-05-10  Jim Meyering  <meyering@redhat.com>
14754
14755         openat: add comments
14756         * lib/openat-proc.c (openat_proc_name): Add comments,
14757         mostly from Eric Blake.
14758
14759 2011-05-09  Eric Blake  <eblake@redhat.com>
14760
14761         openat: reduce syscalls in first probe of /proc
14762         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
14763         be a directory.  Simplify the probe for .. bugs.
14764         * modules/openat (Depends-on): Drop same-inode.
14765         Reported by Bastien ROUCARIES.
14766
14767 2011-05-09  Jim Meyering  <meyering@redhat.com>
14768
14769         maint.mk: change semantics/name of tight_scope variables
14770         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
14771         Rename variables to align with semantics that make them more useful.
14772
14773         maint.mk: tweak new rule's name not to impinge
14774         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
14775         (sc_tight_scope): Use new rule name rather than $@-0.
14776
14777         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
14778         * top/maint.mk (sc_tight_scope): New rule.
14779         (sc_tight_scope-0): New rule, ifdef'd out.
14780         (_gl_TS_dir): Default.
14781         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
14782         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
14783
14784 2011-05-09  Simon Josefsson  <simon@josefsson.org>
14785
14786         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
14787         Haible <bruno@clisp.org>.
14788
14789 2011-05-08  Bruno Haible  <bruno@clisp.org>
14790
14791         Comments.
14792         * m4/isnanf.m4: Add comment.
14793         * m4/isnanl.m4: Likewise.
14794
14795 2011-05-08  Bruno Haible  <bruno@clisp.org>
14796
14797         glob: Remove obsolete macro.
14798         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
14799
14800 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
14801
14802         intprops: Sun C 5.11 supports __typeof__
14803         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
14804         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
14805         which is new.
14806         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
14807
14808         intprops: switch to usual gnulib indenting and naming
14809         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
14810         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
14811
14812         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
14813
14814 2011-05-08  Jim Meyering  <meyering@redhat.com>
14815
14816         maint.mk: suppress "Entering/Leaving directory" diag in announcement
14817         * top/maint.mk (release-prep): Use make's --no-print-directory
14818         option when generating the announcement.  This eliminates the
14819         pesky "make[2]: Entering/Leaving directory" diagnostics in the
14820         generated announcement template.
14821
14822 2011-05-08  Bruno Haible  <bruno@clisp.org>
14823
14824         tzset: Fix gettimeofday wrapper on Solaris 2.6.
14825         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
14826         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
14827
14828 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
14829
14830         ignore-value, verify: Omit include files from lib_SOURCES.
14831         * modules/ignore-value, modules/verify (Makefile.am):
14832         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
14833         that leads Automake to duplicate use of am__objects_... variables
14834         in Makefile.in.  See
14835         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
14836
14837 2011-05-07  Bruno Haible  <bruno@clisp.org>
14838
14839         fclose: Simplify autoconf macro.
14840         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
14841         defined.
14842
14843 2011-05-07  Bruno Haible  <bruno@clisp.org>
14844
14845         canonicalize-lgpl: Fix autoconf macro ordering bug.
14846         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
14847         gl_STDLIB_H_DEFAULTS.
14848
14849 2011-05-06  Eric Blake  <eblake@redhat.com>
14850
14851         maintainer-makefile: make sc_po_check easier to tune
14852         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
14853         to probe for strings, such as an alternate location for gnulib.
14854
14855         fclose: guarantee behavior on seekable stdin
14856         * modules/fclose (Depends-on): Add fflush.
14857         * doc/posix-functions/fclose.texi (fclose): Document this.
14858         * tests/test-fclose.c (main): Make test for this unconditional.
14859
14860 2011-05-06  Bruno Haible  <bruno@clisp.org>
14861
14862         fflush, fpurge: Relicense under LGPLv2+.
14863         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
14864         * modules/fpurge (License): Likewise.
14865         With permission from Eric Blake and Jim Meyering.
14866         Suggested by Eric Blake.
14867
14868 2011-05-06  Karl Berry  <karl@gnu.org>
14869
14870         * MODULES.html.sh (func_all_modules): remove exit.
14871
14872 2011-05-06  Jim Meyering  <meyering@redhat.com>
14873
14874         maint.mk: use info-gnu@ as the default only for a stable release
14875         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
14876         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
14877         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
14878         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
14879
14880 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
14881
14882         assert-h: new module, which supports C1X-style static_assert
14883         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
14884         * lib/verify.h: Revamp so that this can be copied into assert.h,
14885         while retaining the ability to use it standalone as before.
14886         Rename private identifiers so as not to encroach on the
14887         standard C namespace, since this is now used by assert.h.
14888         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
14889         the old verify_true.
14890         (_GL_VERIFY_TRUE): New macro, with much of the contents of
14891         the old verify_true.  Use _GL_VERIFY_TYPE.
14892         (_GL_VERIFY): New macro, with much of the contents of the old verify.
14893         (static_assert): New macro, if _GL_STATIC_ASSERT_H
14894         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
14895         defined when this file is copied into the replacement assert.h.
14896         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
14897         and _Static_assert is not built in.
14898         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
14899         defined, and use the new macros mentioned above.
14900         * doc/posix-headers/assert.texi: Document this.
14901
14902 2011-05-05  Bruno Haible  <bruno@clisp.org>
14903
14904         fclose, fflush: Respect rules for use of AC_LIBOBJ.
14905         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
14906         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
14907         gl_REPLACE_FCLOSE here.
14908         * modules/fflush (Depends-on): Remove fclose.
14909         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
14910         combination with module 'fclose'.
14911
14912 2011-05-05  Bruno Haible  <bruno@clisp.org>
14913
14914         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
14915         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
14916         gl_FUNC_FFLUSH.
14917         (gl_FUNC_FFLUSH): Use it.
14918         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
14919         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
14920         gl_REPLACE_FSEEKO here.
14921
14922 2011-05-05  Bruno Haible  <bruno@clisp.org>
14923
14924         tzset: Relicense under LGPL.
14925         * modules/tzset (License): Change to LGPL.
14926         No agreement needed; it's a no-op.
14927
14928         strtoimax, strtoumax: Relicense under LGPL.
14929         * modules/strtoimax (License): Change to LGPL.
14930         * modules/strtoumax (License): Likewise.
14931         With permission from Jim Meyering, Paul Eggert:
14932         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
14933         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
14934
14935         getgroups: Relicense under LGPL.
14936         * modules/getgroups (License): Change to LGPL.
14937         With permission from Jim Meyering, Paul Eggert, Eric Blake:
14938         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
14939         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
14940         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14941
14942         nanosleep: Relicense under LGPL.
14943         * modules/nanosleep (License): Change to LGPL.
14944         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
14945         Haible:
14946         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
14947         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
14948         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14949         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
14950
14951         futimens: Relicense under LGPL.
14952         * modules/futimens (License): Change to LGPL.
14953         With permission from Eric Blake:
14954         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14955
14956         fflush: Relicense under LGPL.
14957         * modules/fflush (License): Change to LGPL.
14958         With permission from Eric Blake, Bruno Haible, Jim Meyering:
14959         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
14960         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
14961         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
14962
14963         tmpfile: Relicense under LGPL.
14964         * modules/tmpfile (License): Change to LGPL.
14965         With permission from Ben Pfaff:
14966         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
14967
14968         isfinite: Relicense under LGPL.
14969         * modules/isfinite (License): Change to LGPL.
14970         With permission from Ben Pfaff, Bruno Haible:
14971         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
14972         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
14973
14974         acosl..tanl: Relicense under LGPL.
14975         * modules/acosl (License): Change to LGPL.
14976         * modules/asinl (License): Likewise.
14977         * modules/atanl (License): Likewise.
14978         * modules/cosl (License): Likewise.
14979         * modules/expl (License): Likewise.
14980         * modules/logl (License): Likewise.
14981         * modules/sinl (License): Likewise.
14982         * modules/sqrtl (License): Likewise.
14983         * modules/tanl (License): Likewise.
14984         Source code originally from glibc and Paolo Bonzini. Agreements:
14985         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
14986         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
14987
14988 2011-05-05  Bruno Haible  <bruno@clisp.org>
14989
14990         signal: Define sighandler_t.
14991         * lib/signal.in.h (sighandler_t): New type.
14992         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
14993         whether sighandler_t is defined.
14994         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
14995         * modules/signal (Depends-on): Add extensions.
14996         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
14997         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
14998         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
14999
15000 2011-05-05  Eric Blake  <eblake@redhat.com>
15001
15002         maint: remove useless REPLACE_*_H macros
15003         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
15004         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
15005         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
15006         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
15007         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
15008         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
15009         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
15010         * m4/btowc.m4: Update callers.
15011         * m4/dirfd.m4: Likewise.
15012         * m4/duplocale.m4: Likewise.
15013         * m4/fchdir.m4: Likewise.
15014         * m4/fdopendir.m4: Likewise.
15015         * m4/inet_ntop.m4: Likewise.
15016         * m4/inet_pton.m4: Likewise.
15017         * m4/ioctl.m4: Likewise.
15018         * m4/mbrlen.m4: Likewise.
15019         * m4/mbrtowc.m4: Likewise.
15020         * m4/mbsinit.m4: Likewise.
15021         * m4/mbsnrtowcs.m4: Likewise.
15022         * m4/mbsrtowcs.m4: Likewise.
15023         * m4/poll.m4: Likewise.
15024         * m4/setlocale.m4: Likewise.
15025         * m4/wcrtomb.m4: Likewise.
15026         * m4/wcsnrtombs.m4: Likewise.
15027         * m4/wcsrtombs.m4: Likewise.
15028         * m4/wctob.m4: Likewise.
15029         * m4/wcwidth.m4: Likewise.
15030         * modules/posix_spawn: Likewise.
15031         * modules/posix_spawn_file_actions_addclose: Likewise.
15032         * modules/posix_spawn_file_actions_adddup2: Likewise.
15033         * modules/posix_spawn_file_actions_addopen: Likewise.
15034         * modules/posix_spawn_file_actions_destroy: Likewise.
15035         * modules/posix_spawn_file_actions_init: Likewise.
15036         * modules/posix_spawnattr_destroy: Likewise.
15037         * modules/posix_spawnattr_getflags: Likewise.
15038         * modules/posix_spawnattr_getpgroup: Likewise.
15039         * modules/posix_spawnattr_getschedparam: Likewise.
15040         * modules/posix_spawnattr_getschedpolicy: Likewise.
15041         * modules/posix_spawnattr_getsigdefault: Likewise.
15042         * modules/posix_spawnattr_getsigmask: Likewise.
15043         * modules/posix_spawnattr_init: Likewise.
15044         * modules/posix_spawnattr_setflags: Likewise.
15045         * modules/posix_spawnattr_setpgroup: Likewise.
15046         * modules/posix_spawnattr_setschedparam: Likewise.
15047         * modules/posix_spawnattr_setschedpolicy: Likewise.
15048         * modules/posix_spawnattr_setsigdefault: Likewise.
15049         * modules/posix_spawnattr_setsigmask: Likewise.
15050         * modules/posix_spawnp: Likewise.
15051
15052 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
15053
15054         Add option to do-release-commit-and-tag to specify branch.
15055         * build-aux/do-release-commit-and-tag: Add --branch.
15056
15057 2011-05-03  Bruno Haible  <bruno@clisp.org>
15058
15059         Avoid unnecessary compilation units, through conditional dependencies.
15060         * modules/accept (Depends-on): Add conditions to the dependencies.
15061         * modules/acosl (Depends-on): Likewise.
15062         * modules/argz (Depends-on): Likewise.
15063         * modules/asinl (Depends-on): Likewise.
15064         * modules/atanl (Depends-on): Likewise.
15065         * modules/atoll (Depends-on): Likewise.
15066         * modules/bind (Depends-on): Likewise.
15067         * modules/btowc (Depends-on): Likewise.
15068         * modules/canonicalize-lgpl (Depends-on): Likewise.
15069         * modules/ceil (Depends-on): Likewise.
15070         * modules/ceilf (Depends-on): Likewise.
15071         * modules/ceill (Depends-on): Likewise.
15072         * modules/chdir-long (Depends-on): Likewise.
15073         * modules/chown (Depends-on): Likewise.
15074         * modules/close (Depends-on): Likewise.
15075         * modules/connect (Depends-on): Likewise.
15076         * modules/cosl (Depends-on): Likewise.
15077         * modules/dirfd (Depends-on): Likewise.
15078         * modules/dprintf (Depends-on): Likewise.
15079         * modules/dprintf-posix (Depends-on): Likewise.
15080         * modules/error (Depends-on): Likewise.
15081         * modules/euidaccess (Depends-on): Likewise.
15082         * modules/expl (Depends-on): Likewise.
15083         * modules/faccessat (Depends-on): Likewise.
15084         * modules/fchdir (Depends-on): Likewise.
15085         * modules/fclose (Depends-on): Likewise.
15086         * modules/fcntl (Depends-on): Likewise.
15087         * modules/fdopendir (Depends-on): Likewise.
15088         * modules/fflush (Depends-on): Likewise.
15089         * modules/floor (Depends-on): Likewise.
15090         * modules/floorf (Depends-on): Likewise.
15091         * modules/floorl (Depends-on): Likewise.
15092         * modules/fnmatch (Depends-on): Likewise.
15093         * modules/fopen (Depends-on): Likewise.
15094         * modules/fprintf-posix (Depends-on): Likewise.
15095         * modules/frexp (Depends-on): Likewise.
15096         * modules/frexp-nolibm (Depends-on): Likewise.
15097         * modules/frexpl (Depends-on): Likewise.
15098         * modules/frexpl-nolibm (Depends-on): Likewise.
15099         * modules/fseek (Depends-on): Likewise.
15100         * modules/fsusage (Depends-on): Likewise.
15101         * modules/ftell (Depends-on): Likewise.
15102         * modules/ftello (Depends-on): Likewise.
15103         * modules/futimens (Depends-on): Likewise.
15104         * modules/getcwd (Depends-on): Likewise.
15105         * modules/getcwd-lgpl (Depends-on): Likewise.
15106         * modules/getdelim (Depends-on): Likewise.
15107         * modules/getdomainname (Depends-on): Likewise.
15108         * modules/getgroups (Depends-on): Likewise.
15109         * modules/gethostname (Depends-on): Likewise.
15110         * modules/getline (Depends-on): Likewise.
15111         * modules/getlogin_r (Depends-on): Likewise.
15112         * modules/getopt-posix (Depends-on): Likewise.
15113         * modules/getpeername (Depends-on): Likewise.
15114         * modules/getsockname (Depends-on): Likewise.
15115         * modules/getsockopt (Depends-on): Likewise.
15116         * modules/getsubopt (Depends-on): Likewise.
15117         * modules/getusershell (Depends-on): Likewise.
15118         * modules/glob (Depends-on): Likewise.
15119         * modules/grantpt (Depends-on): Likewise.
15120         * modules/iconv_open (Depends-on): Likewise.
15121         * modules/iconv_open-utf (Depends-on): Likewise.
15122         * modules/inet_ntop (Depends-on): Likewise.
15123         * modules/inet_pton (Depends-on): Likewise.
15124         * modules/ioctl (Depends-on): Likewise.
15125         * modules/isapipe (Depends-on): Likewise.
15126         * modules/isfinite (Depends-on): Likewise.
15127         * modules/isinf (Depends-on): Likewise.
15128         * modules/lchown (Depends-on): Likewise.
15129         * modules/ldexpl (Depends-on): Likewise.
15130         * modules/link (Depends-on): Likewise.
15131         * modules/linkat (Depends-on): Likewise.
15132         * modules/listen (Depends-on): Likewise.
15133         * modules/logl (Depends-on): Likewise.
15134         * modules/lstat (Depends-on): Likewise.
15135         * modules/mbrlen (Depends-on): Likewise.
15136         * modules/mbrtowc (Depends-on): Likewise.
15137         * modules/mbsinit (Depends-on): Likewise.
15138         * modules/mbsnrtowcs (Depends-on): Likewise.
15139         * modules/mbsrtowcs (Depends-on): Likewise.
15140         * modules/mbtowc (Depends-on): Likewise.
15141         * modules/memcmp (Depends-on): Likewise.
15142         * modules/mkdir (Depends-on): Likewise.
15143         * modules/mkdtemp (Depends-on): Likewise.
15144         * modules/mkfifo (Depends-on): Likewise.
15145         * modules/mkfifoat (Depends-on): Likewise.
15146         * modules/mknod (Depends-on): Likewise.
15147         * modules/mkostemp (Depends-on): Likewise.
15148         * modules/mkostemps (Depends-on): Likewise.
15149         * modules/mkstemp (Depends-on): Likewise.
15150         * modules/mkstemps (Depends-on): Likewise.
15151         * modules/mktime (Depends-on): Likewise.
15152         * modules/nanosleep (Depends-on): Likewise.
15153         * modules/open (Depends-on): Likewise.
15154         * modules/openat (Depends-on): Likewise.
15155         * modules/perror (Depends-on): Likewise.
15156         * modules/poll (Depends-on): Likewise.
15157         * modules/popen (Depends-on): Likewise.
15158         * modules/posix_spawn (Depends-on): Likewise.
15159         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
15160         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
15161         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
15162         * modules/posix_spawnp (Depends-on): Likewise.
15163         * modules/pread (Depends-on): Likewise.
15164         * modules/printf-posix (Depends-on): Likewise.
15165         * modules/ptsname (Depends-on): Likewise.
15166         * modules/putenv (Depends-on): Likewise.
15167         * modules/pwrite (Depends-on): Likewise.
15168         * modules/readline (Depends-on): Likewise.
15169         * modules/readlink (Depends-on): Likewise.
15170         * modules/readlinkat (Depends-on): Likewise.
15171         * modules/recv (Depends-on): Likewise.
15172         * modules/recvfrom (Depends-on): Likewise.
15173         * modules/regex (Depends-on): Likewise.
15174         * modules/remove (Depends-on): Likewise.
15175         * modules/rename (Depends-on): Likewise.
15176         * modules/renameat (Depends-on): Likewise.
15177         * modules/rmdir (Depends-on): Likewise.
15178         * modules/round (Depends-on): Likewise.
15179         * modules/roundf (Depends-on): Likewise.
15180         * modules/roundl (Depends-on): Likewise.
15181         * modules/rpmatch (Depends-on): Likewise.
15182         * modules/select (Depends-on): Likewise.
15183         * modules/send (Depends-on): Likewise.
15184         * modules/sendto (Depends-on): Likewise.
15185         * modules/setenv (Depends-on): Likewise.
15186         * modules/setlocale (Depends-on): Likewise.
15187         * modules/setsockopt (Depends-on): Likewise.
15188         * modules/shutdown (Depends-on): Likewise.
15189         * modules/sigaction (Depends-on): Likewise.
15190         * modules/signbit (Depends-on): Likewise.
15191         * modules/sigprocmask (Depends-on): Likewise.
15192         * modules/sinl (Depends-on): Likewise.
15193         * modules/sleep (Depends-on): Likewise.
15194         * modules/snprintf (Depends-on): Likewise.
15195         * modules/snprintf-posix (Depends-on): Likewise.
15196         * modules/socket (Depends-on): Likewise.
15197         * modules/sprintf-posix (Depends-on): Likewise.
15198         * modules/sqrtl (Depends-on): Likewise.
15199         * modules/stat (Depends-on): Likewise.
15200         * modules/strchrnul (Depends-on): Likewise.
15201         * modules/strdup-posix (Depends-on): Likewise.
15202         * modules/strerror (Depends-on): Likewise.
15203         * modules/strerror_r-posix (Depends-on): Likewise.
15204         * modules/strndup (Depends-on): Likewise.
15205         * modules/strnlen (Depends-on): Likewise.
15206         * modules/strptime (Depends-on): Likewise.
15207         * modules/strsep (Depends-on): Likewise.
15208         * modules/strsignal (Depends-on): Likewise.
15209         * modules/strstr-simple (Depends-on): Likewise.
15210         * modules/strtod (Depends-on): Likewise.
15211         * modules/strtoimax (Depends-on): Likewise.
15212         * modules/strtok_r (Depends-on): Likewise.
15213         * modules/strtoumax (Depends-on): Likewise.
15214         * modules/symlink (Depends-on): Likewise.
15215         * modules/symlinkat (Depends-on): Likewise.
15216         * modules/tanl (Depends-on): Likewise.
15217         * modules/tcgetsid (Depends-on): Likewise.
15218         * modules/tmpfile (Depends-on): Likewise.
15219         * modules/trunc (Depends-on): Likewise.
15220         * modules/truncf (Depends-on): Likewise.
15221         * modules/truncl (Depends-on): Likewise.
15222         * modules/uname (Depends-on): Likewise.
15223         * modules/unlink (Depends-on): Likewise.
15224         * modules/unlockpt (Depends-on): Likewise.
15225         * modules/unsetenv (Depends-on): Likewise.
15226         * modules/usleep (Depends-on): Likewise.
15227         * modules/utimensat (Depends-on): Likewise.
15228         * modules/vasprintf (Depends-on): Likewise.
15229         * modules/vdprintf (Depends-on): Likewise.
15230         * modules/vdprintf-posix (Depends-on): Likewise.
15231         * modules/vfprintf-posix (Depends-on): Likewise.
15232         * modules/vprintf-posix (Depends-on): Likewise.
15233         * modules/vsnprintf (Depends-on): Likewise.
15234         * modules/vsnprintf-posix (Depends-on): Likewise.
15235         * modules/vsprintf-posix (Depends-on): Likewise.
15236         * modules/wcrtomb (Depends-on): Likewise.
15237         * modules/wcscasecmp (Depends-on): Likewise.
15238         * modules/wcscspn (Depends-on): Likewise.
15239         * modules/wcsdup (Depends-on): Likewise.
15240         * modules/wcsncasecmp (Depends-on): Likewise.
15241         * modules/wcsnrtombs (Depends-on): Likewise.
15242         * modules/wcspbrk (Depends-on): Likewise.
15243         * modules/wcsrtombs (Depends-on): Likewise.
15244         * modules/wcsspn (Depends-on): Likewise.
15245         * modules/wcsstr (Depends-on): Likewise.
15246         * modules/wcstok (Depends-on): Likewise.
15247         * modules/wcswidth (Depends-on): Likewise.
15248         * modules/wctob (Depends-on): Likewise.
15249         * modules/wctomb (Depends-on): Likewise.
15250         * modules/wctype (Depends-on): Likewise.
15251         * modules/wcwidth (Depends-on): Likewise.
15252         * modules/write (Depends-on): Likewise.
15253
15254 2011-05-03  Bruno Haible  <bruno@clisp.org>
15255
15256         Support for conditional dependencies.
15257         * doc/gnulib.texi (Module description): Document the syntax of
15258         conditional dependencies.
15259         * gnulib-tool: New option --conditional-dependencies.
15260         (func_usage): Document it.
15261         (cond_dependencies): New variable.
15262         (func_get_automake_snippet_conditional,
15263         func_get_automake_snippet_unconditional): New functions, extracted from
15264         func_get_automake_snippet.
15265         (func_get_automake_snippet): Use them.
15266         (sed_first_32_chars): New variable.
15267         (func_module_shellfunc_name): New function.
15268         (func_module_shellvar_name): New function.
15269         (func_module_conditional_name): New function.
15270         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
15271         func_cond_module_condition): New functions.
15272         (func_modules_transitive_closure): Add support for conditional
15273         dependencies.
15274         (func_emit_lib_Makefile_am): For a conditional module, enclose the
15275         conditional automake snippet in an automake conditional.
15276         (func_emit_autoconf_snippets): Emit shell functions that contain the
15277         code for conditional modules.
15278         (func_import, func_create_testdir): Update specification.
15279
15280 2011-05-03  Eric Blake  <eblake@redhat.com>
15281
15282         test-getaddrinfo: report error information
15283         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
15284
15285 2011-05-03  Jim Meyering  <meyering@redhat.com>
15286
15287         bootstrap: avoid build failure when $GZIP is set
15288         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
15289         program name.  If defined at all, it is supposed to list gzip options.
15290         Reported by Alan Curry in http://debbugs.gnu.org/8609
15291
15292 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
15293
15294         readme-release: new module with release instructions
15295         * modules/readme-release: New module.
15296         * top/README-release: New file, from coreutils, grep, diffutils.
15297         * MODULES.html.sh (Support for maintaining and releasing): Add it.
15298
15299 2011-05-02  Eric Blake  <eblake@redhat.com>
15300
15301         fflush: also replace fclose when fixing fflush
15302         * modules/fflush (Depends-on): Add fclose.
15303         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
15304         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
15305         memstreams with no backing fd.
15306         * doc/posix-functions/fclose.texi (fclose): Document the use of
15307         fflush module to fix the bug.
15308         * tests/test-fclose.c (main): Relax test when fclose is used in
15309         isolation.
15310
15311         fclose: add some tests
15312         * modules/fclose-tests: New test module.
15313         * tests/test-fclose.c: New file.
15314         * doc/posix-functions/fclose.texi (fclose): Document the bug.
15315
15316         fclose: reduced dependencies
15317         * modules/fclose (Depends-on): Switch from fflush/fseeko to
15318         simpler lseek.
15319         * lib/fclose.c (rpl_fclose): Likewise.
15320         Reported by Simon Josefsson.
15321
15322         exit: drop remaining clients
15323         * modules/argmatch (Depends-on): Replace exit with stdlib.
15324         * modules/copy-file (Depends-on): Likewise.
15325         * modules/execute (Depends-on): Likewise.
15326         * modules/exitfail (Depends-on): Likewise.
15327         * modules/obstack (Depends-on): Likewise.
15328         * modules/pagealign_alloc (Depends-on): Likewise.
15329         * modules/pipe-filter-gi (Depends-on): Likewise.
15330         * modules/pipe-filter-ii (Depends-on): Likewise.
15331         * modules/savewd (Depends-on): Likewise.
15332         * modules/spawn-pipe (Depends-on): Likewise.
15333         * modules/wait-process (Depends-on): Likewise.
15334         * modules/xsetenv (Depends-on): Likewise.
15335         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
15336         * modules/git-merge-changelog (Depends-on): Likewise.
15337         * modules/long-options (Depends-on): Likewise.
15338         * modules/pt_chown (Depends-on): Likewise.
15339         * modules/sysexits (Depends-on): Likewise.
15340
15341         freading: relax license from LGPLv3+ to LGPLv2+
15342         * modules/freading (License): Relax LGPL version.
15343
15344 2011-05-02  Bruno Haible  <bruno@clisp.org>
15345
15346         fchdir: Remove unused dependencies.
15347         * modules/fchdir (Depends-on): Remove include_next.
15348
15349 2011-05-02  Bruno Haible  <bruno@clisp.org>
15350
15351         gnulib-tool: Refactor.
15352         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
15353         from func_emit_autoconf_snippets.
15354         (func_emit_autoconf_snippets): Use it.
15355
15356 2011-05-02  Simon Josefsson  <simon@josefsson.org>
15357
15358         * NEWS: Document removal of 'exit'.
15359         * modules/exit: Remove file.
15360
15361 2011-05-01  Bruno Haible  <bruno@clisp.org>
15362
15363         Update DEPENDENCIES.
15364         * DEPENDENCIES (gettext): Recommend the newest release.
15365         Reported by Simon Josefsson.
15366
15367 2011-05-01  Bruno Haible  <bruno@clisp.org>
15368
15369         gnulib-tool: Reduce code duplication.
15370         * gnulib-tool (func_emit_autoconf_snippets): New function.
15371         (func_import, func_create_testdir): Use it.
15372
15373 2011-04-30  Eric Blake  <eblake@redhat.com>
15374
15375         fclose: don't fail on non-seekable input stream
15376         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
15377         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
15378         since fflush is allowed to fail in that case.
15379
15380 2011-04-30  Bruno Haible  <bruno@clisp.org>
15381
15382         dup3: cleanup
15383         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
15384
15385 2011-04-30  Bruno Haible  <bruno@clisp.org>
15386
15387         netdb: Make it work in C++ mode.
15388         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
15389         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
15390         module.
15391         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
15392         gl_MODULE_INDICATOR_FOR_TESTS.
15393         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
15394         * modules/netdb-c++-tests: New file.
15395         * tests/test-netdb-c++.cc: New file.
15396
15397 2011-04-30  Bruno Haible  <bruno@clisp.org>
15398
15399         New modules 'vfscanf', 'vscanf'.
15400         * modules/vfscanf: New file.
15401         * modules/vscanf: New file.
15402         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
15403         here.
15404         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
15405         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
15406
15407 2011-04-30  Bruno Haible  <bruno@clisp.org>
15408
15409         passfd: Add comments.
15410         * lib/passfd.c: Add comments about platforms.
15411
15412 2011-04-30  Bruno Haible  <bruno@clisp.org>
15413
15414         sys_uio: Make <sys/uio.h> self-contained.
15415         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
15416         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
15417
15418 2011-04-30  Bruno Haible  <bruno@clisp.org>
15419
15420         sys_socket: Ensure 'struct iovec' definition.
15421         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
15422         <sys/socket.h>.
15423         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
15424
15425 2011-04-30  Bruno Haible  <bruno@clisp.org>
15426
15427         sys_uio: Protect definition of 'struct iovec'.
15428         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
15429         it as a C struct.
15430
15431 2011-04-30  Bruno Haible  <bruno@clisp.org>
15432
15433         manywarnings: fix indentation
15434         * m4/manywarnings.m4: Indent by 2 spaces consistently.
15435
15436 2011-04-30  Pádraig Brady <P@draigBrady.com>
15437
15438         manywarnings: add -Wno-missing-field-initializers if needed.
15439         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
15440         option if it's needed to allow initialization with { 0, }
15441
15442 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
15443
15444         announce-gen: cosmetic improvement
15445         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
15446
15447 2011-04-29  Jim Meyering  <meyering@redhat.com>
15448
15449         vc-list-files: indent with spaces, not TABs
15450         * build-aux/vc-list-files: Convert leading TABs to spaces,
15451         to match the style of most other files in gnulib.
15452
15453         announce-gen: indent with spaces, not TABs
15454         * build-aux/announce-gen: Convert all TABs to spaces, to match
15455         the style of most other files in gnulib.
15456
15457 2011-04-29  Eric Blake  <eblake@redhat.com>
15458
15459         quotearg: avoid uninitialized variable use
15460         * lib/quotearg.c (quoting_options_from_style): Initialize
15461         remaining fields, and ensure that custom styles are only used via
15462         quoting_options rather than quoting_style.
15463
15464 2011-04-29  Jim Meyering  <meyering@redhat.com>
15465
15466         maint.mk: remove unused VC-tag variable
15467         * top/maint.mk (VC-tag): Remove unused variable.
15468
15469 2011-04-29  Bruno Haible  <bruno@clisp.org>
15470
15471         netdb: fix gai_strerror replacements
15472         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
15473         * modules/netdb: Substitute it.
15474
15475 2011-04-29  Jim Meyering  <meyering@redhat.com>
15476
15477         test-getcwd.c: avoid new set-but-not-used warning
15478         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
15479         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
15480         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
15481         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
15482
15483         test-hash.c: avoid a new shadowing warning
15484         * tests/test-hash.c (main): Don't shadow "dup".
15485
15486 2011-04-28  Eric Blake  <eblake@redhat.com>
15487
15488         getaddrinfo: fix gai_strerror signature
15489         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
15490         and work around mingw with UNICODE defined.
15491         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
15492         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
15493         * modules/netdb (Makefile.am): Substitute it.
15494         * lib/netdb.in.h (gai_strerror): Declare replacement.
15495         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
15496         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
15497         the fix.
15498
15499         getsockopt: avoid compiler warning
15500         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
15501         Reported by Matthias Bolte.
15502
15503         tests: drop unused link dependency
15504         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
15505         * modules/dirent-safer-tests (Makefile.am): Likewise.
15506         * modules/fdopendir-tests (Makefile.am): Likewise.
15507         * modules/mkfifoat-tests (Makefile.am): Likewise.
15508         * modules/openat-safer-tests (Makefile.am): Likewise.
15509         * modules/openat-tests (Makefile.am): Likewise.
15510         * modules/readlinkat-tests (Makefile.am): Likewise.
15511         * modules/symlinkat-tests (Makefile.am): Likewise.
15512         * modules/linkat-tests (Makefile.am): Likewise.
15513         (Depends-on): Switch to filenamecat-lgpl.
15514         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
15515         LIBINTL.
15516         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
15517         * tests/test-linkat.c (main): Don't require xalloc.
15518
15519         hash, mgetgroups: drop xalloc dependency
15520         * lib/hash.c (includes): Adjust includes.
15521         * lib/mgetgroups.c (includes): Likewise.
15522         (xgetgroups): Move...
15523         * lib/xgetgroups.c: ...to new file.
15524         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
15525         * modules/xgetgroups: New file, split from...
15526         * modules/mgetgroups: ...here.
15527         (Depends-on): Add xalloc-oversized.
15528         * modules/hash (Depends-on): Likewise.
15529         * modules/hash-tests (Depends-on): Drop xalloc.
15530         (test_hash_LDADD): Drop unused library.
15531         * tests/test-hash.c (main): Break xalloc dependency.
15532         (includes): Drop unused include.
15533
15534         xalloc-oversized: new module
15535         * modules/xalloc-oversized: New module.
15536         * modules/xalloc (Depends-on): Add it.
15537         * lib/xalloc.h (xalloc_oversized): Move...
15538         * lib/xalloc-oversized.h: ...into new file.
15539
15540         utimecmp: drop dependency on xmalloc
15541         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
15542         due to memory pressure.
15543         * modules/utimecmp (Depends-on): Drop xalloc.
15544
15545 2011-04-27  Eric Blake  <eblake@redhat.com>
15546
15547         getcwd: fix mingw bugs
15548         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
15549         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
15550         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
15551
15552 2011-04-27  Bruno Haible  <bruno@clisp.org>
15553
15554         mkstemps: Ensure declaration on MacOS X 10.5.
15555         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
15556         * doc/glibc-functions/mkstemps.texi: Document header file problem on
15557         MacOS X.
15558
15559 2011-04-27  Bruno Haible  <bruno@clisp.org>
15560
15561         mkstemp: More documentation.
15562         * doc/posix-functions/mkstemp.texi: Document header file problem on
15563         MacOS X.
15564
15565 2011-04-27  Bruno Haible  <bruno@clisp.org>
15566
15567         mkstemp: Tweak configure message when cross-compiling.
15568         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
15569         result as a guess.
15570
15571 2011-04-27  Bruno Haible  <bruno@clisp.org>
15572
15573         clean-temp: Clarify what it does.
15574         * lib/clean-temp.h: Add more comments.
15575         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
15576         module.
15577         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
15578         * doc/glibc-functions/mkstemps.texi: Likewise.
15579         * doc/glibc-functions/mkostemps.texi: Likewise.
15580
15581 2011-04-27  Eric Blake  <eblake@redhat.com>
15582
15583         fchdir: avoid extra chdir and fix test
15584         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
15585         getcwd-lgpl.
15586         * lib/fchdir.c (get_name): Any absolute name will do; it does not
15587         have to be canonical.
15588         (canonicalize_file_name): Drop unused macro.
15589         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
15590
15591         filenamecat-lgpl: fix licence
15592         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
15593         when it was first created.
15594
15595         linkat, renameat: add missing dependency
15596         * modules/linkat (Depends-on): Require getcwd-lgpl.
15597         * modules/renameat (Depends-on): Likewise.
15598
15599         tests: reduce dependencies
15600         * tests/test-linkat.c (main): Use lighter-weight getcwd.
15601         * tests/test-renameat.c (main): Likewise.
15602         * modules/linkat-tests (Depends-on): Relax dependency.
15603         * modules/renameat-tests (Depends-on): Likewise.
15604         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
15605         dependency explicit.
15606
15607         save-cwd: reduce default dependency
15608         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
15609         * lib/save-cwd.c: Update comments.
15610         * NEWS: Document the semantic change.
15611
15612         getcwd: enhance tests
15613         * tests/test-getcwd-lgpl.c: New file, taken from...
15614         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
15615         repeat long path stress tests from m4 probe.
15616         * modules/getcwd-lgpl-tests: New module.
15617         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
15618         * m4/getcwd-abort-bug.m4: Update comment.
15619         * m4/getcwd-path-max.m4: Likewise.
15620
15621         getcwd-lgpl: new module
15622         * modules/getcwd-lgpl: New module.
15623         * lib/getcwd-lgpl.c: New file.
15624         * doc/posix-functions/getcwd.texi (getcwd): Document it.
15625         * MODULES.html.sh (lacking POSIX:2008): Likewise.
15626         * modules/getcwd (configure.ac): Set C witness.
15627         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
15628
15629         getcwd: tweak comments
15630         * m4/getcwd-abort-bug.m4: Fix comments.
15631         * m4/getcwd-path-max.m4: Likewise.
15632         * m4/getcwd.m4: Likewise.
15633
15634 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
15635         and Eric Blake  <eblake@redhat.com>
15636
15637         mkstemp: replace if system version uses wrong permissions
15638         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
15639         read/write mode bits set in file created by mkstemp.
15640         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
15641
15642 2011-04-27  Eric Blake  <eblake@redhat.com>
15643
15644         passfd: avoid compiler warning
15645         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
15646         Reported by Laine Stump.
15647
15648 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
15649
15650         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
15651         required by the NetBSD (and perhaps other 4.4BSD derived) join.
15652
15653 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
15654         and Eric Blake  <eblake@redhat.com>
15655
15656         mkstemp: mention clean-temp module
15657         * lib/mkstemp.c: Add comment.
15658         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
15659
15660 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
15661
15662         inttypes: also provide default values for 32-bit tests
15663         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
15664         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
15665
15666 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
15667
15668         strtoumax: remove dependency on strtoimax
15669         This is like the strtoull change of yesterday.
15670         * modules/strtoumax (Files): Add lib/strtoimax.c.
15671         (Depends-on): Remove strtoimax and add verify.
15672
15673         inttypes-incomplete: new module
15674         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
15675         all but the PRI* and SCN* parts of gl_INTTYPES_H.
15676         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
15677         of gl_INTTYPES_H.
15678         (gl_INTTYPES_H): Rewrite in terms of these new macros.
15679         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
15680         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
15681         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
15682         * modules/strtoumax, modules/xstrtol (Depends-on):
15683         Depend on inttypes-incomplete, not inttypes.
15684         * modules/inttypes-incomplete: New module, containing the contents
15685         of the old modules/inttypes module, except that the Files: section
15686         omits m4/inttypes-pri.m4, and the configure.ac section invokes
15687         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
15688         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
15689         (Depends-on): Depend only on inttypes-incomplete.
15690         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
15691
15692         inttypes: omit now-redundant strtoimax and strtoumax work
15693         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
15694         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
15695
15696         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
15697         This supports apps that need pointers to strtoimax and strtoumax,
15698         and ports to HP-UX 11.00 64.bit, which has macros that expand to
15699         nonexistent functions.  See
15700         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
15701         et seq.
15702         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
15703         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
15704         a macro.
15705         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
15706
15707 2011-04-25  Simon Josefsson  <simon@josefsson.org>
15708
15709         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
15710
15711 2011-04-25  Bruno Haible  <bruno@clisp.org>
15712
15713         strtol, strtoul: Mark modules as obsolete.
15714         * modules/strtol (Status, Notice): New sections.
15715         * modules/strtoul (Status, Notice): New sections.
15716
15717 2011-04-25  Bruno Haible  <bruno@clisp.org>
15718
15719         strtod: Remove check for strtod, unless supporting old platforms.
15720         * modules/strtod-obsolete: New file.
15721         * m4/strtod-obsolete.m4: New file.
15722         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
15723         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
15724         * modules/strtod (Depends-on): Add strtod-obsolete.
15725         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
15726
15727 2011-04-25  Bruno Haible  <bruno@clisp.org>
15728
15729         strcase: Make module obsolete.
15730         * modules/strcase (Status, Notice): New sections.
15731
15732 2011-04-25  Bruno Haible  <bruno@clisp.org>
15733
15734         dup2: Remove check for dup2, unless supporting old obsolete platforms.
15735         * modules/dup2-obsolete: New file.
15736         * m4/dup2-obsolete.m4: New file.
15737         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
15738         gl_FUNC_DUP2_OBSOLETE is not also defined.
15739         * modules/dup2 (Depends-on): Add dup2-obsolete.
15740         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
15741
15742 2011-04-25  Bruno Haible  <bruno@clisp.org>
15743
15744         strnlen: Avoid memchr related link error on old obsolete platforms.
15745         * modules/memchr-obsolete: New file.
15746         * m4/memchr-obsolete.m4: New file.
15747         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
15748         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
15749         * modules/memchr (Depends-on): Add memchr-obsolete.
15750         * modules/strnlen (Depends-on): Likewise.
15751         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
15752
15753 2011-04-25  Jim Meyering  <meyering@redhat.com>
15754
15755         maint.mk: makefile_at_at_check extend and clean up
15756         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
15757         in addition to */Makefile.am.
15758         Exempt legitimate uses of @VAR@ notation, e.g.,
15759         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
15760         Remove obsolete coreutils-specific comment.
15761         Prompted by discussion here:
15762         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
15763
15764 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
15765
15766         strtoul: remove dependency on strtol
15767         This is so that 'configure' need not check for strtol merely because
15768         the application needs strtoul.
15769         * modules/strtoul (Files): Add lib/strtol.c.
15770         (Depends-on): Remove strtol.
15771
15772         strtoull: remove dependency on strtoul
15773         This is like the strtoll change.
15774         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
15775         (Depends-on): Remove strtoul.
15776
15777         strtoll: remove dependency on strtol
15778         This is so that 'configure' need not check for strtol merely because
15779         the application needs strtoll.
15780         * modules/strtoll (Files): Add lib/strtol.c.
15781         (Depends-on): Remove strtol.
15782
15783 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15784
15785         inttypes: Move some configure check to module 'imaxdiv'.
15786         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
15787         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
15788         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
15789
15790 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15791
15792         inttypes: Move some configure check to module 'imaxabs'.
15793         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
15794         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
15795         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
15796
15797 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15798
15799         inttypes: Remove configure tests that are not needed since 2009-12-31.
15800         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
15801         gl_cv_header_working_inttypes_h.
15802
15803 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
15804
15805         * modules/strnlen (Depends-on): Remove memchr.
15806         The strnlen implementation doesn't need the memchr module's fixes; see
15807         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
15808
15809         strtol: remove dependency on wchar
15810         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
15811         * modules/strtol (Depends-on): Remove wchar.
15812
15813 2011-04-21  Eric Blake  <eblake@redhat.com>
15814
15815         passfd: fix test regression on Linux
15816         * modules/passfd-tests (configure.ac): Correct socketpair check.
15817
15818         passfd: speed up configure and drop unused code
15819         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
15820         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
15821         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
15822         Instead of probing at configure for unix_scm_rights_bsd44_way,
15823         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
15824         check to a struct member probe.
15825         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
15826         (sendfd, recvfd): Update preprocessor checks.
15827         * modules/passfd (Files): Reflect rename, and drop unused file.
15828         (Depends-on): Drop unused dependency.
15829
15830         passfd: allow compilation on mingw
15831         * modules/sys_socket (Depends-on): Add sys_uio.
15832         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
15833         iovec and a minimal struct msghdr.
15834         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
15835         * tests/test-sys_socket.c (main): Enhance test.
15836         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
15837         guaranteed to provide what we need.
15838         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
15839         * modules/passfd-tests (Depends-on): Add sys_wait.
15840         * tests/test-passfd.c (main): Skip test on mingw, for now.
15841         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
15842         partial 'struct msghdr' implementation.
15843
15844         sys_uio: new module
15845         * modules/sys_uio: New module.
15846         * modules/sys_uio-tests: Likewise.
15847         * lib/sys_uio.in.h: New file.
15848         * m4/sys_uio_h.m4: Likewise.
15849         * tests/test-sys_uio.c: Likewise.
15850         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
15851         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
15852
15853 2011-04-20  Jim Meyering  <meyering@redhat.com>
15854
15855         useless-if-before-free: avoid false-positive
15856         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
15857         disjunct so that it too requires a terminating ";".  Without that,
15858         this script would identify as useless one statement from gcc that
15859         was not:
15860           if (aligned_ptr)
15861             free (((void **) aligned_ptr) [-1]);
15862
15863 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
15864
15865         doc: update users.txt.
15866         * users.txt: Add barcode.
15867
15868 2011-04-19  Bruno Haible  <bruno@clisp.org>
15869
15870         ioctl: Remove link dependency on native Windows.
15871         * lib/fd-hook.h: Renamed from lib/close-hook.h.
15872         (gl_close_fn, gl_ioctl_fn): New types.
15873         (struct fd_hook): Renamed from struct close_hook. Change type of
15874         private_close_fn field. Add private_ioctl_fn field.
15875         (close_hook_fn): Add parameter for primary close method.
15876         (execute_close_hooks, execute_all_close_hooks): Likewise.
15877         (ioctl_hook_fn): New type.
15878         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
15879         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
15880         argument.
15881         (unregister_fd_hook): Renamed from unregister_close_hook.
15882         * lib/fd-hook.c: Renamed from lib/close-hook.c.
15883         Don't include <unistd.h>.
15884         (close): Remove undef.
15885         (anchor): Update.
15886         (execute_close_hooks): Add argument for primary close method.
15887         (execute_all_close_hooks): Likewise.
15888         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
15889         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
15890         argument. Allow each argument to be NULL.
15891         (unregister_fd_hook): Renamed from unregister_close_hook.
15892         * lib/close.c (rpl_close): Pass 'close' function pointer to
15893         execute_all_close_hooks.
15894         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
15895         (primary_ioctl): New function.
15896         (ioctl): Don't call ioctlsocket here. Instead, call
15897         execute_all_ioctl_hooks.
15898         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
15899         close method.
15900         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
15901         (fd_sockets_hook): Renamed from close_sockets_hook.
15902         (gl_sockets_startup, gl_sockets_cleanup): Update.
15903         * modules/fd-hook: Renamed from modules/close-hook. Update.
15904         * modules/close (Depends-on): Add fd-hook, remove close-hook.
15905         * modules/sockets (Depends-on): Likewise.
15906         * modules/ioctl (Depends-on): Add fd-hook.
15907         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
15908         GNULIB_SOCKET.
15909
15910 2011-04-19  Bruno Haible  <bruno@clisp.org>
15911
15912         Move the support of O_NONBLOCK in open() to the 'open' module.
15913         * modules/nonblocking (Depends-on): Remove 'open'.
15914         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
15915         gl_cv_have_open_O_NONBLOCK.
15916         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
15917         O_NONBLOCK support.
15918         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
15919
15920 2011-04-17  Bruno Haible  <bruno@clisp.org>
15921
15922         pipe2: Simplify code.
15923         * lib/pipe2.c (pipe2): Reduce code duplication.
15924
15925 2011-04-17  Bruno Haible  <bruno@clisp.org>
15926
15927         nonblocking: Add comment.
15928         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
15929
15930 2011-04-17  Bruno Haible  <bruno@clisp.org>
15931
15932         nonblocking: Add tests for sockets.
15933         * tests/test-nonblocking-socket.sh: New file.
15934         * tests/test-nonblocking-socket-main.c: New file.
15935         * tests/test-nonblocking-socket-child.c: New file.
15936         * tests/test-nonblocking-socket.h: New file.
15937         * tests/socket-server.h: New file.
15938         * tests/socket-client.h: New file.
15939         * modules/nonblocking-socket-tests: New file.
15940         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
15941
15942 2011-04-17  Bruno Haible  <bruno@clisp.org>
15943
15944         nonblocking: Add tests for pipes.
15945         * tests/test-nonblocking-pipe.sh: New file.
15946         * tests/test-nonblocking-pipe-main.c: New file.
15947         * tests/test-nonblocking-pipe-child.c: New file.
15948         * tests/test-nonblocking-pipe.h: New file.
15949         * tests/test-nonblocking-writer.h: New file.
15950         * tests/test-nonblocking-reader.h: New file.
15951         * tests/test-nonblocking-misc.h: New file.
15952         * modules/nonblocking-pipe-tests: New file.
15953         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
15954
15955 2011-04-16  Bruno Haible  <bruno@clisp.org>
15956
15957         gettext: Clarify the needed programmer actions.
15958         * modules/gettext (Notice): New field.
15959         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
15960
15961 2011-04-16  Bruno Haible  <bruno@clisp.org>
15962
15963         strchrnul: Tweak last commit.
15964         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
15965         bug.
15966         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
15967         as in _GL_FUNCDECL_SYS.
15968         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
15969         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
15970
15971 2011-04-15  Eric Blake  <eblake@redhat.com>
15972
15973         strchrnul: work around cygwin bug
15974         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
15975         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
15976         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
15977         * modules/string (Makefile.am): Substitute it.
15978         * lib/string.in.h (strchrnul): Use it.
15979
15980 2011-04-15  Bruno Haible  <bruno@clisp.org>
15981
15982         Don't require lib/stdio-write.c when only module 'stdio' is used.
15983         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
15984         invocation.
15985         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
15986
15987 2011-04-14  Bruno Haible  <bruno@clisp.org>
15988
15989         Support non-blocking pipe I/O in read() on native Windows.
15990         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
15991         (read): New declaration.
15992         * lib/read.c: New file.
15993         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
15994         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
15995         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
15996         vscanf): New declarations.
15997         * lib/stdio-read.c: New file.
15998         * m4/read.m4: New file.
15999         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
16000         REPLACE_READ.
16001         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
16002         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16003         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
16004         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
16005         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
16006         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16007         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
16008         * modules/read: New file.
16009         * modules/nonblocking (Files): Add lib/stdio-read.c.
16010         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
16011         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
16012         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
16013         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
16014         * modules/pread (Depends-on): Add read.
16015         * modules/safe-read (Depends-on): Likewise.
16016         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
16017         gets, scanf, vfscanf, vscanf): Verify signatures.
16018         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
16019         problem with non-blocking pipes.
16020         * doc/posix-functions/fgetc.texi: Likewise.
16021         * doc/posix-functions/fgets.texi: Likewise.
16022         * doc/posix-functions/fread.texi: Likewise.
16023         * doc/posix-functions/fscanf.texi: Likewise.
16024         * doc/posix-functions/getc.texi: Likewise.
16025         * doc/posix-functions/getchar.texi: Likewise.
16026         * doc/posix-functions/gets.texi: Likewise.
16027         * doc/posix-functions/scanf.texi: Likewise.
16028         * doc/posix-functions/vfscanf.texi: Likewise.
16029         * doc/posix-functions/vscanf.texi: Likewise.
16030
16031 2011-04-14  Bruno Haible  <bruno@clisp.org>
16032
16033         Support non-blocking pipe I/O in write() on native Windows.
16034         * lib/write.c (rpl_write): Split a write request that failed merely
16035         because the byte count was larger than the pipe buffer's size.
16036         * doc/posix-functions/write.texi: Mention the problem with large byte
16037         counts.
16038
16039 2011-04-14  Bruno Haible  <bruno@clisp.org>
16040
16041         wchar: Ensure that wchar_t gets defined on uClibc.
16042         * lib/wchar.in.h: On uClibc, include <stddef.h>.
16043         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
16044
16045 2011-04-13  Bruno Haible  <bruno@clisp.org>
16046
16047         safe-write, full-read: Avoid unnecessary compilation units.
16048         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
16049         (Depends-on): Remove safe-read. Add ssize_t.
16050         * modules/full-read (Files): Add lib/full-write.c.
16051         (Depends-on): Add full-write.
16052
16053 2011-04-13  Bruno Haible  <bruno@clisp.org>
16054
16055         Support non-blocking pipe I/O and SIGPIPE in pwrite().
16056         * modules/pwrite (Depends-on): Add 'write'.
16057
16058 2011-04-13  Bruno Haible  <bruno@clisp.org>
16059
16060         Support non-blocking pipe I/O in write() on native Windows.
16061         * lib/unistd.in.h (write): Enable replacement also if
16062         GNULIB_UNISTD_H_NONBLOCKING is 1.
16063         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
16064         (rpl_write): When failing to write on a non-blocking pipe, change
16065         errno from ENOSPC to EAGAIN.
16066         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
16067         putchar, puts, vfprintf, vprintf): Enable replacement also if
16068         GNULIB_STDIO_H_NONBLOCKING is 1.
16069         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
16070         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
16071         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
16072         CALL_WITH_SIGPIPE_EMULATION.
16073         (CALL_WITH_SIGPIPE_EMULATION): Use them.
16074         * m4/nonblocking.m4: New file.
16075         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
16076         for non-blocking I/O support.
16077         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
16078         GNULIB_UNISTD_H_NONBLOCKING.
16079         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
16080         required for non-blocking I/O support.
16081         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
16082         * modules/nonblocking (Files): Add m4/nonblocking.m4,
16083         lib/stdio-write.c, m4/asm-underscore.m4.
16084         (Depends-on): Add stdio, unistd.
16085         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
16086         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
16087         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
16088         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
16089         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
16090         problem with non-blocking pipes.
16091         * doc/posix-functions/fputc.texi: Likewise.
16092         * doc/posix-functions/fputs.texi: Likewise.
16093         * doc/posix-functions/fwrite.texi: Likewise.
16094         * doc/posix-functions/printf.texi: Likewise.
16095         * doc/posix-functions/putc.texi: Likewise.
16096         * doc/posix-functions/putchar.texi: Likewise.
16097         * doc/posix-functions/puts.texi: Likewise.
16098         * doc/posix-functions/vfprintf.texi: Likewise.
16099         * doc/posix-functions/vprintf.texi: Likewise.
16100         * doc/posix-functions/write.texi: Likewise.
16101
16102 2011-04-10  Jim Meyering  <meyering@redhat.com>
16103
16104         maint.mk: prohibit doubled words
16105         Detect them also when they're separated by a newline.
16106         There are 3 ways to customize it:
16107           - disable the test on a per file basis, as usual with rules using
16108             $(VC_LIST_EXCEPT)
16109           - replace the default doubled-word-selecting regexp (affects all files)
16110           - ignore a particular file-vs-doubled-word match
16111         I nearly used that last one to ignore the "is is" match in
16112         coreutils' NEWS file, since the text was "ls -is is ..."
16113         To do that, I would have added this line to cfg.mk:
16114           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
16115         but it would have ignored any "is is" match in NEWS.
16116         Low probability, but still...
16117         Instead, I changed the text, slightly:
16118           -  ls -is is now consistent with ls -lis in ignoring values returned
16119           +  "ls -is" is now consistent with ls -lis in ignoring values returned
16120         * top/maint.mk (prohibit_double_word_RE_): Provide default.
16121         (prohibit_doubled_word_): Define.
16122         (sc_prohibit_doubled_word): New rule.
16123         (sc_prohibit_the_the): Remove.  Subsumed by the above.
16124
16125 2011-04-10  Jim Meyering  <meyering@redhat.com>
16126
16127         maint: fix doubled-word typo in comment
16128         * m4/gethostname.m4: s/is is/it is/
16129         * m4/getdomainname.m4: Likewise.
16130
16131 2011-04-10  Jim Meyering  <meyering@redhat.com>
16132
16133         maint: remove doubled word: s/it it/it/
16134         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
16135
16136 2011-04-10  Jim Meyering  <meyering@redhat.com>
16137
16138         maint.mk: remove useless semicolon and backslash
16139         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
16140         semicolon and backslash.
16141
16142 2011-04-10  Bruno Haible  <bruno@clisp.org>
16143
16144         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
16145         * modules/stdint-tests (Depends-on): Add wchar.
16146
16147 2011-04-10  Jim Meyering  <meyering@redhat.com>
16148
16149         maint: remove doubled words in comments, e.g., s/a a/a/
16150         * lib/strptime.c (day_of_the_week): s/the the/the/
16151         * tests/test-chown.h (test_chown): s/a a/a/
16152
16153         test-chown.h: correct a cast
16154         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
16155         when the destination is a stat.st_gid.
16156
16157 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
16158
16159         getaddrinfo: Fix test for sa_len member.
16160         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
16161         include <sys/types.h> before <sys/socket.h>.
16162
16163 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
16164
16165         maint: change "can not" to "cannot"
16166         * doc/posix-functions/iconv.texi (iconv): This one crossed line
16167         boundaries.
16168
16169 2011-04-09  Jim Meyering  <meyering@redhat.com>
16170
16171         maint: change "a a" to "a"
16172         * tests/test-lchown.h (test_lchown): s/a a/a/
16173
16174         maint.mk: prohibit \<the the\>
16175         * top/maint.mk (sc_prohibit_the_the): New rule.
16176
16177         maint: fix "the the" in comment
16178         * lib/count-one-bits.h: s/the the/the/
16179
16180         maint: change "can not" to "cannot"
16181         But do not change the occurrences in maintain.texi or in
16182         build-aux/po/Makefile.in.in, which I presume comes from gettext.
16183         * doc/gnulib-tool.texi: s/can not/cannot/
16184         * doc/posix-functions/accept.texi (accept): Likewise.
16185         * doc/posix-functions/socket.texi (socket): Likewise.
16186         * lib/mbrtowc.c: Likewise.
16187
16188         maint.mk: prohibit use of "can not"
16189         * top/maint.mk (sc_prohibit_can_not): New rule.
16190         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
16191
16192 2011-04-09  Bruno Haible  <bruno@clisp.org>
16193
16194         careadlinkat: Guard against misuse of careadlinkatcwd.
16195         * lib/careadlinkat.c: Include <stdlib.h>.
16196         (careadlinkatcwd): Check that the fd argument is as expected.
16197
16198 2011-04-09  Bruno Haible  <bruno@clisp.org>
16199
16200         careadlinkat: Use common coding style.
16201         * lib/careadlinkat.c: Move gnulib includes after system includes.
16202
16203 2011-04-09  Bruno Haible  <bruno@clisp.org>
16204
16205         careadlinkat: Clarify specification.
16206         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
16207         (careadlinkatcwd): Add comment.
16208         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
16209
16210 2011-04-09  Bruno Haible  <bruno@clisp.org>
16211
16212         areadlinkat: Avoid link error on many platforms.
16213         * modules/areadlinkat (Depends-on): Add areadlink.
16214
16215 2011-04-09  Bruno Haible  <bruno@clisp.org>
16216
16217         allocator, careadlinkat: Fix double-inclusion guard.
16218         * lib/allocator.h: Fix double-inclusion guard.
16219         * lib/careadlinkat.h: Likewise.
16220
16221 2011-04-09  Bruno Haible  <bruno@clisp.org>
16222
16223         relocatable-prog-wrapper: Update after module 'areadlink' changed.
16224         * lib/relocwrapper.c: Update dependencies hierarchy.
16225         * build-aux/install-reloc: Update list of files to be compiled.
16226         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
16227         lib/allocator.[hc].
16228
16229 2011-04-08  Eric Blake  <eblake@redhat.com>
16230
16231         strftime: silence gnulib-tool warning
16232         * modules/strftime-tests (Depends-on): Drop automatic dependency.
16233
16234 2011-04-08  Bruno Haible  <bruno@clisp.org>
16235
16236         verify: Fix syntax error with GCC 4.6 in C++ mode.
16237         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
16238         (HAVE_STATIC_ASSERT): New macro.
16239         (verify_true, verify): Use 'static_assert' if it is supported and
16240         '_Static_assert' is not supported.
16241
16242 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
16243
16244         allocator: New module.
16245         * modules/allocator, lib/allocator.c: New files.
16246         * lib/allocator.h (stdlib_allocator): New decl.
16247         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
16248         Remove.  Do not include <stdlib.h>.
16249         (careadlinkat): Use stdlib_allocator instead of rolling our own.
16250         * modules/careadlinkat (Files): Remove lib/allocator.h.
16251         (Depends-on): Add allocator.
16252
16253         stdlib: let modules use system malloc, realloc
16254         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
16255         if !_GL_USE_STDLIB_ALLOC.
16256         (malloc, realloc): Limit this change to a smaller scope.
16257
16258         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
16259         (malloc, realloc): Don't #undef; no longer needed.
16260         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16261         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16262         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16263         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16264         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16265         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16266         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
16267         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
16268
16269         careadlinkat: rename members to avoid problem
16270         * lib/allocator.h (struct allocator): Rename members from
16271         malloc/realloc to allocate/reallocate, to avoid problems if malloc
16272         and realloc are #define'd.  Reported by Eric Blake in
16273         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
16274         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
16275
16276 2011-04-08  Eric Blake  <eblake@redhat.com>
16277
16278         nonblocking: reduce dependency
16279         * tests/test-nonblocking.c: Only test sockets when in use.
16280         * modules/nonblocking-tests (Depends-on): Drop socket.
16281         (Makefile.am): Link even if sockets are not present.
16282         * modules/pipe2-tests (Makefile.am): Likewise.
16283         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
16284
16285         pipe2: fix O_NONBLOCK support on mingw
16286         * modules/pipe2 (Depends-on): Add nonblocking.
16287         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
16288         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
16289         * tests/test-nonblocking.c (main): Likewise.
16290         * modules/pipe2-tests (Makefile.am): Avoid link failure.
16291
16292         fcntl-h: fix O_ACCMODE on cygwin
16293         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
16294         * lib/fcntl.in.h (O_ACCMODE): Fix it.
16295
16296         pipe-filter: drop O_NONBLOCK workarounds
16297         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
16298         * modules/pipe-filter-ii (Depends-on): Likewise.
16299         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
16300
16301         nonblocking: provide O_NONBLOCK for mingw
16302         * modules/nonblocking (Depends-on): Add open.
16303         (configure.ac): Set new witness macro.
16304         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
16305         * modules/fcntl-h (Makefile.am): Substitute it.
16306         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
16307         nonblocking module is in use.
16308         * lib/nonblocking.c: Adjust portability test.
16309         * lib/open.c (open): Don't let native open see gnulib flag.
16310         * tests/test-fcntl-h.c (main): Enhance test.
16311         * tests/test-open.h (test_open): Likewise.
16312         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
16313
16314         careadlinkat: fix compilation error on mingw
16315         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
16316         within struct allocator.
16317
16318 2011-04-06  Eric Blake  <eblake@redhat.com>
16319
16320         binary-io: relicense under LGPLv2+
16321         * modules/binary-io (License): Relax to LGPLv2+.
16322         Requested for libvirt, and required by pipe2.
16323
16324 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
16325
16326         verify: use _Static_assert if available
16327         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
16328         (verify_true, verify): Use it if available.  This generates better
16329         diagnostics with GCC 4.6.0 and later.
16330
16331 2011-04-05  Bruno Haible  <bruno@clisp.org>
16332
16333         Remove leftover generated .h files after config.status changed.
16334
16335         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
16336         GL_GENERATE_ALLOCA_H.
16337         * modules/alloca-opt (Makefile.am): Remove alloca.h if
16338         GL_GENERATE_ALLOCA_H evaluates to false.
16339
16340         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
16341         GL_GENERATE_ARGZ_H.
16342         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
16343         evaluates to false.
16344
16345         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
16346         GL_GENERATE_BYTESWAP_H.
16347         * modules/byteswap (Makefile.am): Remove byteswap.h if
16348         GL_GENERATE_BYTESWAP_H evaluates to false.
16349
16350         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
16351         GL_GENERATE_ERRNO_H.
16352         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
16353         evaluates to false.
16354
16355         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
16356         GL_GENERATE_FLOAT_H.
16357         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
16358         evaluates to false.
16359
16360         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
16361         GL_GENERATE_FNMATCH_H.
16362         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
16363         GL_GENERATE_FNMATCH_H evaluates to false.
16364
16365         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
16366         GL_GENERATE_GLOB_H.
16367         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
16368         evaluates to false.
16369
16370         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
16371         automake conditional GL_GENERATE_ICONV_H.
16372         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
16373         evaluates to false.
16374
16375         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
16376         GL_GENERATE_NETINET_IN_H.
16377         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
16378         GL_GENERATE_NETINET_IN_H evaluates to false.
16379
16380         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
16381         conditional GL_GENERATE_PTHREAD_H.
16382         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
16383         * modules/pthread (Makefile.am): Remove pthread.h if
16384         GL_GENERATE_PTHREAD_H evaluates to false.
16385
16386         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
16387         GL_GENERATE_SCHED_H.
16388         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
16389         evaluates to false.
16390
16391         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
16392         conditional GL_GENERATE_SELINUX_CONTEXT_H.
16393         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
16394         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
16395
16396         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
16397         GL_GENERATE_STDARG_H.
16398         * modules/stdarg (Makefile.am): Remove stdarg.h if
16399         GL_GENERATE_STDARG_H evaluates to false.
16400
16401         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
16402         GL_GENERATE_STDBOOL_H.
16403         * modules/stdbool (Makefile.am): Remove stdbool.h if
16404         GL_GENERATE_STDBOOL_H evaluates to false.
16405
16406         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
16407         conditional GL_GENERATE_STDDEF_H.
16408         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
16409         * modules/stddef (Makefile.am): Remove stddef.h if
16410         GL_GENERATE_STDDEF_H evaluates to false.
16411
16412         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
16413         GL_GENERATE_STDINT_H.
16414         * modules/stdint (Makefile.am): Remove stdint.h if
16415         GL_GENERATE_STDINT_H evaluates to false.
16416
16417         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
16418         GL_GENERATE_SYSEXITS_H.
16419         * modules/sysexits (Makefile.am): Remove sysexits.h if
16420         GL_GENERATE_SYSEXITS_H evaluates to false.
16421
16422         Reported by Karl Berry and Ralf Wildenhues.
16423
16424 2011-04-05  Bruno Haible  <bruno@clisp.org>
16425
16426         Ensure to rebuild generated .h files when config.status has changed.
16427         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
16428         config.status.
16429         * modules/ctype (Makefile.am): Likewise.
16430         * modules/dirent (Makefile.am): Likewise.
16431         * modules/errno (Makefile.am): Likewise.
16432         * modules/fcntl-h (Makefile.am): Likewise.
16433         * modules/float (Makefile.am): Likewise.
16434         * modules/getopt-posix (Makefile.am): Likewise.
16435         * modules/glob (Makefile.am): Likewise.
16436         * modules/iconv-h (Makefile.am): Likewise.
16437         * modules/inttypes (Makefile.am): Likewise.
16438         * modules/langinfo (Makefile.am): Likewise.
16439         * modules/locale (Makefile.am): Likewise.
16440         * modules/math (Makefile.am): Likewise.
16441         * modules/netdb (Makefile.am): Likewise.
16442         * modules/netinet_in (Makefile.am): Likewise.
16443         * modules/poll-h (Makefile.am): Likewise.
16444         * modules/pthread (Makefile.am): Likewise.
16445         * modules/pty (Makefile.am): Likewise.
16446         * modules/sched (Makefile.am): Likewise.
16447         * modules/search (Makefile.am): Likewise.
16448         * modules/selinux-h (Makefile.am): Likewise.
16449         * modules/signal (Makefile.am): Likewise.
16450         * modules/spawn (Makefile.am): Likewise.
16451         * modules/stdarg (Makefile.am): Likewise.
16452         * modules/stdbool (Makefile.am): Likewise.
16453         * modules/stddef (Makefile.am): Likewise.
16454         * modules/stdint (Makefile.am): Likewise.
16455         * modules/stdio (Makefile.am): Likewise.
16456         * modules/stdlib (Makefile.am): Likewise.
16457         * modules/string (Makefile.am): Likewise.
16458         * modules/strings (Makefile.am): Likewise.
16459         * modules/sys_file (Makefile.am): Likewise.
16460         * modules/sys_ioctl (Makefile.am): Likewise.
16461         * modules/sys_select (Makefile.am): Likewise.
16462         * modules/sys_socket (Makefile.am): Likewise.
16463         * modules/sys_stat (Makefile.am): Likewise.
16464         * modules/sys_time (Makefile.am): Likewise.
16465         * modules/sys_times (Makefile.am): Likewise.
16466         * modules/sys_utsname (Makefile.am): Likewise.
16467         * modules/sys_wait (Makefile.am): Likewise.
16468         * modules/sysexits (Makefile.am): Likewise.
16469         * modules/termios (Makefile.am): Likewise.
16470         * modules/time (Makefile.am): Likewise.
16471         * modules/unistd (Makefile.am): Likewise.
16472         * modules/wchar (Makefile.am): Likewise.
16473         * modules/wctype-h (Makefile.am): Likewise.
16474         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
16475
16476 2011-04-05  Bruno Haible  <bruno@clisp.org>
16477
16478         pipe2: Relicense under LGPLv2+.
16479         * modules/pipe2 (License): Change to LGPLv2+.
16480         Requested by Eric Blake, for libvirt.
16481
16482 2011-04-05  Bruce Korb  <bkorb@gnu.org>
16483
16484         bootstrap: compute gnulib_extra_files after updating build_aux
16485         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
16486         change build_aux or also supply gnulib_extra_files.  Handle correctly.
16487
16488 2011-04-05  Eric Blake  <eblake@redhat.com>
16489
16490         bootstrap: preserve git whitelist item sorting
16491         * build-aux/bootstrap (sort_patterns): New function.
16492         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
16493
16494 2011-04-05  Simon Josefsson  <simon@josefsson.org>
16495
16496         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
16497         sc_space_tab check.
16498
16499 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
16500
16501         areadlink, areadlinkat: rewrite in terms of careadlinkat
16502         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
16503         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
16504         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
16505         (malloc, realloc): Remove #undefs.
16506         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
16507         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
16508         readlink, ssize_t, stdint, unistd.
16509         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
16510         areadlink, stdint.
16511
16512         careadlinkat: new module
16513         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
16514         * modules/careadlinkat: New files, written by me with
16515         a review and feedback from Ben Pfaff in
16516         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
16517
16518 2011-04-01  Bruno Haible  <bruno@clisp.org>
16519
16520         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
16521         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
16522         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
16523         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
16524         Reported by Bruce Korb <bruce.korb@gmail.com>.
16525
16526 2011-04-01  Bruno Haible  <bruno@clisp.org>
16527
16528         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
16529         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
16530         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
16531         * modules/wcpcpy (Depends-on): Add extensions.
16532         * modules/wcpncpy (Depends-on): Likewise.
16533         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
16534         systems.
16535         * doc/posix-functions/wcpncpy.texi: Likewise.
16536         * doc/posix-functions/wcwidth.texi: Likewise.
16537
16538 2011-03-31  Eric Blake  <eblake@redhat.com>
16539
16540         nonblocking: fix mingw test failures
16541         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
16542         non-blocking flag on regular file.
16543         (get_nonblocking_flag): Set errno on invalid fd.
16544         * tests/test-nonblocking.c (main): Avoid test failure on
16545         directories if fchdir is not active.
16546         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
16547
16548 2011-03-31  Bruno Haible  <bruno@clisp.org>
16549
16550         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
16551         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
16552         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
16553         Reported by Simon Josefsson <simon@josefsson.org>.
16554
16555 2011-03-31  Bruno Haible  <bruno@clisp.org>
16556         and Eric Blake  <eblake@redhat.com>
16557
16558         nonblocking: new module
16559         * modules/nonblocking: New module.
16560         * modules/nonblocking-tests: Likewise.
16561         * lib/nonblocking.h: New file.
16562         * lib/nonblocking.c: Likewise.
16563         * tests/test-nonblocking.c: New test.
16564         * lib/ioctl.c (ioctl) [mingw]: Update comment.
16565
16566 2011-03-30  Bruno Haible  <bruno@clisp.org>
16567
16568         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
16569         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
16570         instead of 'printf' format for GCC >= 4.4.
16571         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
16572         (fprintf, printf, vfprintf, vprintf): Declare with
16573         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
16574         the system's vfprintf() function.
16575         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
16576
16577 2011-03-30  Eric Blake  <eblake@redhat.com>
16578
16579         passfd: fix scoping bug
16580         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
16581         before sendmsg/recvmsg.
16582
16583         passfd: standardize coding conventions
16584         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
16585         can be learned at compile time.
16586         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
16587         ifdefs.
16588         (sendfd, recvfd): Follow gnulib code conventions.
16589
16590         passfd: fix incorrect sendmsg arguments
16591         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
16592         incorrect msg_controllen value.
16593         * modules/passfd-tests (Depends-on): Check for alarm.
16594         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
16595         Reported by Bastien ROUCARIES.
16596
16597 2011-03-30  Bruno Haible  <bruno@clisp.org>
16598
16599         c-strcasestr: Relicense under LGPLv2+.
16600         * modules/c-strcasestr (License): Change to LGPLv2+.
16601         Requested by Eric Blake, for libvirt.
16602
16603 2011-03-30  Simon Josefsson  <simon@josefsson.org>
16604
16605         * users.txt: Add libidn2.  Fix libtasn1 link.
16606
16607 2011-03-30  Jim Meyering  <meyering@redhat.com>
16608
16609         tests: readlink* ("",... fails with EINVAL on newer kernels
16610         readlink and readlinkat have typically failed with ENOENT for
16611         the invalid, empty file name,  "".  However, with the advent
16612         of linux-2.6.39, they fail with EINVAL.
16613         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
16614         when operating on the empty file name.
16615         * tests/test-readlink.h (test_readlink): Likewise.
16616
16617 2011-03-29  Bruno Haible  <bruno@clisp.org>
16618
16619         Relicense some modules under LGPLv2+, for libidn2.
16620         * modules/array-mergesort (License): Change to LGPLv2+.
16621         * modules/c-strcaseeq (License): Likewise.
16622         * modules/striconveh (License): Likewise.
16623         * modules/striconveha (License): Likewise.
16624         * modules/uniconv/base (License): Likewise.
16625         * modules/uniconv/u8-conv-from-enc (License): Likewise.
16626         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
16627         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
16628         * modules/unictype/base (License): Likewise.
16629         * modules/unictype/bidiclass-of (License): Likewise.
16630         * modules/unictype/category-M (License): Likewise.
16631         * modules/unictype/category-none (License): Likewise.
16632         * modules/unictype/category-of (License): Likewise.
16633         * modules/unictype/category-test (License): Likewise.
16634         * modules/unictype/category-test-withtable (License): Likewise.
16635         * modules/unictype/combining-class (License): Likewise.
16636         * modules/unictype/joiningtype-of (License): Likewise.
16637         * modules/unictype/scripts (License): Likewise.
16638         * modules/uninorm/base (License): Likewise.
16639         * modules/uninorm/canonical-decomposition (License): Likewise.
16640         * modules/uninorm/composition (License): Likewise.
16641         * modules/uninorm/decompose-internal (License): Likewise.
16642         * modules/uninorm/decomposition-table (License): Likewise.
16643         * modules/uninorm/nfc (License): Likewise.
16644         * modules/uninorm/nfd (License): Likewise.
16645         * modules/uninorm/u32-normalize (License): Likewise.
16646         * modules/unistr/base (License): Likewise.
16647         * modules/unistr/u32-cpy (License): Likewise.
16648         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
16649         * modules/unistr/u32-to-u8 (License): Likewise.
16650         * modules/unistr/u32-uctomb (License): Likewise.
16651         * modules/unistr/u8-check (License): Likewise.
16652         * modules/unistr/u8-mblen (License): Likewise.
16653         * modules/unistr/u8-mbtouc (License): Likewise.
16654         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
16655         * modules/unistr/u8-mbtoucr (License): Likewise.
16656         * modules/unistr/u8-prev (License): Likewise.
16657         * modules/unistr/u8-strlen (License): Likewise.
16658         * modules/unistr/u8-to-u32 (License): Likewise.
16659         * modules/unistr/u8-uctomb (License): Likewise.
16660         * modules/unitypes (License): Likewise.
16661         Requested by Simon Josefsson.
16662
16663 2011-03-29  Simon Josefsson  <simon@josefsson.org>
16664
16665         lib-symbol-visibility: Add a notice.
16666         * modules/lib-symbol-visibility (Notice): New field.
16667
16668 2011-03-29  Bruno Haible  <bruno@clisp.org>
16669
16670         getaddrinfo: Doc fix.
16671         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
16672         section "fixed in Gnulib".
16673
16674 2011-03-28  Simon Josefsson  <simon@josefsson.org>
16675
16676         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
16677         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
16678
16679 2011-03-26  Bruno Haible  <bruno@clisp.org>
16680
16681         unictype/property-byname: Reduce the number of load-time relocations.
16682         * lib/unictype/pr_byname.c: Include <stdlib.h>.
16683         (UC_PROPERTY_INDEX_*): New enumeration values.
16684         (uc_property_byname): Convert an index from the lookup table to an
16685         uc_property_t.
16686         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
16687         values.
16688
16689 2011-03-26  Bruno Haible  <bruno@clisp.org>
16690
16691         unictype/property-byname: Allow omitted word separators and aliases.
16692         * lib/unictype/pr_byname.gperf: Add property names without word
16693         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
16694         for 'space'.
16695
16696 2011-03-26  Bruno Haible  <bruno@clisp.org>
16697
16698         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
16699         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
16700         also hyphens to space.
16701         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
16702         without spaces.
16703         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
16704
16705 2011-03-26  Bruno Haible  <bruno@clisp.org>
16706
16707         unictype/joiningtype-byname: Recognize long names as well.
16708         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
16709         a long name.
16710         * lib/unictype/joiningtype_byname.c: Include <string.h>,
16711         unictype/joiningtype_byname.h.
16712         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
16713         * lib/unictype/joiningtype_byname.gperf: New file.
16714         * modules/unictype/joiningtype-byname (Files): Add
16715         lib/unictype/joiningtype_byname.gperf.
16716         (Depends-on): Add gperf.
16717         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
16718         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
16719         long names.
16720
16721         Tests for module 'unictype/joiningtype-longname'.
16722         * modules/unictype/joiningtype-longname-tests: New file.
16723         * tests/unictype/test-joiningtype_longname.c: New file.
16724
16725         New module 'unictype/joiningtype-longname'.
16726         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
16727         * lib/unictype/joiningtype_longname.c: New file.
16728         * modules/unictype/joiningtype-longname: New file.
16729         * modules/unictype/joiningtype-all (Depends-on): Add
16730         unictype/joiningtype-longname.
16731
16732 2011-03-26  Bruno Haible  <bruno@clisp.org>
16733
16734         unictype/bidiclass-byname: Recognize long names as well.
16735         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
16736         name.
16737         * lib/unictype/bidi_byname.c: Include <string.h>,
16738         unictype/bidi_byname.h.
16739         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
16740         * lib/unictype/bidi_byname.gperf: New file.
16741         * modules/unictype/bidiclass-byname (Files): Add
16742         lib/unictype/bidi_byname.gperf.
16743         (Depends-on): Add gperf.
16744         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
16745         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
16746         long names.
16747
16748         Tests for module 'unictype/bidiclass-longname'.
16749         * modules/unictype/bidiclass-longname-tests: New file.
16750         * tests/unictype/test-bidi_longname.c: New file.
16751
16752         New module 'unictype/bidiclass-longname'.
16753         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
16754         * lib/unictype/bidi_longname.c: New file.
16755         * modules/unictype/bidiclass-longname: New file.
16756         * modules/unictype/bidiclass-all (Depends-on): Add
16757         unictype/bidiclass-longname.
16758
16759 2011-03-26  Bruno Haible  <bruno@clisp.org>
16760
16761         unictype/bidi*: Rename modules.
16762         * modules/unictype/bidiclass-all: Renamed from
16763         modules/unictype/bidicategory-all.
16764         * modules/unictype/bidiclass-name: Renamed from
16765         modules/unictype/bidiclass-name.
16766         (Description): Update.
16767         * modules/unictype/bidiclass-name-tests: Renamed from
16768         modules/unictype/bidicategory-name-tests.
16769         * modules/unictype/bidiclass-byname: Renamed from
16770         modules/unictype/bidicategory-byname.
16771         (Description): Update.
16772         * modules/unictype/bidiclass-byname-tests: Renamed from
16773         modules/unictype/bidicategory-byname-tests.
16774         * modules/unictype/bidiclass-of: Renamed from
16775         modules/unictype/bidicategory-of.
16776         (Description): Update.
16777         * modules/unictype/bidiclass-of-tests: Renamed from
16778         modules/unictype/bidicategory-of-tests.
16779         * modules/unictype/bidiclass-test: Renamed from
16780         modules/unictype/bidicategory-test.
16781         (Description): Update.
16782         * modules/unictype/bidiclass-test-tests: Renamed from
16783         modules/unictype/bidicategory-test-tests.
16784         * modules/unictype/bidicategory-all: New file, a simple redirection.
16785         * modules/unictype/bidicategory-name: Likewise.
16786         * modules/unictype/bidicategory-byname: Likewise.
16787         * modules/unictype/bidicategory-of: Likewise.
16788         * modules/unictype/bidicategory-test: Likewise.
16789         * modules/unictype/property-bidi-* (Dependencies): Update.
16790         * lib/unictype/bidi_*.c: Update comment.
16791
16792 2011-03-26  Bruno Haible  <bruno@clisp.org>
16793
16794         unictype/bidi*: Rename functions, part 2.
16795         * modules/unictype/bidicategory-name (configure.ac): Update required
16796         libunistring version.
16797         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
16798
16799 2011-03-25  Bruno Haible  <bruno@clisp.org>
16800
16801         New module 'unictype/combining-class-all'.
16802         * modules/unictype/combining-class-all: New file.
16803
16804         Tests for module 'unictype/combining-class-byname'.
16805         * modules/unictype/combining-class-byname-tests: New file.
16806         * tests/unictype/test-combiningclass_byname.c: New file.
16807
16808         New module 'unictype/combining-class-byname'.
16809         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
16810         * lib/unictype/combiningclass_byname.c: New file.
16811         * lib/unictype/combiningclass_byname.gperf: New file.
16812         * modules/unictype/combining-class-byname: New file.
16813
16814         Tests for module 'unictype/combining-class-longname'.
16815         * modules/unictype/combining-class-longname-tests: New file.
16816         * tests/unictype/test-combiningclass_longname.c: New file.
16817
16818         New module 'unictype/combining-class-longname'.
16819         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
16820         * lib/unictype/combiningclass_longname.c: New file.
16821         * modules/unictype/combining-class-longname: New file.
16822
16823         Tests for module 'unictype/combining-class-name'.
16824         * modules/unictype/combining-class-name-tests: New file.
16825         * tests/unictype/test-combiningclass_name.c: New file.
16826
16827         New module 'unictype/combining-class-name'.
16828         * lib/unictype.in.h (uc_combining_class_name): New declaration.
16829         * lib/unictype/combiningclass_name.c: New file.
16830         * modules/unictype/combining-class-name: New file.
16831
16832 2011-03-25  Bruno Haible  <bruno@clisp.org>
16833
16834         unictype/combining-class: Rename source files.
16835         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
16836         of unictype/combining.h.
16837         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
16838         Update.
16839         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
16840         * modules/unictype/combining-class (Description): Fix.
16841         (Files, Makefile.am): Update.
16842         * tests/unictype/test-combiningclass.c: Renamed from
16843         tests/unictype/test-combining.c.
16844         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
16845
16846 2011-03-25  Bruno Haible  <bruno@clisp.org>
16847
16848         unictype: Update list of canonical combining classes.
16849         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
16850
16851 2011-03-25  Bruno Haible  <bruno@clisp.org>
16852
16853         unictype/category-byname: Recognize long names as well.
16854         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
16855         a long name.
16856         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
16857         unictype/categ_byname.h.
16858         (UC_CATEGORY_INDEX_*): New enumeration values.
16859         (uc_general_category_byname): Use uc_general_category_lookup and
16860         convert from index to value.
16861         * lib/unictype/categ_byname.gperf: New file.
16862         * modules/unictype/category-byname (Files): Add
16863         lib/unictype/categ_byname.gperf.
16864         (Depends-on): Add gperf.
16865         (Makefile.am): Add rule for generating unictype/categ_byname.h.
16866         * tests/unictype/test-categ_byname.c (main): Test the recognition of
16867         long names.
16868
16869         Tests for module 'unictype/category-longname'.
16870         * modules/unictype/category-longname-tests: New file.
16871         * tests/unictype/test-categ_longname.c: New file.
16872
16873         New module 'unictype/category-longname'.
16874         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
16875         * lib/unictype/categ_longname.c: New file.
16876         * modules/unictype/category-longname: New file.
16877         * modules/unictype/category-all (Depends-on): Add it.
16878
16879 2011-03-25  Bruno Haible  <bruno@clisp.org>
16880
16881         Tests for module 'unictype/category-LC'.
16882         * modules/unictype/category-LC-tests: New file.
16883         * tests/unictype/test-categ_LC.c: New file, automatically generated.
16884
16885         New module 'unictype/category-LC'.
16886         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
16887         (UC_CATEGORY_LC): New declaration.
16888         (UC_CASED_LETTER): New macro.
16889         * lib/gen-uni-tables.c (is_category_LC): New function.
16890         (output_categories): Also handle category LC.
16891         (UC_CATEGORY_MASK_LC): New enumeration value.
16892         (general_category_byname): Also handle category LC.
16893         * lib/unictype/categ_LC.c: New file.
16894         * lib/unictype/categ_LC.h: New file, automatically generated.
16895         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
16896         category LC.
16897         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
16898         * modules/unictype/category-LC: New file.
16899         * modules/unictype/category-byname (Depends-on): Add
16900         unictype/category-LC.
16901         * modules/unictype/category-all (Depends-on): Likewise.
16902
16903 2011-03-25  Eric Blake  <eblake@redhat.com>
16904
16905         xmalloc: revert yesterday's regression
16906         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
16907         realloc's underlying behavior (allowing allocation of zero-size
16908         objects, especially if malloc-gnu is also in use).
16909
16910 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
16911
16912         maint.mk: add missing version to VC-tag
16913         * top/maint.mk: git tag was missing actual tag name; add it.
16914
16915         valgrind: do leak checking, and exit with code 1 on error (not 0)
16916         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
16917         to VALGRIND.
16918
16919 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
16920
16921         posix-modules: say what it does.
16922         * posix-modules: Add a line to the --help output saying what it does.
16923
16924 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
16925
16926         xmalloc: Do not leak if underlying realloc is C99 compatible.
16927         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
16928         This avoids a leak on C99-based systems.  See
16929         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
16930
16931 2011-03-24  Eric Blake  <eblake@redhat.com>
16932
16933         realloc: document portability problem
16934         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
16935         passing 0 size to realloc.
16936
16937 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
16938
16939         doc: update users.txt
16940         * users.txt: Add cvsps, tmpwatch
16941
16942 2011-03-23  Matt Rice  <ratmice@gmail.com>
16943
16944         doc: update users.txt
16945         * users.txt: Add gdb.
16946
16947 2011-03-23  Jim Meyering  <meyering@redhat.com>
16948
16949         doc: update users.txt
16950         Looking through matches up to the following URL (there are still
16951         several more pages), I found several projects that use gnulib:
16952         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
16953         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
16954         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
16955
16956 2011-03-22  Bruno Haible  <bruno@clisp.org>
16957
16958         unictype/bidi*: Rename functions.
16959         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
16960         uc_bidi_class, uc_is_bidi_class): New declarations.
16961         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
16962         uc_bidi_category_byname.
16963         (uc_bidi_category_byname): New function.
16964         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
16965         u_bidi_category_name.
16966         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
16967         (uc_bidi_category_name): New function.
16968         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
16969         uc_bidi_category.
16970         (uc_bidi_category): New function.
16971         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
16972         uc_is_bidi_category. Invoke uc_bidi_class.
16973         (uc_is_bidi_category): New function.
16974         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
16975         instead of uc_bidi_category_byname.
16976         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
16977         instead of uc_bidi_category_name.
16978         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
16979         uc_bidi_category.
16980         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
16981         instead of uc_is_bidi_category.
16982
16983 2011-03-21  Bruno Haible  <bruno@clisp.org>
16984
16985         New module 'unictype/joininggroup-all'.
16986         * modules/unictype/joininggroup-all: New file.
16987
16988         Tests for module 'unictype/joininggroup-of'.
16989         * modules/unictype/joininggroup-of-tests: New file.
16990         * tests/unictype/test-joininggroup_of.c: New file.
16991         * tests/unictype/test-joininggroup_of.h: New file, automatically
16992         generated by gen-uni-tables.
16993
16994         New module 'unictype/joininggroup-of'.
16995         * modules/unictype/joininggroup-of: New file.
16996         * lib/unictype/joininggroup_of.c: New file.
16997         * lib/unictype/joininggroup_of.h: New file, automatically generated by
16998         gen-uni-tables.
16999
17000         Tests for module 'unictype/joininggroup-byname'.
17001         * modules/unictype/joininggroup-byname-tests: New file.
17002         * tests/unictype/test-joininggroup_byname.c: New file.
17003
17004         New module 'unictype/joininggroup-byname'.
17005         * modules/unictype/joininggroup-byname: New file.
17006         * lib/unictype/joininggroup_byname.c: New file.
17007         * lib/unictype/joininggroup_byname.gperf: New file.
17008
17009         Tests for module 'unictype/joininggroup-name'.
17010         * modules/unictype/joininggroup-name-tests: New file.
17011         * tests/unictype/test-joininggroup_name.c: New file.
17012
17013         New module 'unictype/joininggroup-name'.
17014         * modules/unictype/joininggroup-name: New file.
17015         * lib/unictype/joininggroup_name.c: New file.
17016         * lib/unictype/joininggroup_name.h: New file.
17017
17018         New module 'unictype/joiningtype-all'.
17019         * modules/unictype/joiningtype-all: New file.
17020
17021         Tests for module 'unictype/joiningtype-of'.
17022         * modules/unictype/joiningtype-of-tests: New file.
17023         * tests/unictype/test-joiningtype_of.c: New file.
17024         * tests/unictype/test-joiningtype_of.h: New file, automatically
17025         generated by gen-uni-tables.
17026
17027         New module 'unictype/joiningtype-of'.
17028         * modules/unictype/joiningtype-of: New file.
17029         * lib/unictype/joiningtype_of.c: New file.
17030         * lib/unictype/joiningtype_of.h: New file, automatically generated by
17031         gen-uni-tables.
17032
17033         Tests for module 'unictype/joiningtype-byname'.
17034         * modules/unictype/joiningtype-byname-tests: New file.
17035         * tests/unictype/test-joiningtype_byname.c: New file.
17036
17037         New module 'unictype/joiningtype-byname'.
17038         * modules/unictype/joiningtype-byname: New file.
17039         * lib/unictype/joiningtype_byname.c: New file.
17040
17041         Tests for module 'unictype/joiningtype-name'.
17042         * modules/unictype/joiningtype-name-tests: New file.
17043         * tests/unictype/test-joiningtype_name.c: New file.
17044
17045         New module 'unictype/joiningtype-name'.
17046         * modules/unictype/joiningtype-name: New file.
17047         * lib/unictype/joiningtype_name.c: New file.
17048
17049         unictype: Add support for Arabic shaping properties.
17050         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
17051         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
17052         declarations.
17053         (UC_JOINING_GROUP_*): New enumeration values.
17054         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
17055         declarations.
17056         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
17057         (unicode_joining_type): New variable.
17058         (UC_JOINING_GROUP_*): New enumeration values.
17059         (unicode_joining_group): New variable.
17060         (fill_arabicshaping, joining_type_as_c_identifier,
17061         output_joining_type_test, output_joining_type,
17062         joining_group_as_c_identifier, output_joining_group_test,
17063         output_joining_group): New functions.
17064         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
17065         fill_arabicshaping and output_joining_type_test, output_joining_type,
17066         output_joining_group_test, output_joining_group.
17067         Reported by Simon Josefsson.
17068
17069 2011-03-21  Jim Meyering  <meyering@redhat.com>
17070
17071         strftime: fix a bug in yesterday's change
17072         * lib/strftime.c (add): Accommodate width's initial value of -1.
17073         Otherwise, nstrftime would copy uninitialized data into
17074         the result buffer.
17075
17076 2011-03-21  Jim Meyering  <meyering@redhat.com>
17077
17078         tests: add strftime-tests module
17079         * tests/test-strftime.c: New file.
17080         * modules/strftime-tests: New module.
17081
17082 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17083
17084         strftime: don't assume a byte count fits in 'int'
17085         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
17086         found this problem by static analysis, using gcc -Wstrict-overflow
17087         (GCC 4.5.2, x86-64).  This reported an optimization that depended
17088         on an integer overflow having undefined behavior, but it turns out
17089         that the argument is a size, which might not fit in 'int' anyway,
17090
17091 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17092
17093         stdio: don't require ignore_value around fwrite
17094
17095         This patch works around libc bug 11959
17096         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
17097         Without this patch, applications must often write
17098         ignore_value (fwrite (...)) even though the ignore_value is
17099         not helpful here.  It's common to write many objects, using
17100         fwrite/printf/etc., and then use ferror to detect output error.
17101
17102         I considered making this patch optional, but decided against it,
17103         because libc is obviously being inconsistent here: there is no
17104         reason libc should insist that user code must inspect fwrite
17105         return's value without also insisting that it inspect printf's,
17106         putchar's, etc.  If user code wants to have a strict style where
17107         all these functions' values are checked (so that ferror need not
17108         be checked), we could add support for that style in a new gnulib
17109         module, but in the meantime it's better to be consistent and to
17110         support common usage.
17111
17112         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
17113         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
17114         that we are compiling in checking mode, and if not C++, and
17115         if not already wrapping fwrite for some other reason.
17116         (fwrite): #define to rpl_fwrite if the latter is defined.
17117
17118 2011-03-20  Bruno Haible  <bruno@clisp.org>
17119
17120         verror: Fix compilation error introduced on 2011-02-13.
17121         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
17122         instead of __attribute__.
17123         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
17124
17125 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
17126             Bruno Haible  <bruno@clisp.org>
17127
17128         socklen: do not depend on sys_socket
17129         While trying to modify Emacs to use gnulib's socklen module,
17130         I discovered a circular dependency: socklen depends on sys_socket
17131         and vice versa.  Emacs can use socklen, but it does not need
17132         sys_socket because it has its own substitute for sys/socket.h.
17133         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
17134         gl_TYPE_SOCKLEN_T.
17135         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
17136         gl_PREREQ_SYS_H_SOCKET.
17137         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
17138         gl_PREREQ_SYS_H_SOCKET.
17139         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
17140         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
17141         * modules/socklen (Depends-on): Do not depend on sys_socket.
17142         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
17143
17144 2011-03-20  Jim Meyering  <meyering@redhat.com>
17145
17146         maint.mk: sort file names *after* new transformation
17147         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
17148         prefix would have led to an unwarranted failure in GNU parted.
17149         Sort after that transformation.
17150
17151 2011-03-19  Jim Meyering  <meyering@redhat.com>
17152
17153         maint.mk: fix po-file syntax-check rule
17154         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
17155         Patch by Bruno Haible.
17156
17157 2011-03-19  Bruno Haible  <bruno@clisp.org>
17158
17159         socklen: Update comment.
17160         * m4/socklen.m4: Update comment about platforms.
17161
17162 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17163             Bruno Haible  <bruno@clisp.org>
17164
17165         inet_ntop, inet_pton: Simplify.
17166         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
17167         documented to provide socklen_t and we already depend on sys_socket.
17168         * modules/inet_pton (Depends-on): Likewise.
17169         * lib/arpa_inet.in.h: Adjust comment.
17170
17171 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
17172             Bruno Haible  <bruno@clisp.org>
17173
17174         netdb: Simplify.
17175         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
17176         documented to provide socklen_t and we already depend on sys_socket.
17177         * lib/netdb.in.h: Adjust comment.
17178
17179 2011-03-19  Bruno Haible  <bruno@clisp.org>
17180
17181         sys_socket, netdb: Document problem with socklen_t.
17182         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
17183         platforms.
17184         * doc/posix-headers/netdb.texi: Likewise.
17185
17186 2011-03-18  Eric Blake  <eblake@redhat.com>
17187
17188         maint.mk: let po check work in VPATH build
17189         * top/maint.mk (po_file): Allow cfg.mk override.
17190         (sc_po_check): Allow VPATH use.
17191         Reported by Jiri Denemark.
17192
17193 2011-03-16  Jim Meyering  <meyering@redhat.com>
17194
17195         maint.mk: allow fine-grained syntax-check exclusion via Make variables
17196         Before, you would have had to create one .x-sc_ file per rule in order
17197         to exempt offending files.  Now, you may instead use a Make variable --
17198         usually defined in cfg.mk -- whose name identifies the affected rule.
17199         * top/maint.mk (_sc_excl): Define.
17200         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
17201         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
17202
17203 2011-03-13  Bruno Haible  <bruno@clisp.org>
17204
17205         ignore-value tests: Avoid warnings.
17206         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
17207         empty for gcc < 3.4.
17208
17209 2011-03-13  Bruno Haible  <bruno@clisp.org>
17210
17211         passfd: Fix link error on Solaris.
17212         * modules/passfd (Description): Correct.
17213         (Depends-on): Add socketlib.
17214         (Link): New section.
17215         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
17216
17217 2011-03-13  Bruno Haible  <bruno@clisp.org>
17218
17219         passfd: Fix link error on AIX 5.2.
17220         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
17221
17222 2011-03-13  Bruno Haible  <bruno@clisp.org>
17223
17224         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
17225         * lib/sys_socket.in.h: Include <stddef.h>.
17226         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
17227         CMSG_FIRSTHDR. Remove unused variable.
17228
17229 2011-03-13  Bruno Haible  <bruno@clisp.org>
17230
17231         passfd: Fix compilation error on OpenBSD.
17232         * lib/passfd.c: Include <sys/uio.h>.
17233
17234 2011-03-13  Bruno Haible  <bruno@clisp.org>
17235
17236         passfd test: Fix warnings.
17237         * tests/test-passfd.c: Include <sys/wait.h>.
17238         (main): Fix typo.
17239
17240 2011-03-13  Bruno Haible  <bruno@clisp.org>
17241
17242         passfd module, part 4, tweaks.
17243         * tests/test-passfd.c: Reorder includes.
17244         (main): Fix perror and printf calls.
17245
17246 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17247
17248         passfd module, part 4.
17249         * modules/passfd-tests: New file.
17250         * tests/test-passfd.c: New file.
17251
17252 2011-03-13  Jim Meyering  <meyering@redhat.com>
17253
17254         Makefile: rely on GNU make; derive syntax-check rule names
17255         Rather than requiring that each sc_ rule be listed as a dependent
17256         of "check", use features of GNU make to derive the list.
17257         * Makefile (syntax-check-rules): Define.
17258         (check): Depend on the new variable, not the hard-coded list.
17259
17260 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
17261             Bruno Haible  <bruno@clisp.org>
17262
17263         passfd module, part 3.
17264         * lib/passfd.h (recvfd): Add a flags argument.
17265         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
17266         (recvfd): Add a flags argument.
17267         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
17268         exists.
17269         * modules/passfd (Depends-on): Add cloexec.
17270         Suggested by Eric Blake.
17271
17272 2011-03-13  Bruno Haible  <bruno@clisp.org>
17273
17274         passfd module, part 2, tweaks.
17275         * modules/passfd (Files): Reorder.
17276         (Depends-on): Remove errno.
17277         (Include): Remove <sys/socket.h>, <sys/un.h>.
17278         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
17279         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
17280         specification header. Include <sys/socket.h> always. Don't include
17281         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
17282         (sendfd): Clarify that it sets errno when it fails.
17283         (recvfd): Fix specification.
17284
17285 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17286
17287         passfd module, part 2.
17288         * modules/passfd: New file.
17289         * lib/passfd.h: New file.
17290         * lib/passfd.c: New file.
17291
17292 2011-03-12  Bruno Haible  <bruno@clisp.org>
17293
17294         wcswidth, mbswidth: Avoid integer overflow.
17295         * lib/wcswidth.c: Include <limits.h>.
17296         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
17297         * lib/mbswidth.c: Include <limits.h>.
17298         (mbsnwidth): Avoid 'int' overflow.
17299         Reported by Jim Meyering.
17300
17301 2011-03-12  Bruno Haible  <bruno@clisp.org>
17302
17303         futimens, utimensat: Avoid endless recursion on Solaris 10.
17304         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
17305         Solaris.
17306         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
17307         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
17308
17309 2011-03-11  Jim Meyering  <meyering@redhat.com>
17310
17311         maint.mk: relax a regexp to accommodate other formatting styles
17312         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
17313         between "ngettext" and the following "(".
17314
17315 2011-03-11  Pádraig Brady <P@draigBrady.com>
17316
17317         maint.mk: suppress a false positive warning
17318         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
17319         diagnostics are marked with ngettext.
17320
17321 2011-03-10  Eric Blake  <eblake@redhat.com>
17322
17323         wchar: add explicit dependencies, for Tru64
17324         * modules/mbmemcasecoll (Depends-on): Add wchar.
17325         * modules/mbtowc (Depends-on): Likewise.
17326         * modules/vasnprintf (Depends-on): Likewise.
17327         * modules/unistdio/u-printf-args (Depends-on): Likewise.
17328         * modules/wctomb (Depends-on): Likewise.
17329         Reported by Peter O'Gorman.
17330
17331 2011-03-08  Bruno Haible  <bruno@clisp.org>
17332
17333         passfd module, part 1, tweaks.
17334         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
17335         Improve indentation. Improve AC_MSG_CHECKING messages.
17336         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
17337         gl_SOCKET_FAMILIES.
17338
17339 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
17340
17341         passfd module, part 1.
17342         * m4/afunix.m4: New file.
17343         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
17344         sockets.
17345
17346 2011-03-08  Bruno Haible  <bruno@clisp.org>
17347
17348         regex-quote: New API.
17349         * lib/regex-quote.h: Include <stdbool.h>.
17350         (struct regex_quote_spec): New type.
17351         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17352         New declarations.
17353         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17354         'const struct regex_quote_spec *' argument.
17355         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
17356         (pcre_special): New constant.
17357         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
17358         New functions.
17359         (regex_quote_length, regex_quote_copy, regex_quote): Take a
17360         'const struct regex_quote_spec *' argument.
17361         * modules/regex-quote (Depends-on): Add stdbool.
17362         * tests/test-regex-quote.c (check): Update for new API. Add test for
17363         anchored results.
17364         * NEWS: Mention the API change.
17365         Reported by Reuben Thomas and Eric Blake.
17366
17367 2011-03-06  Bruno Haible  <bruno@clisp.org>
17368
17369         regex-quote: Fix creation of POSIX extended regular expressions.
17370         * lib/regex-quote.c (ere_special): Add grouping and alternation
17371         operators.
17372
17373 2011-03-05  Bruno Haible  <bruno@clisp.org>
17374
17375         doc: Improve doc regarding autopoint vs. gnulib.
17376         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
17377         disable autopoint while running autoreconf.
17378         Suggested by Ralf Wildenhues.
17379
17380 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
17381
17382         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
17383         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
17384
17385 2011-03-03  Bruce Korb  <bkorb@gnu.org>
17386
17387         parse-duration: remove xalloc.h dependency
17388         * lib/parse-duration.c (parse_period): handle NULL return from
17389         strdup instead of calling xstrdup().
17390         * modules/parse-duration: remove "xalloc" dependency
17391
17392 2011-03-03  Matthew Booth  <mbooth@redhat.com>
17393
17394         bootstrap: honor m4_base when running aclocal
17395         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
17396
17397 2011-03-02  Jim Meyering  <meyering@redhat.com>
17398
17399         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
17400         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
17401         on request from Matt Booth.
17402
17403 2011-03-01  Eric Blake  <eblake@redhat.com>
17404
17405         test-link: work on Hurd
17406         * tests/test-link.h (test_link): Hurd rejects linking directories
17407         with EISDIR instead of the POSIX-mandated EPERM.
17408
17409 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
17410
17411         stdio: simplify by moving files to printf-posix, sigpipe
17412         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
17413         since this symbol is needed only if printf is replaced.
17414         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
17415         Require gl_ASM_SYMBOL_PREFIX.
17416         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
17417         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
17418         (Depends-on): Add 'raise'.
17419         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
17420         * modules/stdio (Files): Remove lib/stdio-write.c,
17421         m4/asm-underscore.m4.
17422         (Depends-on): Remove 'raise'.
17423
17424         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
17425         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
17426         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
17427         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
17428
17429 2011-02-28  Bruno Haible  <bruno@clisp.org>
17430
17431         localcharset: Assume ANSI C behaviour of free().
17432         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
17433         calling free().
17434         Suggested by Simon Josefsson <simon@josefsson.org>.
17435
17436 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
17437             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
17438             Bruno Haible  <bruno@clisp.org>  (tiny change)
17439
17440         On Cygwin, use /proc file system instead of win32 API.
17441         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
17442         Win32 file names.
17443         (DllMain): Simplify by removing Cygwin specific code.
17444         (find_shared_library_fullname): Use Linux specific implementation also
17445         for Cygwin.
17446         (get_shared_library_fullname): Update accordingly.
17447         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
17448         Win32 file names.
17449         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
17450         Cygwin specific code.
17451
17452 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
17453             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
17454
17455         Fix OpenMP flag detection for various Fortran compilers.
17456         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
17457         OpenMP-conditional compilation construct, to force compile
17458         failure with missing OpenMP flag.
17459         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
17460
17461 2011-02-25  Eric Blake  <eblake@redhat.com>
17462
17463         strstr: expand test coverage
17464         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
17465         compilation.
17466         * tests/test-memmem.c (main): Duplicate tests.
17467         * tests/test-strcasestr.c (main): Likewise.
17468         * tests/test-c-strcasestr.c (main): Likewise.
17469
17470 2011-02-25  Jim Meyering  <meyering@redhat.com>
17471
17472         maint.mk: detect missing-NL-at-EOF, too
17473         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
17474         it also detects when a file lacks a newline at EOF.
17475         (require_exactly_one_NL_at_EOF_): Renamed from
17476         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
17477         since people may well have .x-sc_... file names tied to the
17478         existing name.  Suggested by Eric Blake.
17479
17480 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
17481
17482         dirname: move m4/dos.m4 functionality into lib/dosname.h
17483
17484         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
17485         extracts symbols from it, puts them into config.h; but it's much
17486         easier to use the symbols directly.  filename.h already does this,
17487         but it disagrees with dos.m4 in some respects.  This patch
17488         introduces a different include file dosname.h that packages up
17489         dos.m4, and then later we can work on merging filename.h and
17490         dosname.h.  Applications that need only the easy-to-configure
17491         symbols should consider including dosname.h rather than dirname.h.
17492         * NEWS: Mention incompatible changes.
17493         * m4/dos.m4: Remove.
17494         * lib/dosname.h, modules/dosname: New files.
17495         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
17496         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
17497         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
17498         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
17499         Include dosname.h, not dirname.h.
17500         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
17501         Include dosname.h, for definitions of symbols like ISSLASH
17502         that used to be in config.h.
17503         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
17504         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
17505         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
17506         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
17507         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
17508         * modules/rmdir (Files): Likewise.
17509         * modules/stat (Files): Likewise.
17510         * modules/unlink (Files): Likewise.
17511         * modules/dirname-lgpl (Depends-on): Add dosname.
17512         * modules/lstat (Depends-on): Likewise.
17513         * modules/openat (Depends-on): Likewise.
17514         * modules/rmdir (Depends-on): Likewise.
17515         * modules/savewd (Depends-on): Likewise.
17516         * modules/stat (Depends-on): Likewise.
17517         * modules/unlink (Depends-on): Likewise.
17518         * modules/openat (Depends-on): Remove dirname-lgpl.
17519         * modules/savewd (Depends-on): Likewise.
17520         * tests/test-dirname.c: Do not use removed symbols like
17521         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
17522         the remaining symbols, e.g., ISSLASH ('\\').
17523
17524 2011-02-25  Eric Blake  <eblake@redhat.com>
17525
17526         strstr: revert patches that introduced bug and pessimization
17527         * lib/str-two-way.h: Add another reference.
17528         (two_way_short_needle, two_way_long_needle): Revert changes from
17529         2011-02-24; they pessimize search speed.
17530         (critical_factorization): Partially revert changes from
17531         2010-06-22; they violate the requirement that the left half of the
17532         needle be smaller than the period of the needle.
17533
17534 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
17535
17536         filenamecat: remove unnecessary dependency on dirname-lgpl
17537         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
17538         is no direct dependency, just an indirect one via filenamecat-lgpl.
17539
17540         remove: remove unnecessary use of m4/dos.m4
17541         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
17542         * modules/remove (FILES): Remove m4/dos.m4.
17543
17544         * lib/openat-proc.c: Don't include dirname.h; not needed.
17545
17546         backupfile: remove unnecessary use of m4/dos.m4
17547         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
17548         of its symbols are used by the backupfile code.  backupfile.c does
17549         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
17550         for the rare case of programs that want all their backup file
17551         names to live within 8+3 limits, and dos.m4 doesn't address that.
17552         * modules/backupfile (Files): Remove m4/dos.m4.
17553
17554 2011-02-24  Jim Meyering  <meyering@redhat.com>
17555
17556         strstr: fix a bug whereby strstr would mistakenly return NULL
17557         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
17558         in period calculation.
17559         (two_way_long_needle): Likewise.
17560         The original problem was reported by Mike Stump in
17561         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
17562         Ralf Wildenhues provided the short needle and haystack.
17563         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
17564         Add a more involved test to trigger the bug in two_way_long_needle.
17565
17566 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
17567
17568         gnulib-tool: remove use of bold display in help screen
17569         * gnulib-tool (func_usage): Do not use bold display anymore in the
17570         help screen.  That was just meant to be a temporary emphasis for a
17571         backward-incompatible change.
17572
17573 2011-02-23  Bruno Haible  <bruno@clisp.org>
17574
17575         Fix misindentation of preprocessor directives.
17576         * lib/argp-namefrob.h: Reindent preprocessor directives.
17577         * lib/getopt_int.h (struct _getopt_data): Likewise.
17578         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
17579         * lib/vasnprintf.c (decode_long_double): Likewise.
17580         * tests/test-argmatch.c: Insert blank lines, for clarity.
17581         * tests/test-exclude.c: Likewise.
17582
17583 2011-02-22  Bruno Haible  <bruno@clisp.org>
17584
17585         ioctl: Fix for MacOS X in 64-bit mode.
17586         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
17587         value.
17588         Suggested by Eric Blake.
17589         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
17590
17591 2011-02-22  Jim Meyering  <meyering@redhat.com>
17592
17593         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
17594         * Makefile (sc_cpp_indent_check): Don't limit the check to files
17595         in lib/.
17596
17597 2011-02-22  Eric Blake  <eblake@redhat.com>
17598
17599         maint: avoid any CDPATH issue
17600         * Makefile (sc_cpp_indent_check): Anchor cd argument.
17601
17602         maint: adjust cpp indentation for my modules, as well
17603         * Makefile (sc_cpp_indent_check): Add my name.
17604         * lib/fbufmode.c: Filter through cppi.
17605         * lib/fpurge.c: Likewise.
17606         * lib/freadable.c: Likewise.
17607         * lib/freading.c: Likewise.
17608         * lib/fwritable.c: Likewise.
17609         * lib/fwriting.c: Likewise.
17610         * lib/sigaction.c: Likewise.
17611
17612 2011-02-22  Jim Meyering  <meyering@redhat.com>
17613
17614         maint: adjust cpp indentation to reflect nesting depth
17615         I.e., in a block of code that begins with an unnested "#if",
17616         put one space between the "#" in column 1 and following token.
17617         For example,
17618         -#include <sys/vfs.h>
17619         +# include <sys/vfs.h>
17620         Do this only in .c files that are part of a module I maintain.
17621         * lib/linkat.c: Filter through cppi.
17622         * lib/nanosleep.c: Likewise.
17623         * lib/openat.c: Likewise.
17624         * lib/openat-die.c: Likewise.
17625         * lib/dup3.c: Likewise.
17626         * lib/fchownat.c: Likewise.
17627         * lib/flock.c: Likewise.
17628         * lib/fsync.c: Likewise.
17629         * lib/fts.c: Likewise.
17630         * lib/getpass.c: Likewise.
17631         * lib/gettimeofday.c: Likewise.
17632         * lib/userspec.c: Likewise.
17633         * Makefile (sc_cpp_indent_check): New rule, to check this.
17634
17635 2011-02-22  Bruno Haible  <bruno@clisp.org>
17636
17637         New module 'wctomb'.
17638         * lib/stdlib.in.h (wctomb): New declaration.
17639         * lib/wctomb.c: New file.
17640         * lib/wctomb-impl.h: New file.
17641         * m4/wctomb.m4: New file.
17642         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
17643         REPLACE_WCTOMB.
17644         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
17645         REPLACE_WCTOMB.
17646         * modules/wctomb: New file.
17647         * tests/test-stdlib-c++.cc: Test signature of wctomb.
17648         * doc/posix-functions/wctomb.texi: Mention the new module.
17649         * modules/wctob (Depends-on): Add wctomb.
17650
17651 2011-02-22  Bruno Haible  <bruno@clisp.org>
17652
17653         New module 'mbtowc'.
17654         * lib/stdlib.in.h (mbtowc): New declaration.
17655         * lib/mbtowc.c: New file.
17656         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
17657         * m4/mbtowc.m4: New file.
17658         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
17659         REPLACE_MBTOWC.
17660         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
17661         REPLACE_MBTOWC.
17662         * modules/mbtowc: New file.
17663         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
17664         * doc/posix-functions/mbtowc.texi: Mention the new module.
17665         * modules/btowc (Depends-on): Add mbtowc.
17666
17667 2011-02-22  Bruno Haible  <bruno@clisp.org>
17668
17669         wcrtomb: Add more tests for native Windows platforms.
17670         * tests/test-wcrtomb-w32-1.sh: New file.
17671         * tests/test-wcrtomb-w32-2.sh: New file.
17672         * tests/test-wcrtomb-w32-3.sh: New file.
17673         * tests/test-wcrtomb-w32-4.sh: New file.
17674         * tests/test-wcrtomb-w32-5.sh: New file.
17675         * tests/test-wcrtomb-w32.c: New file.
17676         * modules/wcrtomb-tests (Files): Add them.
17677         (Makefile.am): Arrange to run these tests.
17678         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
17679         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
17680
17681 2011-02-20  Bruno Haible  <bruno@clisp.org>
17682
17683         wcrtomb: Enhance test.
17684         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
17685
17686 2011-02-20  Bruno Haible  <bruno@clisp.org>
17687
17688         mbrtowc: Tiny optimization.
17689         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
17690
17691 2011-02-20  Jim Meyering  <meyering@redhat.com>
17692
17693         test-exclude.c: remove unmatched #endif
17694         * tests/test-exclude.c: Remove stray #endif, left over from
17695         the change of a week ago.
17696
17697 2011-02-19  Jim Meyering  <meyering@redhat.com>
17698
17699         git-version-gen: skip "-dirty" check when appropriate
17700         * build-aux/git-version-gen: Don't run any git commands when the
17701         version string comes from .tarball-version.  Prior to this, we
17702         would run git update-index --refresh even from a just-unpacked
17703         tarball directory, and that could affect a .git/ directory in a
17704         parent of the build directory.  Reported by Mike Frysinger.
17705
17706 2011-02-19  Bruno Haible  <bruno@clisp.org>
17707
17708         unictype/property-byname: Reduce the size of the 'data' segment.
17709         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
17710
17711 2011-02-19  Bruno Haible  <bruno@clisp.org>
17712
17713         unictype/scripts: Reduce the size of the 'data' segment.
17714         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
17715         '%pic'.
17716         * lib/unictype/scripts_byname.gperf: Regenerated.
17717
17718 2011-02-19  Bruno Haible  <bruno@clisp.org>
17719
17720         stdint: Update documentation.
17721         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
17722
17723 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
17724
17725         stdint: omit redundant check for wchar.h
17726         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
17727         always tests whether wchar.h exists, so remove the now-redundant test.
17728
17729 2011-02-18  Bruno Haible  <bruno@clisp.org>
17730
17731         stdint: Cut dependency to module 'wchar'.
17732         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
17733         include the necessary prerequisites.
17734         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
17735         * modules/stdint (Depends-on): Remove wchar.
17736         (Makefile.am): Substitute HAVE_WCHAR_H.
17737         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
17738
17739 2011-02-18  Eric Blake  <eblake@redhat.com>
17740
17741         longlong: skip, rather than fail, on cross-compilation
17742         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
17743         when cross-compiling; regression from 2011-02-16.
17744
17745 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
17746
17747         * NEWS: Mention 2011-02-08 change to stdlib.
17748
17749 2011-02-17  Bruno Haible  <bruno@clisp.org>
17750
17751         getloadavg: Add comments about platforms.
17752         * m4/getloadavg.m4: Add comment.
17753         * lib/getloadavg.c: Likewise.
17754
17755 2011-02-17  Bruno Haible  <bruno@clisp.org>
17756
17757         getloadavg: Fix link error on Solaris 2.6.
17758         * modules/getloadavg (Link): New section.
17759         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
17760         linking test-getloadavg.
17761         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
17762         getloadavg.
17763
17764 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
17765
17766         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
17767         It was 'int', but this doesn't match the IRIX 6.5 manual.
17768         Suggested by Bruno Haible in
17769         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
17770
17771 2011-02-17  Bruno Haible  <bruno@clisp.org>
17772
17773         havelib: Fix comments.
17774         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
17775         change.
17776
17777 2011-02-17  Bruno Haible  <bruno@clisp.org>
17778
17779         havelib: Update config.rpath.
17780         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
17781
17782 2011-02-17  Bruno Haible  <bruno@clisp.org>
17783
17784         getloadavg test: Add some plausibility checks.
17785         * tests/test-getloadavg.c (check_avg): Print a warning when the value
17786         is improbable.
17787
17788 2011-02-16  Eric Blake  <eblake@redhat.com>
17789
17790         maintainer-makefile: make syntax-check a no-op from tarballs
17791         * top/maint.mk (no-vc-detected): New rule.
17792         (local-checks-available): Use it to avoid hanging if someone tries
17793         'make syntax-check' from a tarball.  Also append to any non-syntax
17794         checks already defined in cfg.mk.
17795
17796 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
17797
17798         longlong: tune, particularly for common case of c99
17799
17800         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
17801         or running anything if c99, or if unsigned long long int does not
17802         work.  In either case, we know the answer without further tests.
17803         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
17804         it at most once, and use its results for both long long int and
17805         unsigned long long int.  This is more likely to be efficient in
17806         the common case where the program wants to check for both long
17807         long int and unsigned long long int.
17808         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
17809         since the answer is already known.
17810
17811 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
17812
17813         getloadavg: set errno
17814         * lib/getloadavg.c: Set errno when returning -1.  If no other
17815         error number looks appropriate, set it to ENOSYS if the getloadavg
17816         looks like it can't possibly ever work, ENOTSUP otherwise.
17817         Suggested by Bruno Haible in
17818         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
17819
17820         getloadavg: trim unused parts and speed up 'configure'
17821         * NEWS: Document this.
17822         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
17823         always compiled if getloadavg is absent.
17824         Move test code to ...
17825         * tests/test-getloadavg.c: New file, containing previous
17826         contents of test from lib/getloadavg.c.  It also contains
17827         suggestions by Bruno Haible in
17828         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
17829         * modules/getloadavg-tests: New file.
17830         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
17831         Do tests in the same order as they're needed for getloadavg.c.
17832         Omit setgid-related tests that generate symbols KMEM_GROUP,
17833         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
17834         Do only the tests that are needed to see whether the system has
17835         getloadavg, moving the other tests into ...
17836         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
17837         NLIST_NAME_UNION; nobody should be using it.  Do not define
17838         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
17839         relevant, as the user of this module shouldn't care how getloadavg
17840         is implemented.
17841
17842         getloadavg: omit unused var
17843         * lib/getloadavg.c (getloadavg): Omit unused local variable.
17844
17845 2011-02-15  Jim Meyering  <meyering@redhat.com>
17846
17847         doc: update users.txt
17848         * users.txt: Update iwhd's URL.
17849
17850 2011-02-13  Bruno Haible  <bruno@clisp.org>
17851
17852         Consistent macro naming for macros that use GCC __attribute__.
17853         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
17854         _ATTRIBUTE_NONNULL_.
17855         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
17856         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
17857         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
17858         ATTRIBUTE_DEPRECATED.
17859         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
17860         ATTRIBUTE_NORETURN.
17861         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17862         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17863         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17864         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
17865         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
17866         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
17867         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
17868         ATTRIBUTE_SENTINEL.
17869         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
17870         ATTRIBUTE_RETURN_CHECK.
17871         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
17872         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
17873         ATTRIBUTE_NORETURN.
17874         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
17875         Reported by Paul Eggert.
17876
17877 2011-02-13  Bruno Haible  <bruno@clisp.org>
17878
17879         Don't interfere with a program's definition of __attribute__.
17880         * lib/argp.h (__attribute__): Remove definition.
17881         (_GL_ATTRIBUTE_FORMAT): New macro.
17882         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
17883         * lib/argp-fmtstream.h (__attribute__): Remove definition.
17884         (_GL_ATTRIBUTE_FORMAT): New macro.
17885         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
17886         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
17887         GCC 3 or newer.
17888         * lib/error.h (__attribute__): Remove definition.
17889         (_GL_ATTRIBUTE_FORMAT): New macro.
17890         (error, error_at_line): Use it.
17891         * lib/hash.h (__attribute__): Remove definition.
17892         (ATTRIBUTE_WUR): Update definition. Define always.
17893         * lib/openat.h (__attribute__): Remove definition.
17894         (ATTRIBUTE_NORETURN): Update definition. Define always.
17895         * lib/sigpipe-die.h (__attribute__): Remove definition.
17896         (ATTRIBUTE_NORETURN): Update definition. Define always.
17897         * lib/vasnprintf.h (__attribute__): Remove definition.
17898         (_GL_ATTRIBUTE_FORMAT): New macro.
17899         (asnprintf, vasnprintf): Use it.
17900         * lib/xalloc.h (__attribute__): Remove definition.
17901         (ATTRIBUTE_NORETURN): Update definition. Define always.
17902         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
17903         * lib/xmemdup0.h (__attribute__): Remove definition.
17904         (ATTRIBUTE_NORETURN): Update definition. Define always.
17905         * lib/xprintf.h (__attribute__): Remove definition.
17906         (_GL_ATTRIBUTE_FORMAT): New macro.
17907         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
17908         * lib/xstrtol.h (__attribute__): Remove definition.
17909         (ATTRIBUTE_NORETURN): Update definition. Define always.
17910         * lib/xvasprintf.h (__attribute__): Remove definition.
17911         (_GL_ATTRIBUTE_FORMAT): New macro.
17912         (xasprintf, xvasprintf): Use it.
17913         * tests/test-argmatch.c (__attribute__): Remove definition.
17914         (ATTRIBUTE_NORETURN): Update definition. Define always.
17915         * tests/test-exclude.c (__attribute__): Remove definition.
17916         (ATTRIBUTE_NORETURN): Update definition. Define always.
17917         Reported by Paul Eggert.
17918
17919 2011-02-13  Bruno Haible  <bruno@clisp.org>
17920
17921         mbrtowc: Add more tests for native Windows platforms.
17922         * tests/test-mbrtowc-w32-1.sh: New file.
17923         * tests/test-mbrtowc-w32-2.sh: New file.
17924         * tests/test-mbrtowc-w32-3.sh: New file.
17925         * tests/test-mbrtowc-w32-4.sh: New file.
17926         * tests/test-mbrtowc-w32-5.sh: New file.
17927         * tests/test-mbrtowc-w32.c: New file.
17928         * modules/mbrtowc-tests (Files): Add them.
17929         (Makefile.am): Arrange to run these tests.
17930         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
17931         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
17932
17933 2011-02-13  Bruno Haible  <bruno@clisp.org>
17934
17935         mbrtowc: Work around native Windows bug.
17936         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
17937         guess when no suitable locale for testing was found.
17938         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
17939
17940 2011-02-13  Bruno Haible  <bruno@clisp.org>
17941
17942         mbsinit: Work around mingw bug.
17943         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
17944         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
17945         Windows.
17946         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
17947
17948 2011-02-13  Bruno Haible  <bruno@clisp.org>
17949
17950         mbsinit: Don't crash for a NULL argument.
17951         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
17952         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
17953
17954 2011-02-13  Bruno Haible  <bruno@clisp.org>
17955
17956         Don't interfere with a program's definition of __attribute__.
17957         * lib/stdio.in.h (__attribute__): Remove definition.
17958         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
17959         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
17960         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
17961         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
17962         * lib/string.in.h (__attribute__): Remove definition.
17963         Reported by Paul Eggert.
17964
17965 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
17966
17967         stdlib: don't get in the way of non-GCC __attribute__
17968         See thread starting at
17969         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
17970         Revert previous stdlib change, installing the following instead:
17971         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
17972         to get in the way of a non-GCC compiler that supports __attribute__.
17973         (_GL_ATTRIBUTE_RETURN): New macro.
17974         (_Exit): Use it instead of __attribute__.
17975
17976 2011-02-12  Bruno Haible  <bruno@clisp.org>
17977
17978         quotearg test: Avoid test failure on mingw.
17979         * tests/test-quotearg.sh: Convert the locale identifier from native
17980         Windows syntax to Unix syntax.
17981
17982 2011-02-12  Bruno Haible  <bruno@clisp.org>
17983
17984         setlocale: Prefer gnulib's override over libintl's override.
17985         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
17986         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
17987         GNULIB_defined_setlocale is set.
17988
17989 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
17990
17991         stdlib: support non-GCC __attribute__
17992
17993         Fix a serious and tricky problem encountered when attempting to
17994         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
17995         5.5, but it crashed due to memory corruption on Solaris 10 with
17996         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
17997         bits that are otherwise zero.  This tagging is optional inside
17998         Emacs but is preferred and is used when __attribute__ ((__aligned
17999         (8))) works, as it does with both recent-enough GCC and with Sun C
18000         5.11.  However, Sun C 5.11 is not GCC and does not #define
18001         __GNUC__ and __GNUC_MINOR__.
18002
18003         When I added the getloadavg module to Emacs, it brought in
18004         stdlib.in.h, which contained this fragment:
18005
18006            #ifndef __attribute__
18007            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
18008            #  define __attribute__(Spec)   /* empty */
18009            # endif
18010            #endif
18011
18012         When files that include <stdlib.h> were compiled with Sun C 5.11,
18013         the above code disabled __attribute__ ((__aligned (8))), which
18014         caused variables to not be properly aligned, which eventually led
18015         to the pointer corruption mentioned above.  (This was a bit hard
18016         to diagnose, unfortunately.)
18017
18018         Several "#define __attribute__(X) /* empty */" code snippets need
18019         to be eradicated from Gnulib to work with non-GCC compilers that
18020         support __attribute__.  The Autoconf way to do this is to test for
18021         each kind of attribute that we want support for, and selectively
18022         enable that in source code.
18023
18024         Fix this problem just for stdlib.h, by adding a test for the
18025         __noreturn__ attribute, and change stdlib.in.h to use that test
18026         when needed.  This technique can be easily generalized to the
18027         other *.in.h files and attributes, and a similar technique can be
18028         used for *.h and *.c files.  This patch is enough to solve the
18029         problem for Emacs + getloadavg, and I thought I'd publish it for
18030         feedback before undertaking further, similar fixes in other
18031         modules.
18032
18033         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
18034         because it's not needed for stdlib.h.  It merely substitutes the
18035         value directly into stdlib.h.  We may well need to #define it, or
18036         similar symbols, for other modules, but it's nice to also have an
18037         option to not #define it for applications like Emacs that do not
18038         need it.
18039
18040         * lib/stdlib.in.h (__attribute__): Do not #define.
18041         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
18042         be defined only if the _Exit module is also used.
18043         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
18044         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
18045         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
18046         platforms.
18047         * modules/_Exit (Files): Add m4/attribute.m4.
18048         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
18049         * m4/attribute.m4: New file.
18050
18051 2011-02-12  Bruno Haible  <bruno@clisp.org>
18052
18053         wcsrtombs: Work around bug on native Windows.
18054         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
18055         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
18056         instead of len.
18057         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
18058
18059 2011-02-12  Bruno Haible  <bruno@clisp.org>
18060
18061         mbsrtowcs: Work around bug on native Windows.
18062         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
18063         against mingw bug.
18064         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
18065
18066 2011-02-12  Bruno Haible  <bruno@clisp.org>
18067
18068         Avoid setlocale bugs in tests.
18069         * modules/btowc (Dependencies): Add setlocale.
18070         * modules/c-strcase (Dependencies): Likewise.
18071         * modules/mbmemcasecmp (Dependencies): Likewise.
18072         * modules/mbmemcasecoll (Dependencies): Likewise.
18073         * modules/mbrtowc (Dependencies): Likewise.
18074         * modules/mbscasecmp (Dependencies): Likewise.
18075         * modules/mbscasestr (Dependencies): Likewise.
18076         * modules/mbschr (Dependencies): Likewise.
18077         * modules/mbscspn (Dependencies): Likewise.
18078         * modules/mbsinit (Dependencies): Likewise.
18079         * modules/mbsncasecmp (Dependencies): Likewise.
18080         * modules/mbsnrtowcs (Dependencies): Likewise.
18081         * modules/mbspbrk (Dependencies): Likewise.
18082         * modules/mbspcasecmp (Dependencies): Likewise.
18083         * modules/mbsrchr (Dependencies): Likewise.
18084         * modules/mbsrtowcs (Dependencies): Likewise.
18085         * modules/mbsspn (Dependencies): Likewise.
18086         * modules/mbsstr (Dependencies): Likewise.
18087         * modules/nl_langinfo (Dependencies): Likewise.
18088         * modules/quotearg (Dependencies): Likewise.
18089         * modules/unicase/locale-language (Dependencies): Likewise.
18090         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
18091         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
18092         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
18093         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
18094         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
18095         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
18096         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
18097         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
18098         * modules/vasnprintf-posix (Dependencies): Likewise.
18099         * modules/wcrtomb (Dependencies): Likewise.
18100         * modules/wcsnrtombs (Dependencies): Likewise.
18101         * modules/wcsrtombs (Dependencies): Likewise.
18102
18103 2011-02-12  Bruno Haible  <bruno@clisp.org>
18104
18105         setlocale: Workaround native Windows bug.
18106         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
18107         succeeds but sets LC_CTYPE to "C", report a failure.
18108         * tests/test-setlocale2.sh: New file.
18109         * tests/test-setlocale2.c: New file.
18110         * modules/setlocale-tests (Files): Add the new files.
18111         (Makefile.am): Enable test-setlocale2.sh test.
18112         * doc/posix-functions/setlocale.texi: Mention workaround.
18113
18114 2011-02-11  Bruno Haible  <bruno@clisp.org>
18115
18116         Tests for module 'setlocale'.
18117         * modules/setlocale-tests: New file.
18118         * tests/test-setlocale1.sh: New file.
18119         * tests/test-setlocale1.c: New file.
18120
18121         New module 'setlocale'.
18122         * lib/locale.in.h (setlocale): New declaration.
18123         * lib/setlocale.c: New file, based on
18124         gettext/gettext-runtime/intl/setlocale.c.
18125         * m4/setlocale.m4: New file.
18126         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
18127         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
18128         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
18129         REPLACE_SETLOCALE.
18130         * modules/setlocale: New file.
18131         * tests/test-locale-c++.cc: Test the declaration of setlocale.
18132         * doc/posix-functions/setlocale.texi: Mention the new module.
18133
18134 2011-02-11  Bruno Haible  <bruno@clisp.org>
18135
18136         Prepare for locale dependent tests on mingw.
18137         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
18138         because it has the wrong locale encoding.
18139         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
18140         French_France.1252 instead of "fr".
18141         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
18142         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
18143         because it has the wrong locale encoding.
18144         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
18145         native Windows, try Turkish_Turkey.65001.
18146         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
18147         Chinese_China.54936.
18148
18149         Prepare for locale dependent tests on mingw.
18150         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
18151         differently.
18152         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
18153         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
18154         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
18155         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
18156
18157 2011-02-11  Eric Blake  <eblake@redhat.com>
18158
18159         strptime: avoid compiler warnings
18160         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
18161         compiler warnings about dead code.
18162         Reported by Daniel P. Berrange.
18163
18164 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
18165
18166         doc: update users.txt
18167         * users.txt: Add rcs.
18168
18169 2011-02-10  John W. Eaton  <jwe@gnu.org>
18170
18171         doc: update users.txt
18172         * users.txt: Add octave.
18173
18174 2011-02-10  Jim Meyering  <meyering@redhat.com>
18175
18176         doc: update users.txt
18177         * users.txt: Add iwhd.
18178
18179 2011-02-09  Bruno Haible  <bruno@clisp.org>
18180
18181         gnulib-tool: Make copyright notice adjustment more robust.
18182         * gnulib-tool (func_import): In sed_transform_main_lib_file,
18183         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
18184         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
18185         License".
18186         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
18187
18188 2011-02-06  Bruno Haible  <bruno@clisp.org>
18189
18190         New module 'towctrans'.
18191         * modules/towctrans: New file.
18192         * lib/wctype.in.h (towctrans): New declaration.
18193         * lib/towctrans.c: New file.
18194         * lib/towctrans-impl.h: New file.
18195         * m4/towctrans.m4: New file.
18196         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
18197         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
18198         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
18199         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
18200         * doc/posix-functions/towctrans.texi: Mention the new module.
18201
18202 2011-02-06  Bruno Haible  <bruno@clisp.org>
18203
18204         New module 'wctrans'.
18205         * modules/wctrans: New file.
18206         * lib/wctype.in.h (wctrans): New declaration.
18207         * lib/wctrans.c: New file.
18208         * lib/wctrans-impl.h: New file.
18209         * m4/wctrans.m4: New file.
18210         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
18211         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
18212         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
18213         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
18214         * doc/posix-functions/wctrans.texi: Mention the new module.
18215
18216 2011-02-06  Bruno Haible  <bruno@clisp.org>
18217
18218         New module 'iswctype'.
18219         * modules/iswctype: New file.
18220         * lib/wctype.in.h (iswctype): New declaration.
18221         * lib/iswctype.c: New file.
18222         * lib/iswctype-impl.h: New file.
18223         * m4/iswctype.m4: New file.
18224         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
18225         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
18226         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
18227         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
18228         * doc/posix-functions/iswctype.texi: Mention the new module and the
18229         HP-UX 11.00 problem.
18230
18231 2011-02-06  Bruno Haible  <bruno@clisp.org>
18232
18233         New module 'wctype'.
18234         * modules/wctype: Change to represent the wctype() substitute.
18235         * lib/wctype.in.h (wctype): New declaration.
18236         * lib/wctype.c: New file.
18237         * lib/wctype-impl.h: New file.
18238         * m4/wctype.m4: New file.
18239         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
18240         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
18241         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
18242         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
18243         * doc/posix-functions/wctype.texi: Mention the new module and the
18244         HP-UX 11.00 problem.
18245
18246 2011-02-06  Bruno Haible  <bruno@clisp.org>
18247
18248         wctype-h: Ensure wctype_t and wctrans_t are defined.
18249         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
18250         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18251         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
18252         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
18253         HAVE_WCTRANS_T.
18254         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
18255
18256 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
18257
18258         flock: fix license typo
18259
18260         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
18261         omitted.
18262
18263 2011-02-08  Bruno Haible  <bruno@clisp.org>
18264
18265         Split large sed scripts, for HP-UX sed.
18266         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
18267         to avoid HP-UX limit of 99 commands, in the near future.
18268         * modules/stdlib (Makefile.am): Likewise.
18269         * modules/unistd (Makefile.am): Likewise.
18270         * modules/wchar (Makefile.am): Likewise.
18271         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
18272         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
18273         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
18274
18275 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18276             Bruno Haible  <bruno@clisp.org>
18277
18278         stdlib: improve random_r modularization
18279         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
18280         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
18281         you also need the random_r module to get this material right.
18282         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
18283         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
18284         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
18285
18286 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
18287
18288         stdlib: don't depend on stdint
18289         * lib/stdlib.in.h: Don't include <stdint.h> merely because
18290         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
18291         be independent of whether stdint.h is needed.
18292         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
18293         here, instead of ...
18294         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
18295         struct random_data should be using the random_r module, not just
18296         the stdlib module (which wouldn't make sense: what package needs
18297         just struct random_data without also needing random_r?).
18298         * modules/stdlib (Depends-on): Remove stdint.
18299
18300         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
18301         See the thread rooted at
18302         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
18303         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
18304         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
18305         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
18306         __VMS)); previously it was always included (via fcntl--.h).
18307         (getloadavg): Do not use c_strtod.  Instead, approximate it by
18308         hand; this is good enough for load averages.  Also, do not use
18309         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
18310         flags directly if available and don't bother otherwise.  (Packages
18311         that need the extra reliability should use the modules that define
18312         these flags on older platforms that lack them.)
18313         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
18314         fcntl-safer.
18315
18316 2011-02-08  Jim Meyering  <meyering@redhat.com>
18317
18318         di-set.h, ino-map.h: add multiple-inclusion guard
18319         Technically, the guard is required only for ino-map.h, due to its
18320         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
18321         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
18322         * lib/ino-map.h: Likewise.
18323
18324 2011-02-06  Bruno Haible  <bruno@clisp.org>
18325
18326         iswblank: Ensure declaration on glibc systems.
18327         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
18328         * modules/iswblank (Dependencies): Add 'extensions'.
18329         * doc/posix-functions/iswblank.texi: Document the glibc problem.
18330
18331 2011-02-06  Bruno Haible  <bruno@clisp.org>
18332
18333         New module 'iswblank'.
18334         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
18335         * modules/iswblank: New file.
18336         * modules/wctype-h (Files): Remove lib/iswblank.c.
18337         (Makefile.am): Substitute GNULIB_ISWBLANK.
18338         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
18339         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
18340         (gl_WCTYPE_H_DEFAULTS): New macro.
18341         (gl_WCTYPE_H): Require it. Remove iswblank related code.
18342         * modules/iswblank-tests: New file.
18343         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
18344         * tests/test-wctype-h.c (main): Remove iswblank tests.
18345         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
18346         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
18347         of 'wctype-h'.
18348         * NEWS: Mention the change.
18349         * modules/mbchar (Depends-on): Add iswblank.
18350
18351 2011-02-08  Bruno Haible  <bruno@clisp.org>
18352
18353         di-set tests: Refactor.
18354         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
18355         unnecessary includes.
18356         (ASSERT): Remove macro.
18357         (main): Make C90 compliant by avoiding variable declaration after
18358         statement.
18359         * modules/di-set-tests (Files): Add tests/macros.h.
18360
18361 2011-02-08  Bruno Haible  <bruno@clisp.org>
18362
18363         ino-map tests: Refactor.
18364         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
18365         unnecessary includes.
18366         (ASSERT): Remove macro.
18367         (main): Make C90 compliant by avoiding variable declaration after
18368         statement.
18369         * modules/ino-map-tests (Files): Add tests/macros.h.
18370
18371 2011-02-08  Jim Meyering  <meyering@redhat.com>
18372
18373         di-set: add "const" to a cast
18374         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
18375         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
18376
18377 2011-02-06  Bruno Haible  <bruno@clisp.org>
18378
18379         Rename module 'wctype' to 'wctype-h'.
18380         * modules/wctype-h: Renamed from modules/wctype.
18381         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
18382         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
18383         (Files, Depends-on, Makefile.am): Update.
18384         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
18385         (Files, Makefile.am): Update.
18386         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
18387         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
18388         * doc/posix-headers/wctype.texi: Update.
18389         * doc/posix-functions/iswalnum.texi: Update.
18390         * doc/posix-functions/iswalpha.texi: Update.
18391         * doc/posix-functions/iswblank.texi: Update.
18392         * doc/posix-functions/iswcntrl.texi: Update.
18393         * doc/posix-functions/iswdigit.texi: Update.
18394         * doc/posix-functions/iswgraph.texi: Update.
18395         * doc/posix-functions/iswlower.texi: Update.
18396         * doc/posix-functions/iswprint.texi: Update.
18397         * doc/posix-functions/iswpunct.texi: Update.
18398         * doc/posix-functions/iswspace.texi: Update.
18399         * doc/posix-functions/iswupper.texi: Update.
18400         * doc/posix-functions/iswxdigit.texi: Update.
18401         * doc/posix-functions/towlower.texi: Update.
18402         * doc/posix-functions/towupper.texi: Update.
18403         * NEWS: Mention the change.
18404         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
18405         * modules/mbchar (Dependencies): Likewise.
18406         * modules/mbswidth (Dependencies): Likewise.
18407         * modules/quotearg (Dependencies): Likewise.
18408         * modules/regex (Dependencies): Likewise.
18409         * modules/wcscasecmp (Dependencies): Likewise.
18410         * modules/wcsncasecmp (Dependencies): Likewise.
18411         * modules/wcwidth (Dependencies): Likewise.
18412
18413 2011-02-06  Bruno Haible  <bruno@clisp.org>
18414
18415         New module 'wcswidth'.
18416         * modules/wcswidth: New file.
18417         * lib/wchar.in.h (wcswidth): New declaration.
18418         * lib/wcswidth.c: New file.
18419         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
18420         * m4/wcswidth.m4: New file.
18421         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
18422         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
18423         REPLACE_WCSWIDTH.
18424         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
18425         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
18426         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
18427         * doc/posix-functions/wcswidth.texi: Mention the new module.
18428
18429 2011-02-06  Bruno Haible  <bruno@clisp.org>
18430
18431         New module 'wcstok'.
18432         * modules/wcstok: New file.
18433         * lib/wchar.in.h (wcstok): New declaration.
18434         * lib/wcstok.c: New file.
18435         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
18436         * m4/wcstok.m4: New file.
18437         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
18438         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
18439         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
18440         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
18441         * doc/posix-functions/wcstok.texi: Mention the new module.
18442
18443 2011-02-06  Bruno Haible  <bruno@clisp.org>
18444
18445         New module 'wcsstr'.
18446         * modules/wcsstr: New file.
18447         * lib/wchar.in.h (wcsstr): New declaration.
18448         * lib/wcsstr.c: New file.
18449         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
18450         * m4/wcsstr.m4: New file.
18451         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
18452         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
18453         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
18454         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
18455         * doc/posix-functions/wcsstr.texi: Mention the new module.
18456
18457 2011-02-06  Bruno Haible  <bruno@clisp.org>
18458
18459         New module 'wcspbrk'.
18460         * modules/wcspbrk: New file.
18461         * lib/wchar.in.h (wcspbrk): New declaration.
18462         * lib/wcspbrk.c: New file.
18463         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
18464         * m4/wcspbrk.m4: New file.
18465         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
18466         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
18467         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
18468         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
18469         * doc/posix-functions/wcspbrk.texi: Mention the new module.
18470
18471 2011-02-06  Bruno Haible  <bruno@clisp.org>
18472
18473         New module 'wcsspn'.
18474         * modules/wcsspn: New file.
18475         * lib/wchar.in.h (wcsspn): New declaration.
18476         * lib/wcsspn.c: New file.
18477         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
18478         * m4/wcsspn.m4: New file.
18479         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
18480         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
18481         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
18482         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
18483         * doc/posix-functions/wcsspn.texi: Mention the new module.
18484
18485 2011-02-06  Bruno Haible  <bruno@clisp.org>
18486
18487         New module 'wcscspn'.
18488         * modules/wcscspn: New file.
18489         * lib/wchar.in.h (wcscspn): New declaration.
18490         * lib/wcscspn.c: New file.
18491         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
18492         * m4/wcscspn.m4: New file.
18493         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
18494         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
18495         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
18496         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
18497         * doc/posix-functions/wcscspn.texi: Mention the new module.
18498
18499 2011-02-06  Bruno Haible  <bruno@clisp.org>
18500
18501         New module 'wcsrchr'.
18502         * modules/wcsrchr: New file.
18503         * lib/wchar.in.h (wcsrchr): New declaration.
18504         * lib/wcsrchr.c: New file.
18505         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
18506         * m4/wcsrchr.m4: New file.
18507         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
18508         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
18509         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
18510         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
18511         * doc/posix-functions/wcsrchr.texi: Mention the new module.
18512
18513 2011-02-06  Bruno Haible  <bruno@clisp.org>
18514
18515         New module 'wcschr'.
18516         * modules/wcschr: New file.
18517         * lib/wchar.in.h (wcschr): New declaration.
18518         * lib/wcschr.c: New file.
18519         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
18520         * m4/wcschr.m4: New file.
18521         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
18522         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
18523         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
18524         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
18525         * doc/posix-functions/wcschr.texi: Mention the new module.
18526
18527 2011-02-06  Bruno Haible  <bruno@clisp.org>
18528
18529         New module 'wcsdup'.
18530         * modules/wcsdup: New file.
18531         * lib/wchar.in.h (wcsdup): New declaration.
18532         * lib/wcsdup.c: New file.
18533         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
18534         * m4/wcsdup.m4: New file.
18535         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
18536         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
18537         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
18538         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
18539         * doc/posix-functions/wcsdup.texi: Mention the new module.
18540
18541 2011-02-06  Bruno Haible  <bruno@clisp.org>
18542
18543         New module 'wcsxfrm'.
18544         * modules/wcsxfrm: New file.
18545         * lib/wchar.in.h (wcsxfrm): New declaration.
18546         * lib/wcsxfrm.c: New file.
18547         * lib/wcsxfrm-impl.h: New file.
18548         * m4/wcsxfrm.m4: New file.
18549         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
18550         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
18551         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
18552         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
18553         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
18554
18555 2011-02-06  Bruno Haible  <bruno@clisp.org>
18556
18557         New module 'wcscoll'.
18558         * modules/wcscoll: New file.
18559         * lib/wchar.in.h (wcscoll): New declaration.
18560         * lib/wcscoll.c: New file.
18561         * lib/wcscoll-impl.h: New file.
18562         * m4/wcscoll.m4: New file.
18563         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
18564         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
18565         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
18566         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
18567         * doc/posix-functions/wcscoll.texi: Mention the new module.
18568
18569 2011-02-06  Bruno Haible  <bruno@clisp.org>
18570
18571         New module 'wcsncasecmp'.
18572         * modules/wcsncasecmp: New file.
18573         * lib/wchar.in.h (wcsncasecmp): New declaration.
18574         * lib/wcsncasecmp.c: New file.
18575         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
18576         * m4/wcsncasecmp.m4: New file.
18577         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
18578         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
18579         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
18580         HAVE_WCSNCASECMP.
18581         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
18582         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
18583
18584 2011-02-06  Bruno Haible  <bruno@clisp.org>
18585
18586         New module 'wcscasecmp'.
18587         * modules/wcscasecmp: New file.
18588         * lib/wchar.in.h (wcscasecmp): New declaration.
18589         * lib/wcscasecmp.c: New file.
18590         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
18591         * m4/wcscasecmp.m4: New file.
18592         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
18593         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
18594         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
18595         HAVE_WCSCASECMP.
18596         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
18597         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
18598
18599 2011-02-05  Bruno Haible  <bruno@clisp.org>
18600
18601         New module 'wcsncmp'.
18602         * modules/wcsncmp: New file.
18603         * lib/wchar.in.h (wcsncmp): New declaration.
18604         * lib/wcsncmp.c: New file.
18605         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
18606         * m4/wcsncmp.m4: New file.
18607         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
18608         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
18609         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
18610         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
18611         * doc/posix-functions/wcsncmp.texi: Mention the new module.
18612
18613 2011-02-05  Bruno Haible  <bruno@clisp.org>
18614
18615         New module 'wcscmp'.
18616         * modules/wcscmp: New file.
18617         * lib/wchar.in.h (wcscmp): New declaration.
18618         * lib/wcscmp.c: New file.
18619         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
18620         * m4/wcscmp.m4: New file.
18621         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
18622         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
18623         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
18624         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
18625         * doc/posix-functions/wcscmp.texi: Mention the new module.
18626
18627 2011-02-05  Bruno Haible  <bruno@clisp.org>
18628
18629         New module 'wcsncat'.
18630         * modules/wcsncat: New file.
18631         * lib/wchar.in.h (wcsncat): New declaration.
18632         * lib/wcsncat.c: New file.
18633         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
18634         * m4/wcsncat.m4: New file.
18635         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
18636         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
18637         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
18638         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
18639         * doc/posix-functions/wcsncat.texi: Mention the new module.
18640
18641 2011-02-05  Bruno Haible  <bruno@clisp.org>
18642
18643         New module 'wcscat'.
18644         * modules/wcscat: New file.
18645         * lib/wchar.in.h (wcscat): New declaration.
18646         * lib/wcscat.c: New file.
18647         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
18648         * m4/wcscat.m4: New file.
18649         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
18650         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
18651         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
18652         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
18653         * doc/posix-functions/wcscat.texi: Mention the new module.
18654
18655 2011-02-05  Bruno Haible  <bruno@clisp.org>
18656
18657         New module 'wcpncpy'.
18658         * modules/wcpncpy: New file.
18659         * lib/wchar.in.h (wcpncpy): New declaration.
18660         * lib/wcpncpy.c: New file.
18661         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
18662         * m4/wcpncpy.m4: New file.
18663         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
18664         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
18665         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
18666         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
18667         * doc/posix-functions/wcpncpy.texi: Mention the new module.
18668
18669 2011-02-05  Bruno Haible  <bruno@clisp.org>
18670
18671         New module 'wcsncpy'.
18672         * modules/wcsncpy: New file.
18673         * lib/wchar.in.h (wcsncpy): New declaration.
18674         * lib/wcsncpy.c: New file.
18675         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
18676         * m4/wcsncpy.m4: New file.
18677         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
18678         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
18679         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
18680         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
18681         * doc/posix-functions/wcsncpy.texi: Mention the new module.
18682
18683 2011-02-05  Bruno Haible  <bruno@clisp.org>
18684
18685         New module 'wcpcpy'.
18686         * modules/wcpcpy: New file.
18687         * lib/wchar.in.h (wcpcpy): New declaration.
18688         * lib/wcpcpy.c: New file.
18689         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
18690         * m4/wcpcpy.m4: New file.
18691         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
18692         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
18693         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
18694         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
18695         * doc/posix-functions/wcpcpy.texi: Mention the new module.
18696
18697 2011-02-05  Bruno Haible  <bruno@clisp.org>
18698
18699         New module 'wcscpy'.
18700         * modules/wcscpy: New file.
18701         * lib/wchar.in.h (wcscpy): New declaration.
18702         * lib/wcscpy.c: New file.
18703         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
18704         * m4/wcscpy.m4: New file.
18705         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
18706         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
18707         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
18708         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
18709         * doc/posix-functions/wcscpy.texi: Mention the new module.
18710
18711 2011-02-05  Bruno Haible  <bruno@clisp.org>
18712
18713         New module 'wcsnlen'.
18714         * modules/wcsnlen: New file.
18715         * lib/wchar.in.h (wcsnlen): New declaration.
18716         * lib/wcsnlen.c: New file.
18717         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
18718         * m4/wcsnlen.m4: New file.
18719         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
18720         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
18721         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
18722         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
18723         * doc/posix-functions/wcsnlen.texi: Mention the new module.
18724
18725 2011-02-05  Bruno Haible  <bruno@clisp.org>
18726
18727         New module 'wcslen'.
18728         * modules/wcslen: New file.
18729         * lib/wchar.in.h (wcslen): New declaration.
18730         * lib/wcslen.c: New file.
18731         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
18732         * m4/wcslen.m4: New file.
18733         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
18734         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
18735         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
18736         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
18737         * doc/posix-functions/wcslen.texi: Mention the new module.
18738
18739 2011-02-05  Bruno Haible  <bruno@clisp.org>
18740
18741         New module 'wmemset'.
18742         * modules/wmemset: New file.
18743         * lib/wchar.in.h (wmemset): New declaration.
18744         * lib/wmemset.c: New file.
18745         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
18746         * m4/wmemset.m4: New file.
18747         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
18748         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
18749         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
18750         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
18751         * doc/posix-functions/wmemset.texi: Mention the new module.
18752
18753 2011-02-05  Bruno Haible  <bruno@clisp.org>
18754
18755         New module 'wmemmove'.
18756         * modules/wmemmove: New file.
18757         * lib/wchar.in.h (wmemmove): New declaration.
18758         * lib/wmemmove.c: New file.
18759         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
18760         * m4/wmemmove.m4: New file.
18761         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
18762         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
18763         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
18764         HAVE_WMEMMOVE.
18765         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
18766         * doc/posix-functions/wmemmove.texi: Mention the new module.
18767
18768 2011-02-05  Bruno Haible  <bruno@clisp.org>
18769
18770         New module 'wmemcpy'.
18771         * modules/wmemcpy: New file.
18772         * lib/wchar.in.h (wmemcpy): New declaration.
18773         * lib/wmemcpy.c: New file.
18774         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
18775         * m4/wmemcpy.m4: New file.
18776         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
18777         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
18778         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
18779         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
18780         * doc/posix-functions/wmemcpy.texi: Mention the new module.
18781
18782 2011-02-05  Bruno Haible  <bruno@clisp.org>
18783
18784         New module 'wmemcmp'.
18785         * modules/wmemcmp: New file.
18786         * lib/wchar.in.h (wmemcmp): New declaration.
18787         * lib/wmemcmp.c: New file.
18788         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
18789         * m4/wmemcmp.m4: New file.
18790         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
18791         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
18792         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
18793         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
18794         * doc/posix-functions/wmemcmp.texi: Mention the new module.
18795
18796 2011-02-07  Jim Meyering  <meyering@redhat.com>
18797
18798         di-set, ino-map: new modules, from coreutils
18799         * lib/di-set.c: New file.
18800         * lib/di-set.h: Likewise.
18801         * lib/ino-map.c: Likewise.
18802         * lib/ino-map.h: Likewise.
18803         * modules/di-set: Likewise.
18804         * modules/di-set-tests: Likewise.
18805         * modules/ino-map: Likewise.
18806         * modules/ino-map-tests: Likewise.
18807         * tests/test-di-set.c: Likewise.
18808         * tests/test-ino-map.c: Likewise.
18809
18810 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
18811
18812         getloadavg: merge minor changes from Emacs
18813
18814         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
18815         (getloadavg): Use memset, not bzero.
18816
18817         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
18818         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
18819         clash (bug#86).
18820
18821 2010-11-14  Bruno Haible  <bruno@clisp.org>
18822
18823         Allow multiple gnulib generated replacements to coexist.
18824         * lib/getopt.in.h (struct option): Avoid identical redefinition.
18825         * lib/inttypes.in.h (imaxdiv_t): Likewise.
18826         * lib/langinfo.in.h (nl_item): Likewise.
18827         * lib/math.in.h (_NaN, NAN): Likewise.
18828         * lib/netdb.in.h (struct addrinfo): Likewise.
18829         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
18830         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
18831         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
18832         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
18833         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
18834         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
18835         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
18836         pthread_mutexattr_init, pthread_mutexattr_settype,
18837         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
18838         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
18839         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
18840         pthread_spin_trylock, pthread_spin_unlock): Likewise.
18841         * lib/sched.in.h (struct sched_param): Likewise.
18842         * lib/se-selinux.in.h (security_class_t, security_context_t,
18843         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
18844         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
18845         lsetfilecon, fsetfilecon, security_check_context,
18846         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
18847         Likewise.
18848         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
18849         Likewise.
18850         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
18851         _gl_function_taking_int_returning_void_t, union sigval,
18852         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
18853         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
18854         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
18855         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
18856         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
18857         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
18858         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
18859         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
18860         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
18861         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
18862         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
18863         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
18864         socklen_t, rpl_fd_isset): Likewise.
18865         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
18866         * lib/sys_time.in.h (struct timeval): Likewise.
18867         * lib/sys_times.in.h (struct tms): Likewise.
18868         * lib/sys_utsname.in.h (struct utsname):
18869         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
18870         * lib/unistd.in.h (getpagesize): Likewise.
18871         * lib/wchar.in.h (mbstate_t): Likewise.
18872         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
18873         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
18874         towlower, towupper): Likewise.
18875         Reported by Sam Steingold <sds@gnu.org>.
18876
18877 2011-02-05  Eric Blake  <eblake@redhat.com>
18878
18879         unsetenv: work around Haiku issues
18880         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
18881         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
18882
18883 2010-12-30  Bruce Korb  <bkorb@gnu.org>
18884
18885         libposix: avoid calling error() within libposix
18886         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
18887         is defined.
18888
18889 2011-02-05  Eric Blake  <eblake@redhat.com>
18890
18891         strerror_r-posix: port to cygwin
18892         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
18893         implementation.
18894         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
18895         * tests/test-strerror_r.c (main): Fix test.
18896         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
18897         issue.
18898
18899 2011-02-05  Bruno Haible  <bruno@clisp.org>
18900
18901         New module 'wmemchr'.
18902         * modules/wmemchr: New file.
18903         * lib/wchar.in.h (wmemchr): New declaration.
18904         * lib/wmemchr.c: New file.
18905         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
18906         * m4/wmemchr.m4: New file.
18907         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
18908         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
18909         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
18910         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
18911         * doc/posix-functions/wmemchr.texi: Mention the new module.
18912
18913 2011-02-04  Eric Blake  <eblake@redhat.com>
18914
18915         fdopendir: detect FreeBSD bug
18916         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
18917         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
18918
18919 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
18920
18921         stdbool: do not define HAVE_STDBOOL_H
18922         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
18923         AC_HEADER_STDBOOL.  All uses changed.  Do not define
18924         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
18925         imported from the latest Autoconf git.  It was motivated by Emacs,
18926         which uses gnulib but does not need HAVE_STDBOOL_H.
18927
18928 2011-02-04  Bruno Haible  <bruno@clisp.org>
18929
18930         wcsnrtombs: Prepare for new module wwcsnrtombs.
18931         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
18932         * lib/wcsnrtombs.c: Include it.
18933         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
18934
18935         wcsrtombs: Prepare for new module wwcsrtombs.
18936         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
18937         * lib/wcsrtombs.c: Include it.
18938         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
18939
18940         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
18941         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
18942         * lib/mbsnrtowcs.c: Include it.
18943         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
18944
18945         mbsrtowcs: Prepare for new module mbsrtowwcs.
18946         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
18947         * lib/mbsrtowcs.c: Include it.
18948         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
18949
18950 2011-02-04  Bruno Haible  <bruno@clisp.org>
18951
18952         vasnprintf: Reduce use of malloc for small format strings.
18953         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
18954         (arguments): Add room for the first 7 arguments.
18955         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
18956         (char_directives, u8_directives, u16_directives, u32_directives): Add
18957         room for the first 7 directives.
18958         * lib/printf-parse.c: Include <string.h>.
18959         (PRINTF_PARSE): Change memory handling code so that it uses the first
18960         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
18961         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
18962         Reported by Pádraig Brady <P@draigbrady.com>.
18963
18964 2011-01-31  Eric Blake  <eblake@redhat.com>
18965
18966         dup2: work around Haiku bug
18967         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
18968         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
18969         * doc/posix-functions/dup2.texi (dup2): Document the bug.
18970         * tests/test-dup2.c (main): Enhance test.
18971
18972 2011-01-31  Simon Josefsson  <simon@josefsson.org>
18973
18974         doc: off_t is not available in eglibc 2.11.2 stdio.h.
18975         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
18976         declared by eglibc 2.11.2.
18977         * lib/stdio.in.h: Likewise.
18978
18979 2011-01-31  Eric Blake  <eblake@redhat.com>
18980
18981         ignore-value: add missing test dependency
18982         * tests/test-ignore-value.c: Revert previous change; stdio.h
18983         provides off_t.
18984         * modules/ignore-value-tests (Depends-on): Add missing dependency.
18985
18986 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
18987
18988         mktime: clarify long_int width checking
18989         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
18990         the top level, to make it clearer that the assumption about
18991         long_int width is being checked.  See
18992         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
18993
18994 2011-01-30  Simon Josefsson  <simon@josefsson.org>
18995
18996         ignore-value: Fix self-test.
18997         * tests/test-ignore-value.c: Include sys/types.h for off_t.
18998
18999 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
19000
19001         TYPE_MAXIMUM: avoid theoretically undefined behavior
19002         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
19003         negative number, which the C Standard says has undefined behavior.
19004         In practice this is not a problem, but might as well do it by the book.
19005         Reported by Rich Felker and Eric Blake; see
19006         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
19007         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
19008         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
19009         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
19010         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
19011         * m4/stdint.m4 (gl_STDINT_H): Likewise.
19012         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
19013
19014         mktime: #undef mktime before #defining it
19015         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
19016
19017         mktime: systematically normalize tm_isdst comparisons
19018         * lib/mktime.c (isdst_differ): New function.
19019         (__mktime_internal): Use it systematically for all isdst comparisons.
19020         This completes the fix for libc BZ #6723, and removes the need for
19021         normalizing tm_isdst.  See
19022         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
19023         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
19024
19025         mktime: fix some integer overflow issues and sidestep the rest
19026
19027         This was prompted by a bug report by Benjamin Lindner for MinGW
19028         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
19029         His bug is due to signed integer overflow (0 - INT_MIN), and I
19030         I scanned through mktime.c looking for other integer overflow
19031         problems, fixing all the bugs I found.
19032
19033         Although the C Standard says the resulting code is still not safe
19034         in the presence of integer overflow, in practice it should be good
19035         enough for all real-world two's-complement implementations, except
19036         for debugging environments that deliberately trap on integer
19037         overflow (e.g., gcc -ftrapv).
19038
19039         * lib/mktime.c (WRAPV): New macro.
19040         (SHR): Also check that long_int and time_t shift right in the
19041         usual way, before using the fast-but-unportable method.
19042         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
19043         used.  The code already assumed two's complement, so there's
19044         no need to test for alternatives.  All uses removed.
19045         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
19046         the C standard.  Problem reported by Rich Felker in
19047         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
19048         (twos_complement_arithmetic): Also check long_int and time_t.
19049         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
19050         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
19051         (__mktime_internal): Avoid integer overflow with unary subtraction
19052         in two instances where -1 - X is an adequate replacement for -X,
19053         since the calculations are approximate.
19054
19055 2011-01-29  Eric Blake  <eblake@redhat.com>
19056
19057         mktime: avoid infinite loop
19058         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
19059         type; behavior is still undefined but portable to all known targets.
19060         Reported by Rich Felker.
19061
19062 2011-01-29  Simon Josefsson  <simon@josefsson.org>
19063
19064         rename, unlink, same-inode: Relicense.
19065         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
19066         * modules/unlink (License): Likewise.
19067         * modules/same-inode (License): Likewise.
19068
19069 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
19070
19071         mktime: avoid problems on NetBSD 5 / i386
19072         * lib/mktime.c (long_int): New type.  This works around a problem
19073         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
19074         but time_t is 64 bits, and where I expect the existing code is
19075         wrong in some cases.
19076         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
19077         (ydhms_diff): Bring back the compile-time check for wide-enough
19078         year and yday.
19079
19080         mktime: fix misspelling in comment
19081         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
19082         This merges all recent glibc changes of importance.
19083
19084 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
19085
19086         move-if-change: cope with concurrent mv of identical file.
19087         * build-aux/move-if-change (CMPPROG): Accept environment
19088         variable as an override for `cmp'.
19089         (usage): Document CMPPROG.
19090         Adjust comparison to drop stdout.  Cope with failure of mv if
19091         the target file exists and is identical to the source, for
19092         parallel builds.
19093         Report from H.J. Lu against binutils in PR binutils/12283.
19094
19095 2011-01-28  Bruce Korb  <bkorb@gnu.org>
19096
19097         * users.txt: Mention sharutils.
19098
19099 2011-01-28  Simon Josefsson  <simon@josefsson.org>
19100
19101         * users.txt: Mention OATH Toolkit.
19102
19103 2011-01-27  Bruno Haible  <bruno@clisp.org>
19104
19105         Prepare for supporting FreeBSD 10.
19106         * build-aux/config.libpath: Remove handling of freebsd1*.
19107
19108 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
19109
19110         Prepare for supporting FreeBSD 10.
19111         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
19112         match FreeBSD 10.0.
19113
19114 2011-01-27  Bruno Haible  <bruno@clisp.org>
19115
19116         vma-iter, get-rusage-as: Add OpenBSD support.
19117         * modules/vma-iter (configure.ac): Test for mquery.
19118         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
19119         * lib/vma-iter.c: Include <sys/mman.h>.
19120         (vma_iterate): Add an implementation based on mquery().
19121         * lib/resource-ext.h (get_rusage_as): Update comments.
19122         * lib/get-rusage-as.c: Likewise.
19123         * lib/get-rusage-data.c: Likewise.
19124
19125 2011-01-26  Karl Berry  <karl@gnu.org>
19126
19127         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
19128         variables to make it easier to override the makeinfo program used.
19129
19130 2011-01-26  Eric Blake  <eblake@redhat.com>
19131
19132         fcntl: work around Haiku F_DUPFD bugs
19133         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
19134         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
19135         cloexec bit on duplication.
19136         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
19137
19138 2011-01-26  Bruno Haible  <bruno@clisp.org>
19139
19140         Enable memory leak tests on AIX.
19141         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
19142         * tests/test-fprintf-posix3.c (main): Likewise.
19143
19144 2011-01-26  Bruno Haible  <bruno@clisp.org>
19145
19146         Tests for module 'get-rusage-data'.
19147         * modules/get-rusage-data-tests: New file.
19148         * tests/test-get-rusage-data.c: New file.
19149
19150         New module 'get-rusage-data'.
19151         * lib/resource-ext.h (get_rusage_data): New declaration.
19152         * lib/get-rusage-data.c: New file.
19153         * modules/get-rusage-data: New file.
19154
19155 2011-01-25  Bruno Haible  <bruno@clisp.org>
19156
19157         get-rusage-as: Allow for easier testing.
19158         * lib/resource-ext.h (get_rusage_as): Add comment.
19159         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
19160         (main): New function for interactive testing.
19161
19162 2011-01-25  Bruno Haible  <bruno@clisp.org>
19163
19164         vma-iter: Treat Haiku like BeOS.
19165         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
19166         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
19167
19168 2011-01-25  Eric Blake  <eblake@redhat.com>
19169
19170         c-stack: fix regression on cygwin when libsigsegv is present
19171         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
19172
19173 2011-01-24  Bruno Haible  <bruno@clisp.org>
19174
19175         vma-iter: Avoid empty intervals.
19176         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
19177         on an empty interval.
19178
19179 2011-01-24  Jim Meyering  <meyering@redhat.com>
19180
19181         u64: remove unnecessary #include
19182         * lib/u64.h: Don't include <stddef.h>.  It was not used.
19183
19184 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
19185
19186         Allow the user to avoid the HAVE_RAW_DECL_* macros.
19187         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
19188
19189 2011-01-23  Bruno Haible  <bruno@clisp.org>
19190
19191         New module 'vma-iter'.
19192         * lib/vma-iter.h: New file.
19193         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
19194         * modules/vma-iter: New file.
19195         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
19196         for get_rusage_as_via_iterator.
19197         (vma_iterate_callback): New function.
19198         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
19199         * modules/get-rusage-as (Depends-on): Add vma-iter.
19200
19201 2011-01-23  Bruno Haible  <bruno@clisp.org>
19202
19203         uninorm: Tweak includes.
19204         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
19205         Reported by Jim Meyering.
19206
19207 2011-01-23  Bruno Haible  <bruno@clisp.org>
19208
19209         get-rusage-as: Improve on NetBSD.
19210         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
19211         /proc, like on FreeBSD.
19212
19213 2011-01-23  Jim Meyering  <meyering@redhat.com>
19214
19215         xreadlink.h: remove unnecessary #include
19216         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
19217
19218         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
19219         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
19220
19221 2011-01-23  Bruno Haible  <bruno@clisp.org>
19222
19223         get-rusage-as: Fix bug.
19224         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
19225         original limit when aborting the first loop.
19226
19227 2011-01-23  Bruno Haible  <bruno@clisp.org>
19228
19229         wctype: Ensure valid C syntax.
19230         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
19231         unconditionally, instead of gl_NEXT_HEADERS conditionally.
19232
19233 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
19234
19235         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
19236         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
19237         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
19238         as they are needed only for configure's test case.
19239         This removes two unnecessary symbols from config.h.
19240
19241         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
19242         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
19243         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
19244         AC_CHECK_HEADERS_ONCE on a header that we also invoke
19245         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
19246         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
19247         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
19248         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
19249         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
19250         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
19251         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
19252         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
19253         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
19254         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
19255         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
19256         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
19257         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
19258         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
19259
19260 2011-01-21  Eric Blake  <eblake@redhat.com>
19261
19262         maintainer-makefile: work with older git for submodule check
19263         * top/maint.mk (public-submodule-commit): Rewrite to avoid
19264         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
19265         Reported by Matthias Bolte.
19266
19267         bootstrap: minor portability fixes
19268         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
19269         (usage): Omit leading capital and trailing . on help phrases, per
19270         GNU Coding Standards.
19271         (check_versions, top level): Prefix messages with script name.
19272
19273 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
19274
19275         bootstrap: support --no-git option
19276         * build-aux/bootstrap: Add --no-git option, to be used when
19277         --gnulib-srcdir points to the exact desired checkout.
19278
19279 2011-01-21  Eric Blake  <eblake@redhat.com>
19280
19281         strerror_r-posix: work with glibc 2.13
19282         * lib/strerror_r.c (strerror_r): Fix return type.
19283
19284 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19285             Bruno Haible  <bruno@clisp.org>
19286
19287         uN_strstr: New unit tests.
19288         * modules/unistr/u8-strstr-tests: New file.
19289         * modules/unistr/u16-strstr-tests: New file.
19290         * modules/unistr/u32-strstr-tests: New file.
19291         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
19292         * tests/unistr/test-u8-strstr.c: New file.
19293         * tests/unistr/test-u16-strstr.c: New file.
19294         * tests/unistr/test-u32-strstr.c: New file.
19295
19296 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19297             Bruno Haible  <bruno@clisp.org>
19298
19299         Make uN_strstr functions O(n) worst-case.
19300         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
19301         16-bit and 32-bit unit cases, use the unibyte algorithm from
19302         lib/mbsstr.c.
19303         * lib/unistr/u8-strstr.c: Include <string.h>.
19304         (UNIT_IS_UINT8_T): New macro.
19305         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
19306         (U_STRLEN, U_STRNLEN): New macros.
19307         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
19308         (U_STRLEN, U_STRNLEN): New macros.
19309         * modules/unistr/u8-strstr (Depends-on): Add strstr.
19310         (configure.ac): Update required libunistring version.
19311         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
19312         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
19313         malloca.
19314         (configure.ac): Update required libunistring version.
19315         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
19316         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
19317         malloca.
19318         (configure.ac): Update required libunistring version.
19319
19320 2011-01-21  Pádraig Brady  <P@draigBrady.com>
19321             Bruno Haible  <bruno@clisp.org>
19322
19323         Prepare for faster uN_strstr functions.
19324         * lib/str-kmp.h: Support definable UNITs.
19325         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
19326         needle_len argument.
19327         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
19328         * lib/mbscasestr.c (mbscasestr): Likewise.
19329
19330 2011-01-21  Pádraig Brady <P@draigBrady.com>
19331
19332         malloca-tests: make faster by unsetting MALLOC_PERTURB_
19333         * tests/test-malloca.c (main): Unset the environment variable
19334         to greatly speed up the test.
19335         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
19336         * modules/malloca-tests: Depend on unsetenv.
19337
19338 2011-01-21  Pádraig Brady <P@draigBrady.com>
19339
19340         ignore-value: remove stdint dependency
19341         * lib/ignore-value.h: Remove <stdint.h>
19342         * modules/ignore-value: Remove stdint dependency.
19343
19344 2011-01-21  Jim Meyering  <meyering@redhat.com>
19345
19346         maint.mk: adjust variable name to be consistent with other gl_ vars
19347         * top/maint.mk (gl_public_submodule_commit): Rename the variable
19348         to be lower case.
19349
19350 2011-01-20  Jim Meyering  <meyering@redhat.com>
19351
19352         maint.mk: make "check" depend on public-submodule-commit by default
19353         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
19354
19355 2011-01-20  Bruno Haible  <bruno@clisp.org>
19356
19357         mbfile, mbiter: Complete change from 2008-12-21.
19358         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
19359         * m4/mbiter.m4 (gl_MBITER): Likewise.
19360
19361 2011-01-20  Jim Meyering  <meyering@redhat.com>
19362
19363         init.sh: insert space between each function name and "()"
19364         * tests/init.sh: Make it a little easier to see that a function's
19365         name is "warn_", and not "warn" when looking at the first part of
19366         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
19367
19368 2011-01-20  Jim Meyering  <meyering@redhat.com>
19369
19370         mountlist: clean up code formatting
19371         * lib/mountlist.c (read_file_system_list): Split a long line,
19372         correct bracing style, use NULL in place of "(struct statfs *)0",
19373         don't parenthesize return value, add spaces around "=" and after
19374         ";-in-for-stmt".
19375
19376 2011-01-14  Markus Duft <mduft@gentoo.org>
19377
19378         mountlist: add support for Interix
19379         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
19380         Apply statvfs to all entries of /dev/fs.
19381         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
19382         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
19383
19384 2011-01-20  Jim Meyering  <meyering@redhat.com>
19385
19386         maint.mk: improve the public-submodule-commit rule
19387         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
19388         to suppress printing of its commands... unless V=1.
19389         Add git submodule's --quiet option to suppress printing of e.g.,
19390         "Entering gnulib" output.
19391         "cd" into $(srcdir) before running git submodule.
19392
19393 2011-01-20  Bruno Haible  <bruno@clisp.org>
19394
19395         include_next: Fix bug introduced on 2011-01-18.
19396         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
19397         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
19398         ac_cv_header_... variable if the second argument is not 'check'.
19399         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
19400         gl_NEXT_HEADERS_INTERNAL.
19401
19402 2011-01-20  Bruno Haible  <bruno@clisp.org>
19403
19404         Allow the user to avoid the GNULIB_TEST_* macros.
19405         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
19406         Suggested by Paul Eggert.
19407
19408 2011-01-14  Jim Meyering  <meyering@redhat.com>
19409
19410         bootstrap: avoid failure when there is no .gitmodules file
19411         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
19412         has been assigned to, even when its value is the empty string.
19413         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
19414         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
19415         Reported by John W. Eaton <jwe@gnu.org>.
19416
19417 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
19418
19419         assume <ctype.h>, ..., <time.h> exist
19420         For years gnulib has been assuming the existence of the headers
19421         <ctime.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
19422         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
19423         them, since they don't appear to be needed.
19424         * README (Portability guidelines): Document this.
19425         * lib/flock.c: Assume <fcntl.h> exists.
19426         * lib/regex_internal.h: Assume <locale.h> exists.
19427         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
19428         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
19429         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
19430         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
19431         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
19432         * m4/regex.m4 (gl_REGEX): Likewise.
19433         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
19434         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
19435         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
19436         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
19437         * tests/test-argp.c: Likewise.
19438         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
19439
19440         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
19441         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
19442         AA_APPLE_UNIVERSAL_BUILD.  See
19443         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
19444         * NEWS: Document this.
19445
19446 2011-01-19  Eric Blake  <eblake@redhat.com>
19447
19448         c-stack: assume stack overflow if SA_SIGINFO unsupported
19449         * lib/c-stack.c (SIGACTION_WORKS): Rename...
19450         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
19451         sigaction will work.
19452         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
19453         behavior match Linux.
19454         * tests/test-c-stack.c (main): Prefer NULL for pointers.
19455
19456         stdbool-tests: accomodate Haiku
19457         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
19458
19459         binary-io: fix O_TEXT on Haiku
19460         * modules/binary-io (Depends-on): Add fcntl-h.
19461         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
19462         than blindly undefining O_TEXT.
19463         Reported by Scott McCreary.
19464
19465 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19466
19467         include_next: do not check for standard headers like stddef.h
19468
19469         I found this problem when modifying Emacs to use gnulib.
19470         I noticed that it added HAVE_STDDEF_H to config.h, even though
19471         gnulib always assumes <stddef.h> exists as per README and this
19472         symbol is unnecessary.
19473         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
19474         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
19475         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
19476         faster for headers like stddef.h that are known to exist.
19477         (gl_CHECK_NEXT_HEADERS): Use it.
19478         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
19479         rather than gl_CHECK_NEXT_HEADERS.
19480         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
19481         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
19482
19483 2011-01-18  Eric Blake  <eblake@redhat.com>
19484
19485         ansi-c++-opt: skip C++ dependency style if C++ is unused
19486         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
19487         tests when we know C++ compilation is not desired.
19488         Reported by Scott McCreary.
19489
19490 2011-01-18  Bruno Haible  <bruno@clisp.org>
19491
19492         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
19493         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
19494         (main): Perform test also when getrlimit and setrlimit don't exist or
19495         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
19496         limiting the address space size using setrlimit, compare the address
19497         space size before and after the the test.
19498         * tests/test-dprintf-posix2.c: Likewise.
19499         * tests/test-fprintf-posix3.sh: Update skip messages.
19500         * tests/test-dprintf-posix2.sh: Likewise.
19501         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
19502         * modules/dprintf-posix-tests (Depends-on): Likewise.
19503         Reported by Bruce Korb <bkorb@gnu.org> and
19504         Gary V. Vaughan <gary@gnu.org>.
19505
19506 2011-01-18  Bruno Haible  <bruno@clisp.org>
19507
19508         get-rusage-as: Improvement for Cygwin.
19509         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
19510         areas that are merely reserved.
19511
19512 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
19513
19514         strftime: remove dependencies on multibyte modules
19515
19516         strftime depended on mbrlen, mbsinit, and wchar, but these modules
19517         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
19518         only if __osf__ is defined, and I suspect OSF doesn't need these
19519         other modules.  If my guess is wrong, we'll need to come up with a
19520         variant of strftime that doesn't need the multibyte modules.
19521
19522         I discovered this problem when attempting modify Emacs to use the
19523         strftime module.  With the previous gnulib, this caused Emacs to
19524         need 31 new files, ranging from lib/config.charset to
19525         m4/wint_t.m4.  This was overkill and I expect would be offputting
19526         to the Emacs maintainers.  After this change, only 6 new files are
19527         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
19528         stdbool.m4, and tm_gmtoff.m4.
19529
19530         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
19531         Suggested by Bruno Haible in
19532         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
19533         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
19534         and do not check for wchar.h.
19535         * modules/strftime (Files): Remove m4/mbstate_t.m4.
19536         (Depends-on): Remove mbrlen, mbsinit, wchar.
19537
19538 2011-01-18  Bruno Haible  <bruno@clisp.org>
19539
19540         Tests for module 'get-rusage-as'.
19541         * modules/get-rusage-as-tests: New file.
19542         * tests/test-get-rusage-as.c: New file.
19543
19544         New module 'get-rusage-as'.
19545         * modules/get-rusage-as: New file.
19546         * lib/resource-ext.h: New file.
19547         * lib/get-rusage-as.c: New file.
19548
19549 2011-01-17  Eric Blake  <eblake@redhat.com>
19550
19551         sigaction: relax license from LGPLv3+ to LGPLv2+
19552         * modules/sigaction (License): Relax to LGPLv2+.
19553
19554 2011-01-14  Bruno Haible  <bruno@clisp.org>
19555
19556         filemode: Make function declarations usable in C++ mode.
19557         * lib/filemode.h: Enclose function declarations in extern "C" block.
19558         Reported by John W. Eaton <jwe@gnu.org>.
19559
19560 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
19561
19562         save-cwd: no longer include "xgetcwd.h"
19563         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
19564         This avoids a compilation failure in projects that use save-cwd
19565         without also using the xgetcwd module.
19566
19567 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19568
19569         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
19570         This is so that a program like Emacs, which needs only dtoastr,
19571         does not have to bother with distributing and compiling ftoastr
19572         and ldtoastr.
19573         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
19574         * modules/dtoastr, modules/ldtoastr: New files.
19575         * modules/ftoastr: Now works just for 'float'.
19576         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
19577         (Makefile.am): Remove ftoastr.h (not needed and no effect),
19578         dtoastr.c, ldtoastr.c.
19579
19580 2011-01-11  Jim Meyering  <meyering@redhat.com>
19581
19582         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
19583         There is no need to work around the lack of the fchdir function,
19584         since gnulib can now provide a replacement when required.
19585         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
19586         * modules/save-cwd (Depends-on): Add fchdir.
19587
19588 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
19589
19590         openat, save-cwd: avoid xmalloc
19591
19592         This removes a direct (but undocumented) dependency of openat on
19593         xalloc, along with an indirect dependency via save-cwd.  It also
19594         removes a dependency of save-cwd on xgetcwd, and thereby
19595         indirectly on xalloc.  This change causes the openat substitute
19596         to fall back on save_cwd when memory is tight, and for save_cwd to
19597         fail instead of dying when memory is tight, but that's good enough.
19598         Problem and initial idea for fix reported by Bastien Roucaries in
19599         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
19600
19601         * lib/openat-proc.c: Include stdlib.h (for malloc), not
19602         xalloc.h (for xmalloc).
19603         (openat_proc_name): Use malloc, not xmalloc.
19604         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
19605         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
19606
19607         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
19608         This avoids heap allocation for file names whose lengths are in
19609         the range 512..1023, with the upper bound increasing to at most
19610         4031 depending on the platform's PATH_MAX.  (We do not want
19611         pathmax.h here as it might supply a non-constant PATH_MAX.)
19612         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
19613         Perhaps they should be moved to malloca.h?
19614         (OPENAT_BUFFER_SIZE): Use them.
19615
19616 2011-01-10  Bruno Haible  <bruno@clisp.org>
19617
19618         doc: Update users.txt.
19619         * users.txt: Add recutils.
19620
19621 2011-01-09  Karl Berry  <karl@gnu.org>
19622
19623         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
19624
19625         * doc/configmake.texi: New file.
19626         * doc/gnulib.texi: Include it.
19627         * modules/configmake: Move documentation from here.
19628
19629 2011-01-09  Bruno Haible  <bruno@clisp.org>
19630
19631         Update to Unicode 6.0.0.
19632         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
19633         (get_lbp): Update for Unicode 6.0.0.
19634         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
19635         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
19636         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
19637         U+11001, U+11038..U+11046. Remove U+06DE.
19638         (uc_width): Fix bounds of planes.
19639         * tests/uniwidth/test-uc_width2.sh: Same updates as in
19640         lib/uniwidth/width.c.
19641         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
19642         trailing whitespace removed.
19643         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
19644         without comments, but with the original copyright notice.
19645         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
19646         * lib/unicase/ignorable.h: Likewise.
19647         * lib/unicase/tocasefold.h: Likewise.
19648         * lib/unicase/tolower.h: Likewise.
19649         * lib/unicase/totitle.h: Likewise.
19650         * lib/unicase/toupper.h: Likewise.
19651         * lib/unictype/bidi_of.h: Likewise.
19652         * lib/unictype/blocks.h: Likewise.
19653         * lib/unictype/categ_C.h: Likewise.
19654         * lib/unictype/categ_Cn.h: Likewise.
19655         * lib/unictype/categ_L.h: Likewise.
19656         * lib/unictype/categ_Ll.h: Likewise.
19657         * lib/unictype/categ_Lm.h: Likewise.
19658         * lib/unictype/categ_Lo.h: Likewise.
19659         * lib/unictype/categ_Lu.h: Likewise.
19660         * lib/unictype/categ_M.h: Likewise.
19661         * lib/unictype/categ_Mc.h: Likewise.
19662         * lib/unictype/categ_Me.h: Likewise.
19663         * lib/unictype/categ_Mn.h: Likewise.
19664         * lib/unictype/categ_N.h: Likewise.
19665         * lib/unictype/categ_Nd.h: Likewise.
19666         * lib/unictype/categ_No.h: Likewise.
19667         * lib/unictype/categ_P.h: Likewise.
19668         * lib/unictype/categ_Po.h: Likewise.
19669         * lib/unictype/categ_S.h: Likewise.
19670         * lib/unictype/categ_Sc.h: Likewise.
19671         * lib/unictype/categ_Sk.h: Likewise.
19672         * lib/unictype/categ_Sm.h: Likewise.
19673         * lib/unictype/categ_So.h: Likewise.
19674         * lib/unictype/categ_of.h: Likewise.
19675         * lib/unictype/combining.h: Likewise.
19676         * lib/unictype/ctype_alnum.h: Likewise.
19677         * lib/unictype/ctype_alpha.h: Likewise.
19678         * lib/unictype/ctype_graph.h: Likewise.
19679         * lib/unictype/ctype_lower.h: Likewise.
19680         * lib/unictype/ctype_print.h: Likewise.
19681         * lib/unictype/ctype_punct.h: Likewise.
19682         * lib/unictype/ctype_upper.h: Likewise.
19683         * lib/unictype/decdigit.h: Likewise.
19684         * lib/unictype/digit.h: Likewise.
19685         * lib/unictype/numeric.h: Likewise.
19686         * lib/unictype/pr_alphabetic.h: Likewise.
19687         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
19688         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
19689         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
19690         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
19691         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
19692         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
19693         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
19694         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
19695         * lib/unictype/pr_case_ignorable.h: Likewise.
19696         * lib/unictype/pr_cased.h: Likewise.
19697         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
19698         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
19699         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
19700         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
19701         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
19702         * lib/unictype/pr_combining.h: Likewise.
19703         * lib/unictype/pr_composite.h: Likewise.
19704         * lib/unictype/pr_currency_symbol.h: Likewise.
19705         * lib/unictype/pr_decimal_digit.h: Likewise.
19706         * lib/unictype/pr_deprecated.h: Likewise.
19707         * lib/unictype/pr_format_control.h: Likewise.
19708         * lib/unictype/pr_grapheme_base.h: Likewise.
19709         * lib/unictype/pr_grapheme_extend.h: Likewise.
19710         * lib/unictype/pr_grapheme_link.h: Likewise.
19711         * lib/unictype/pr_id_continue.h: Likewise.
19712         * lib/unictype/pr_id_start.h: Likewise.
19713         * lib/unictype/pr_ideographic.h: Likewise.
19714         * lib/unictype/pr_lowercase.h: Likewise.
19715         * lib/unictype/pr_math.h: Likewise.
19716         * lib/unictype/pr_numeric.h: Likewise.
19717         * lib/unictype/pr_other_alphabetic.h: Likewise.
19718         * lib/unictype/pr_other_id_continue.h: Likewise.
19719         * lib/unictype/pr_other_math.h: Likewise.
19720         * lib/unictype/pr_punctuation.h: Likewise.
19721         * lib/unictype/pr_sentence_terminal.h: Likewise.
19722         * lib/unictype/pr_terminal_punctuation.h: Likewise.
19723         * lib/unictype/pr_unassigned_code_value.h: Likewise.
19724         * lib/unictype/pr_unified_ideograph.h: Likewise.
19725         * lib/unictype/pr_uppercase.h: Likewise.
19726         * lib/unictype/pr_xid_continue.h: Likewise.
19727         * lib/unictype/pr_xid_start.h: Likewise.
19728         * lib/unictype/scripts.h: Likewise.
19729         * lib/unictype/scripts_byname.gperf: Likewise.
19730         * lib/unictype/sy_java_ident.h: Likewise.
19731         * lib/unigbrk/gbrkprop.h: Likewise.
19732         * lib/unilbrk/lbrkprop1.h: Likewise.
19733         * lib/unilbrk/lbrkprop2.h: Likewise.
19734         * lib/uninorm/decomposition-table2.h: Likewise.
19735         * lib/uniwbrk/wbrkprop.h: Likewise.
19736         * tests/unicase/test-cased.c: Likewise.
19737         * tests/unicase/test-ignorable.c: Likewise.
19738         * tests/unicase/test-uc_tolower.c: Likewise.
19739         * tests/unicase/test-uc_totitle.c: Likewise.
19740         * tests/unicase/test-uc_toupper.c: Likewise.
19741         * tests/unictype/test-categ_C.c: Likewise.
19742         * tests/unictype/test-categ_Cn.c: Likewise.
19743         * tests/unictype/test-categ_L.c: Likewise.
19744         * tests/unictype/test-categ_Ll.c: Likewise.
19745         * tests/unictype/test-categ_Lm.c: Likewise.
19746         * tests/unictype/test-categ_Lo.c: Likewise.
19747         * tests/unictype/test-categ_Lu.c: Likewise.
19748         * tests/unictype/test-categ_M.c: Likewise.
19749         * tests/unictype/test-categ_Mc.c: Likewise.
19750         * tests/unictype/test-categ_Me.c: Likewise.
19751         * tests/unictype/test-categ_Mn.c: Likewise.
19752         * tests/unictype/test-categ_N.c: Likewise.
19753         * tests/unictype/test-categ_Nd.c: Likewise.
19754         * tests/unictype/test-categ_No.c: Likewise.
19755         * tests/unictype/test-categ_P.c: Likewise.
19756         * tests/unictype/test-categ_Po.c: Likewise.
19757         * tests/unictype/test-categ_S.c: Likewise.
19758         * tests/unictype/test-categ_Sc.c: Likewise.
19759         * tests/unictype/test-categ_Sk.c: Likewise.
19760         * tests/unictype/test-categ_Sm.c: Likewise.
19761         * tests/unictype/test-categ_So.c: Likewise.
19762         * tests/unictype/test-ctype_alnum.c: Likewise.
19763         * tests/unictype/test-ctype_alpha.c: Likewise.
19764         * tests/unictype/test-ctype_graph.c: Likewise.
19765         * tests/unictype/test-ctype_lower.c: Likewise.
19766         * tests/unictype/test-ctype_print.c: Likewise.
19767         * tests/unictype/test-ctype_punct.c: Likewise.
19768         * tests/unictype/test-ctype_upper.c: Likewise.
19769         * tests/unictype/test-decdigit.h: Likewise.
19770         * tests/unictype/test-digit.h: Likewise.
19771         * tests/unictype/test-numeric.h: Likewise.
19772         * tests/unictype/test-pr_alphabetic.c: Likewise.
19773         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
19774         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
19775         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
19776         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
19777         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
19778         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
19779         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
19780         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
19781         * tests/unictype/test-pr_case_ignorable.c: Likewise.
19782         * tests/unictype/test-pr_cased.c: Likewise.
19783         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
19784         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
19785         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
19786         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
19787         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
19788         * tests/unictype/test-pr_combining.c: Likewise.
19789         * tests/unictype/test-pr_composite.c: Likewise.
19790         * tests/unictype/test-pr_currency_symbol.c: Likewise.
19791         * tests/unictype/test-pr_decimal_digit.c: Likewise.
19792         * tests/unictype/test-pr_deprecated.c: Likewise.
19793         * tests/unictype/test-pr_format_control.c: Likewise.
19794         * tests/unictype/test-pr_grapheme_base.c: Likewise.
19795         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
19796         * tests/unictype/test-pr_grapheme_link.c: Likewise.
19797         * tests/unictype/test-pr_id_continue.c: Likewise.
19798         * tests/unictype/test-pr_id_start.c: Likewise.
19799         * tests/unictype/test-pr_ideographic.c: Likewise.
19800         * tests/unictype/test-pr_lowercase.c: Likewise.
19801         * tests/unictype/test-pr_math.c: Likewise.
19802         * tests/unictype/test-pr_numeric.c: Likewise.
19803         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
19804         * tests/unictype/test-pr_other_id_continue.c: Likewise.
19805         * tests/unictype/test-pr_other_math.c: Likewise.
19806         * tests/unictype/test-pr_punctuation.c: Likewise.
19807         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
19808         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
19809         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
19810         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
19811         * tests/unictype/test-pr_uppercase.c: Likewise.
19812         * tests/unictype/test-pr_xid_continue.c: Likewise.
19813         * tests/unictype/test-pr_xid_start.c: Likewise.
19814         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
19815         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
19816         changes.
19817         * lib/unictype/categ_Cc.h: Likewise.
19818         * lib/unictype/categ_Cf.h: Likewise.
19819         * lib/unictype/categ_Co.h: Likewise.
19820         * lib/unictype/categ_Cs.h: Likewise.
19821         * lib/unictype/categ_Lt.h: Likewise.
19822         * lib/unictype/categ_Nl.h: Likewise.
19823         * lib/unictype/categ_Pc.h: Likewise.
19824         * lib/unictype/categ_Pd.h: Likewise.
19825         * lib/unictype/categ_Pe.h: Likewise.
19826         * lib/unictype/categ_Pf.h: Likewise.
19827         * lib/unictype/categ_Pi.h: Likewise.
19828         * lib/unictype/categ_Ps.h: Likewise.
19829         * lib/unictype/categ_Z.h: Likewise.
19830         * lib/unictype/categ_Zl.h: Likewise.
19831         * lib/unictype/categ_Zp.h: Likewise.
19832         * lib/unictype/categ_Zs.h: Likewise.
19833         * lib/unictype/ctype_blank.h: Likewise.
19834         * lib/unictype/ctype_cntrl.h: Likewise.
19835         * lib/unictype/ctype_digit.h: Likewise.
19836         * lib/unictype/ctype_space.h: Likewise.
19837         * lib/unictype/ctype_xdigit.h: Likewise.
19838         * lib/unictype/mirror.h: Likewise.
19839         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
19840         * lib/unictype/pr_bidi_block_separator.h: Likewise.
19841         * lib/unictype/pr_bidi_common_separator.h: Likewise.
19842         * lib/unictype/pr_bidi_control.h: Likewise.
19843         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
19844         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
19845         * lib/unictype/pr_bidi_european_digit.h: Likewise.
19846         * lib/unictype/pr_bidi_pdf.h: Likewise.
19847         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
19848         * lib/unictype/pr_bidi_whitespace.h: Likewise.
19849         * lib/unictype/pr_dash.h: Likewise.
19850         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
19851         * lib/unictype/pr_diacritic.h: Likewise.
19852         * lib/unictype/pr_extender.h: Likewise.
19853         * lib/unictype/pr_hex_digit.h: Likewise.
19854         * lib/unictype/pr_hyphen.h: Likewise.
19855         * lib/unictype/pr_ids_binary_operator.h: Likewise.
19856         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
19857         * lib/unictype/pr_ignorable_control.h: Likewise.
19858         * lib/unictype/pr_iso_control.h: Likewise.
19859         * lib/unictype/pr_join_control.h: Likewise.
19860         * lib/unictype/pr_left_of_pair.h: Likewise.
19861         * lib/unictype/pr_line_separator.h: Likewise.
19862         * lib/unictype/pr_logical_order_exception.h: Likewise.
19863         * lib/unictype/pr_non_break.h: Likewise.
19864         * lib/unictype/pr_not_a_character.h: Likewise.
19865         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
19866         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
19867         * lib/unictype/pr_other_id_start.h: Likewise.
19868         * lib/unictype/pr_other_lowercase.h: Likewise.
19869         * lib/unictype/pr_other_uppercase.h: Likewise.
19870         * lib/unictype/pr_paired_punctuation.h: Likewise.
19871         * lib/unictype/pr_paragraph_separator.h: Likewise.
19872         * lib/unictype/pr_pattern_syntax.h: Likewise.
19873         * lib/unictype/pr_pattern_white_space.h: Likewise.
19874         * lib/unictype/pr_private_use.h: Likewise.
19875         * lib/unictype/pr_quotation_mark.h: Likewise.
19876         * lib/unictype/pr_radical.h: Likewise.
19877         * lib/unictype/pr_soft_dotted.h: Likewise.
19878         * lib/unictype/pr_space.h: Likewise.
19879         * lib/unictype/pr_titlecase.h: Likewise.
19880         * lib/unictype/pr_variation_selector.h: Likewise.
19881         * lib/unictype/pr_white_space.h: Likewise.
19882         * lib/unictype/pr_zero_width.h: Likewise.
19883         * lib/unictype/sy_c_ident.h: Likewise.
19884         * lib/unictype/sy_c_whitespace.h: Likewise.
19885         * lib/unictype/sy_java_whitespace.h: Likewise.
19886         * lib/uninorm/composition-table.gperf: Likewise.
19887         * lib/uninorm/decomposition-table1.h: Likewise.
19888         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
19889         LB8.
19890         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
19891         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
19892         * modules/unictype/*: Bump version number of expected libunistring
19893         version.
19894
19895 2011-01-09  Bruno Haible  <bruno@clisp.org>
19896
19897         Update to Unicode 5.2.0.
19898         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
19899         trailing whitespace removed.
19900
19901 2011-01-09  Bruno Haible  <bruno@clisp.org>
19902
19903         New Unicode character properties, from Unicode 5.2.0.
19904         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
19905         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
19906         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
19907         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
19908         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
19909         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
19910         uc_is_property_cased, uc_is_property_case_ignorable,
19911         uc_is_property_changes_when_lowercased,
19912         uc_is_property_changes_when_uppercased,
19913         uc_is_property_changes_when_titlecased,
19914         uc_is_property_changes_when_casefolded,
19915         uc_is_property_changes_when_casemapped): New declarations.
19916         * lib/unictype/pr_byname.gperf: Add the new properties.
19917         * modules/unictype/property-byname (Depends-on): Depend on the new
19918         properties modules.
19919         * modules/unictype/property-all (Depends-on): Likewise.
19920         * MODULES.html.sh (Unicode string functions): Add
19921         unictype/property-case-ignorable, unictype/property-cased,
19922         unictype/property-changes-when-casefolded,
19923         unictype/property-changes-when-casemapped,
19924         unictype/property-changes-when-lowercased,
19925         unictype/property-changes-when-titlecased,
19926         unictype/property-changes-when-uppercased.
19927
19928         New module 'unictype/property-changes-when-casemapped'.
19929         * modules/unictype/property-changes-when-casemapped: New file.
19930         * lib/unictype/pr_changes_when_casemapped.c: New file.
19931         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
19932         generated by gen-uni-tables.
19933         * modules/unictype/property-changes-when-casemapped-tests: New file.
19934         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
19935         automatically generated by gen-uni-tables.
19936
19937         New module 'unictype/property-changes-when-casefolded'.
19938         * modules/unictype/property-changes-when-casefolded: New file.
19939         * lib/unictype/pr_changes_when_casefolded.c: New file.
19940         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
19941         generated by gen-uni-tables.
19942         * modules/unictype/property-changes-when-casefolded-tests: New file.
19943         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
19944         automatically generated by gen-uni-tables.
19945
19946         New module 'unictype/property-changes-when-titlecased'.
19947         * modules/unictype/property-changes-when-titlecased: New file.
19948         * lib/unictype/pr_changes_when_titlecased.c: New file.
19949         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
19950         generated by gen-uni-tables.
19951         * modules/unictype/property-changes-when-titlecased-tests: New file.
19952         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
19953         automatically generated by gen-uni-tables.
19954
19955         New module 'unictype/property-changes-when-uppercased'.
19956         * modules/unictype/property-changes-when-uppercased: New file.
19957         * lib/unictype/pr_changes_when_uppercased.c: New file.
19958         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
19959         generated by gen-uni-tables.
19960         * modules/unictype/property-changes-when-uppercased-tests: New file.
19961         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
19962         automatically generated by gen-uni-tables.
19963
19964         New module 'unictype/property-changes-when-lowercased'.
19965         * modules/unictype/property-changes-when-lowercased: New file.
19966         * lib/unictype/pr_changes_when_lowercased.c: New file.
19967         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
19968         generated by gen-uni-tables.
19969         * modules/unictype/property-changes-when-lowercased-tests: New file.
19970         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
19971         automatically generated by gen-uni-tables.
19972
19973         New module 'unictype/property-case-ignorable'.
19974         * modules/unictype/property-case-ignorable: New file.
19975         * lib/unictype/pr_case_ignorable.c: New file.
19976         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
19977         by gen-uni-tables.
19978         * modules/unictype/property-case-ignorable-tests: New file.
19979         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
19980         generated by gen-uni-tables.
19981
19982         New module 'unictype/property-cased'.
19983         * modules/unictype/property-cased: New file.
19984         * lib/unictype/pr_cased.c: New file.
19985         * lib/unictype/pr_cased.h: New file, automatically generated by
19986         gen-uni-tables.
19987         * modules/unictype/property-cased-tests: New file.
19988         * tests/unictype/test-pr_cased.c: New file, automatically generated by
19989         gen-uni-tables.
19990
19991 2011-01-09  Bruno Haible  <bruno@clisp.org>
19992
19993         Update to Unicode 5.2.0.
19994         * lib/gen-uni-tables.c (output_predicate, output_category,
19995         output_combclass, output_bidi_category, output_decimal_digit_test,
19996         output_decimal_digit, output_digit_test, output_digit,
19997         output_numeric_test, output_numeric, output_mirror, output_scripts,
19998         output_scripts_byname, output_blocks, output_ident_category): Fix
19999         comment header.
20000         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
20001         get_wbp.
20002         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
20003         items.
20004         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
20005         Changes_When_Lowercased, Changes_When_Uppercased,
20006         Changes_When_Titlecased, Changes_When_Casefolded,
20007         Changes_When_Casemapped.
20008         (is_property_alphabetic, is_property_default_ignorable_code_point):
20009         Update for Unicode 5.2.0.
20010         (is_property_cased, is_property_case_ignorable,
20011         is_property_changes_when_lowercased,
20012         is_property_changes_when_uppercased,
20013         is_property_changes_when_titlecased,
20014         is_property_changes_when_casefolded,
20015         is_property_changes_when_casemapped): New functions.
20016         (output_properties): Output also the properties cased, case_ignorable,
20017         changes_when_lowercased, changes_when_uppercased,
20018         changes_when_titlecased, changes_when_casefolded,
20019         changes_when_casemapped.
20020         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
20021         Unicode TR#11 revision 17 -> 19.
20022         (LBP_CP): New enumeration value.
20023         (LBP_*): Adjust values accordingly.
20024         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
20025         TR#14 revision 22 -> 24.
20026         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
20027         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
20028         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
20029         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
20030         is_WBP_MIDLETTER.
20031         (output_composition_tables): Allow for 24 bits instead of 16 bits in
20032         the code1 and code2 of each composition rule.
20033         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
20034         * lib/unicase/ignorable.h: Likewise.
20035         * lib/unicase/tocasefold.h: Likewise.
20036         * lib/unicase/tolower.h: Likewise.
20037         * lib/unicase/totitle.h: Likewise.
20038         * lib/unicase/toupper.h: Likewise.
20039         * lib/unictype/bidi_of.h: Likewise.
20040         * lib/unictype/blocks.h: Likewise.
20041         * lib/unictype/categ_C.h: Likewise.
20042         * lib/unictype/categ_Cf.h: Likewise.
20043         * lib/unictype/categ_Cn.h: Likewise.
20044         * lib/unictype/categ_L.h: Likewise.
20045         * lib/unictype/categ_Ll.h: Likewise.
20046         * lib/unictype/categ_Lm.h: Likewise.
20047         * lib/unictype/categ_Lo.h: Likewise.
20048         * lib/unictype/categ_Lu.h: Likewise.
20049         * lib/unictype/categ_M.h: Likewise.
20050         * lib/unictype/categ_Mc.h: Likewise.
20051         * lib/unictype/categ_Mn.h: Likewise.
20052         * lib/unictype/categ_N.h: Likewise.
20053         * lib/unictype/categ_Nd.h: Likewise.
20054         * lib/unictype/categ_Nl.h: Likewise.
20055         * lib/unictype/categ_No.h: Likewise.
20056         * lib/unictype/categ_P.h: Likewise.
20057         * lib/unictype/categ_Pd.h: Likewise.
20058         * lib/unictype/categ_Po.h: Likewise.
20059         * lib/unictype/categ_S.h: Likewise.
20060         * lib/unictype/categ_Sc.h: Likewise.
20061         * lib/unictype/categ_So.h: Likewise.
20062         * lib/unictype/categ_of.h: Likewise.
20063         * lib/unictype/combining.h: Likewise.
20064         * lib/unictype/ctype_alnum.h: Likewise.
20065         * lib/unictype/ctype_alpha.h: Likewise.
20066         * lib/unictype/ctype_graph.h: Likewise.
20067         * lib/unictype/ctype_lower.h: Likewise.
20068         * lib/unictype/ctype_print.h: Likewise.
20069         * lib/unictype/ctype_punct.h: Likewise.
20070         * lib/unictype/ctype_upper.h: Likewise.
20071         * lib/unictype/decdigit.h: Likewise.
20072         * lib/unictype/digit.h: Likewise.
20073         * lib/unictype/numeric.h: Likewise.
20074         * lib/unictype/pr_alphabetic.h: Likewise.
20075         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
20076         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
20077         * lib/unictype/pr_bidi_european_digit.h: Likewise.
20078         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
20079         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
20080         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
20081         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
20082         * lib/unictype/pr_combining.h: Likewise.
20083         * lib/unictype/pr_composite.h: Likewise.
20084         * lib/unictype/pr_currency_symbol.h: Likewise.
20085         * lib/unictype/pr_dash.h: Likewise.
20086         * lib/unictype/pr_decimal_digit.h: Likewise.
20087         * lib/unictype/pr_deprecated.h: Likewise.
20088         * lib/unictype/pr_diacritic.h: Likewise.
20089         * lib/unictype/pr_extender.h: Likewise.
20090         * lib/unictype/pr_grapheme_base.h: Likewise.
20091         * lib/unictype/pr_grapheme_extend.h: Likewise.
20092         * lib/unictype/pr_grapheme_link.h: Likewise.
20093         * lib/unictype/pr_id_continue.h: Likewise.
20094         * lib/unictype/pr_id_start.h: Likewise.
20095         * lib/unictype/pr_ideographic.h: Likewise.
20096         * lib/unictype/pr_ignorable_control.h: Likewise.
20097         * lib/unictype/pr_logical_order_exception.h: Likewise.
20098         * lib/unictype/pr_lowercase.h: Likewise.
20099         * lib/unictype/pr_numeric.h: Likewise.
20100         * lib/unictype/pr_other_alphabetic.h: Likewise.
20101         * lib/unictype/pr_punctuation.h: Likewise.
20102         * lib/unictype/pr_sentence_terminal.h: Likewise.
20103         * lib/unictype/pr_terminal_punctuation.h: Likewise.
20104         * lib/unictype/pr_unassigned_code_value.h: Likewise.
20105         * lib/unictype/pr_unified_ideograph.h: Likewise.
20106         * lib/unictype/pr_uppercase.h: Likewise.
20107         * lib/unictype/pr_xid_continue.h: Likewise.
20108         * lib/unictype/pr_xid_start.h: Likewise.
20109         * lib/unictype/pr_zero_width.h: Likewise.
20110         * lib/unictype/scripts.h: Likewise.
20111         * lib/unictype/scripts_byname.gperf: Likewise.
20112         * lib/unictype/sy_java_ident.h: Likewise.
20113         * lib/unigbrk/gbrkprop.h: Likewise.
20114         * lib/unilbrk/lbrkprop1.h: Likewise.
20115         * lib/unilbrk/lbrkprop2.h: Likewise.
20116         * lib/unilbrk/lbrktables.h: Likewise.
20117         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
20118         LBP_CP. Implement rule LB30.
20119         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
20120         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
20121         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
20122         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
20123         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
20124         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
20125         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
20126         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
20127         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
20128         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
20129         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
20130         bits instead of 16 bits in the code1 and code2 of each composition
20131         rule.
20132         (uc_composition): Update for Unicode 5.2.0.
20133         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
20134         * lib/uninorm/decomposition-table2.h: Likewise.
20135         * lib/uniwbrk/wbrkprop.h: Likewise.
20136         * tests/unicase/test-cased.c: Likewise.
20137         * tests/unicase/test-ignorable.c: Likewise.
20138         * tests/unicase/test-uc_tolower.c: Likewise.
20139         * tests/unicase/test-uc_totitle.c: Likewise.
20140         * tests/unicase/test-uc_toupper.c: Likewise.
20141         * tests/unictype/test-categ_C.c: Likewise.
20142         * tests/unictype/test-categ_Cf.c: Likewise.
20143         * tests/unictype/test-categ_Cn.c: Likewise.
20144         * tests/unictype/test-categ_L.c: Likewise.
20145         * tests/unictype/test-categ_Ll.c: Likewise.
20146         * tests/unictype/test-categ_Lm.c: Likewise.
20147         * tests/unictype/test-categ_Lo.c: Likewise.
20148         * tests/unictype/test-categ_Lu.c: Likewise.
20149         * tests/unictype/test-categ_M.c: Likewise.
20150         * tests/unictype/test-categ_Mc.c: Likewise.
20151         * tests/unictype/test-categ_Mn.c: Likewise.
20152         * tests/unictype/test-categ_N.c: Likewise.
20153         * tests/unictype/test-categ_Nd.c: Likewise.
20154         * tests/unictype/test-categ_Nl.c: Likewise.
20155         * tests/unictype/test-categ_No.c: Likewise.
20156         * tests/unictype/test-categ_P.c: Likewise.
20157         * tests/unictype/test-categ_Pd.c: Likewise.
20158         * tests/unictype/test-categ_Po.c: Likewise.
20159         * tests/unictype/test-categ_S.c: Likewise.
20160         * tests/unictype/test-categ_Sc.c: Likewise.
20161         * tests/unictype/test-categ_So.c: Likewise.
20162         * tests/unictype/test-ctype_alnum.c: Likewise.
20163         * tests/unictype/test-ctype_alpha.c: Likewise.
20164         * tests/unictype/test-ctype_graph.c: Likewise.
20165         * tests/unictype/test-ctype_lower.c: Likewise.
20166         * tests/unictype/test-ctype_print.c: Likewise.
20167         * tests/unictype/test-ctype_punct.c: Likewise.
20168         * tests/unictype/test-ctype_upper.c: Likewise.
20169         * tests/unictype/test-decdigit.h: Likewise.
20170         * tests/unictype/test-digit.h: Likewise.
20171         * tests/unictype/test-numeric.h: Likewise.
20172         * tests/unictype/test-pr_alphabetic.c: Likewise.
20173         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
20174         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
20175         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
20176         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
20177         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
20178         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
20179         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
20180         * tests/unictype/test-pr_combining.c: Likewise.
20181         * tests/unictype/test-pr_composite.c: Likewise.
20182         * tests/unictype/test-pr_currency_symbol.c: Likewise.
20183         * tests/unictype/test-pr_dash.c: Likewise.
20184         * tests/unictype/test-pr_decimal_digit.c: Likewise.
20185         * tests/unictype/test-pr_deprecated.c: Likewise.
20186         * tests/unictype/test-pr_diacritic.c: Likewise.
20187         * tests/unictype/test-pr_extender.c: Likewise.
20188         * tests/unictype/test-pr_grapheme_base.c: Likewise.
20189         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
20190         * tests/unictype/test-pr_grapheme_link.c: Likewise.
20191         * tests/unictype/test-pr_id_continue.c: Likewise.
20192         * tests/unictype/test-pr_id_start.c: Likewise.
20193         * tests/unictype/test-pr_ideographic.c: Likewise.
20194         * tests/unictype/test-pr_ignorable_control.c: Likewise.
20195         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
20196         * tests/unictype/test-pr_lowercase.c: Likewise.
20197         * tests/unictype/test-pr_numeric.c: Likewise.
20198         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
20199         * tests/unictype/test-pr_punctuation.c: Likewise.
20200         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
20201         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
20202         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
20203         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
20204         * tests/unictype/test-pr_uppercase.c: Likewise.
20205         * tests/unictype/test-pr_xid_continue.c: Likewise.
20206         * tests/unictype/test-pr_xid_start.c: Likewise.
20207         * tests/unictype/test-pr_zero_width.c: Likewise.
20208         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
20209         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
20210         changed behaviour: line breaking is now disallowed between a letter
20211         or '=' and '('.
20212         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
20213         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
20214         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
20215         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
20216         * tests/uniwidth/test-uc_width2.sh: Same updates as in
20217         lib/uniwidth/width.c.
20218         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
20219         without comments, but with the original copyright notice.
20220         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
20221         changes.
20222         * lib/unictype/categ_Cc.h: Likewise.
20223         * lib/unictype/categ_Co.h: Likewise.
20224         * lib/unictype/categ_Cs.h: Likewise.
20225         * lib/unictype/categ_Lt.h: Likewise.
20226         * lib/unictype/categ_Me.h: Likewise.
20227         * lib/unictype/categ_Pc.h: Likewise.
20228         * lib/unictype/categ_Pe.h: Likewise.
20229         * lib/unictype/categ_Pf.h: Likewise.
20230         * lib/unictype/categ_Pi.h: Likewise.
20231         * lib/unictype/categ_Ps.h: Likewise.
20232         * lib/unictype/categ_Sk.h: Likewise.
20233         * lib/unictype/categ_Sm.h: Likewise.
20234         * lib/unictype/categ_Z.h: Likewise.
20235         * lib/unictype/categ_Zl.h: Likewise.
20236         * lib/unictype/categ_Zp.h: Likewise.
20237         * lib/unictype/categ_Zs.h: Likewise.
20238         * lib/unictype/ctype_blank.h: Likewise.
20239         * lib/unictype/ctype_cntrl.h: Likewise.
20240         * lib/unictype/ctype_digit.h: Likewise.
20241         * lib/unictype/ctype_space.h: Likewise.
20242         * lib/unictype/ctype_xdigit.h: Likewise.
20243         * lib/unictype/mirror.h: Likewise.
20244         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
20245         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
20246         * lib/unictype/pr_bidi_block_separator.h: Likewise.
20247         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
20248         * lib/unictype/pr_bidi_common_separator.h: Likewise.
20249         * lib/unictype/pr_bidi_control.h: Likewise.
20250         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
20251         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
20252         * lib/unictype/pr_bidi_pdf.h: Likewise.
20253         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
20254         * lib/unictype/pr_bidi_whitespace.h: Likewise.
20255         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
20256         * lib/unictype/pr_format_control.h: Likewise.
20257         * lib/unictype/pr_hex_digit.h: Likewise.
20258         * lib/unictype/pr_hyphen.h: Likewise.
20259         * lib/unictype/pr_ids_binary_operator.h: Likewise.
20260         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
20261         * lib/unictype/pr_iso_control.h: Likewise.
20262         * lib/unictype/pr_join_control.h: Likewise.
20263         * lib/unictype/pr_left_of_pair.h: Likewise.
20264         * lib/unictype/pr_line_separator.h: Likewise.
20265         * lib/unictype/pr_math.h: Likewise.
20266         * lib/unictype/pr_non_break.h: Likewise.
20267         * lib/unictype/pr_not_a_character.h: Likewise.
20268         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
20269         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
20270         * lib/unictype/pr_other_id_continue.h: Likewise.
20271         * lib/unictype/pr_other_id_start.h: Likewise.
20272         * lib/unictype/pr_other_lowercase.h: Likewise.
20273         * lib/unictype/pr_other_math.h: Likewise.
20274         * lib/unictype/pr_other_uppercase.h: Likewise.
20275         * lib/unictype/pr_paired_punctuation.h: Likewise.
20276         * lib/unictype/pr_paragraph_separator.h: Likewise.
20277         * lib/unictype/pr_pattern_syntax.h: Likewise.
20278         * lib/unictype/pr_pattern_white_space.h: Likewise.
20279         * lib/unictype/pr_private_use.h: Likewise.
20280         * lib/unictype/pr_quotation_mark.h: Likewise.
20281         * lib/unictype/pr_radical.h: Likewise.
20282         * lib/unictype/pr_soft_dotted.h: Likewise.
20283         * lib/unictype/pr_space.h: Likewise.
20284         * lib/unictype/pr_titlecase.h: Likewise.
20285         * lib/unictype/pr_variation_selector.h: Likewise.
20286         * lib/unictype/pr_white_space.h: Likewise.
20287         * lib/unictype/sy_c_ident.h: Likewise.
20288         * lib/unictype/sy_c_whitespace.h: Likewise.
20289         * lib/unictype/sy_java_whitespace.h: Likewise.
20290         * modules/uni*/*: Bump version number of expected libunistring version.
20291         Reported by Simon Josefsson.
20292
20293 2011-01-09  Karl Heuer  <kwzh@gnu.org>
20294
20295         useless-if-before-free: fix typo in --help and make the internal,
20296         automatic version date update process work once again.
20297         --help output contained a NUL character instead of the
20298         backslash-zero that was intended.  Also, the "must lie within
20299         the first 8 lines" line is on line 9, and hence not getting
20300         automatically updated.
20301         * build-aux/useless-if-before-free: Fix the former by adding a
20302         backslash, and the latter by condensing the three lines of what-it-does
20303         to a single line, leaving one line of slack for the future.
20304
20305 2011-01-09  Bruno Haible  <bruno@clisp.org>
20306
20307         uniwidth/width: Fix width of U+1D173..U+1D17A.
20308         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
20309         symbolic_width, output_width_property_test): New functions.
20310         (main): Invoke output_nonspacing_property, output_width_property_test.
20311         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
20312         U+1D173..U+1D17A.
20313         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
20314         1.
20315         * modules/uniwidth/*: Bump version number of expected libunistring
20316         version.
20317         * modules/unilbrk/*: Likewise.
20318
20319 2011-01-08  Bruno Haible  <bruno@clisp.org>
20320
20321         uninorm tests: Preserve copyright of Unicode data file.
20322         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
20323         Mention modifications.
20324
20325 2011-01-08  Bruno Haible  <bruno@clisp.org>
20326
20327         gen-uni-tables: Prepare for Unicode 5.2.0.
20328         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
20329         (debug_output_lbp, output_lbp): Update.
20330
20331 2011-01-08  Bruno Haible  <bruno@clisp.org>
20332
20333         unilbrk: Clarify gen-uni-tables.c code.
20334         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
20335         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
20336         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
20337
20338 2011-01-07  Bruno Haible  <bruno@clisp.org>
20339
20340         strtod: Restore errno when successfully parsing Infinity or NaN.
20341         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
20342         restore the original errno.
20343
20344 2011-01-07  Bruno Haible  <bruno@clisp.org>
20345
20346         remove test: Avoid failure on HP-UX 11.
20347         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
20348
20349 2011-01-07  Bruno Haible  <bruno@clisp.org>
20350
20351         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
20352         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
20353         error code.
20354
20355 2011-01-07  Pádraig Brady <P@draigBrady.com>
20356
20357         ignore-value: fixup comments, and add Eric Blake
20358         as an author since he rewrote the macros.
20359         * lib/ignore-value.h (ignore_value):  State that
20360         we now support aggregates.  Also specify exactly
20361         when the GCC warn_unused_result feature was added.
20362
20363 2011-01-06  Eric Blake  <eblake@redhat.com>
20364
20365         ignore-value: support aggregate types
20366         * lib/ignore-value.h (ignore_value): Provide separate gcc
20367         definition.
20368         * modules/ignore-value-tests: New test module.
20369         * tests/test-ignore-value.c: New test.
20370
20371         maint.mk: improve sc_prohibit_strcmp regex
20372         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
20373         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
20374         definition of STRNEQ.
20375
20376         signal: work around Haiku issue with SIGBUS
20377         * lib/siglist.h: Add comment.
20378         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
20379         strsignal's favoring of SIGSEGV.
20380         * tests/test-signal.c (main): Avoid test failure.
20381         * doc/posix-headers/signal.texi (signal.h): Document the issue.
20382         Reported by Scott McCreary.
20383
20384         maint.mk: add pre-release check to ensure submodule commits are public
20385         * top/maint.mk (public-submodule-commit): New rule.
20386         (submodule-checks): New variable.
20387         (alpha beta stable): Depend on the variable.
20388
20389 2011-01-05  Pádraig Brady <P@draigBrady.com>
20390         and Jim Meyering  <meyering@redhat.com>
20391
20392         ignore-value: make ignore_value more generic; deprecate ignore_ptr
20393         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
20394         (ATTRIBUTE_DEPRECATED): Define.
20395         (_ignore_case): New function.
20396         (ignore_value): New macro, to replace the old function.
20397         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
20398         * modules/ignore-value (Depends-on): Add stdint.
20399
20400 2011-01-04  Eric Blake  <eblake@redhat.com>
20401
20402         doc: regenerate INSTALL
20403         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
20404         @firstparagraphindent support, now that autoconf dropped it.
20405         (INSTALL_PRELUDE): Reinstate old macro.
20406         * doc/install.texi: Resync from autoconf.
20407         * doc/INSTALL: Reflect recent autoconf update.
20408         * doc/INSTALL.ISO: Likewise.
20409         * doc/INSTALL.UTF-8: Likewise.
20410         Reported by Karl Berry.
20411
20412 2011-01-04  Bruce Korb  <address@hidden>
20413
20414         git-version-gen: avoid a sub-shell
20415         * build-aux/git-version-gen: Redirect stderr in `...` via
20416         "exec 2>...", rather than via an added sub-shell.
20417
20418 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
20419
20420         git-version-gen: use (...) rather than sh -c '...'
20421         * build-aux/git-version-gen: Rather than hard-coding a shell's name
20422         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
20423
20424 2011-01-03  Jim Meyering  <meyering@redhat.com>
20425
20426         git-version-gen: convert leading TABs to spaces
20427         * build-aux/git-version-gen: Expand leading TABs.
20428
20429         git-version-gen: handle failed "git rev-list"
20430         * build-aux/git-version-gen: Rather than leaking a "fatal" error
20431         from git and proceeding as if it had succeeded but printed no SHA1
20432         checksums, suppress the diagnostic and handle the failure.
20433         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
20434
20435         git-version-gen: include command name in one more diagnostic
20436         * build-aux/git-version-gen: When the required .tarball-version file
20437         was missing or unreadable, you might see the diagnostic from "cat",
20438         but no trace of the name of the invoking script.  Now, you still see
20439         the diagnostic from cat, but also get one from "git-version-gen: ".
20440         Inspired by a patch from Bruce Korb.
20441
20442         update-copyright: adjust test to match changed code
20443         * tests/test-update-copyright.sh: Change test's expected output
20444         to match new actual output.
20445
20446 2011-01-02  Bruno Haible  <bruno@clisp.org>
20447
20448         getlogin_r: Avoid test failure on HP-UX 11.
20449         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
20450         ERANGE when the second argument is zero.
20451         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
20452         portability problem.
20453
20454 2011-01-02  Bruce Korb  <bkorb@gnu.org>
20455
20456         * build-aux/update-copyright: doc Simon's changes
20457
20458 2011-01-02  Simon Josefsson  <simon@josefsson.org>
20459
20460         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
20461         environment variable.
20462
20463 2011-01-02  Bruno Haible  <bruno@clisp.org>
20464
20465         unigbrk: Avoid gcc warnings.
20466         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
20467         unused variable.
20468         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
20469         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
20470         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
20471         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
20472         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
20473         Change type of first argument to 'const char *'.
20474         (main): Remove unused variable.
20475         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
20476         type of first argument to 'const char *'.
20477         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
20478         Likewise.
20479         (main): Change type of variable 's'.
20480         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
20481         to 'int'.
20482
20483 2011-01-02  Bruno Haible  <bruno@clisp.org>
20484
20485         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
20486         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
20487         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
20488         bug.
20489         * lib/pwrite.c: Undo 2010-12-31 patch.
20490         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
20491
20492 2011-01-02  Bruno Haible  <bruno@clisp.org>
20493
20494         pread: Fix test whether it works.
20495         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
20496
20497 2011-01-02  Bruno Haible  <bruno@clisp.org>
20498
20499         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
20500         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
20501         ends in "6". Don't require a specific month name. Try also the locale
20502         names found on HP-UX 11 and Solaris 7.
20503
20504 2011-01-02  Bruno Haible  <bruno@clisp.org>
20505
20506         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
20507         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
20508         C linkage.
20509         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
20510
20511 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20512
20513         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
20514         for consistency, since the "cluster" term is not used elsewhere.
20515         * lib/unigbrk.in.h: Update name.
20516         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
20517         * lib/unigbrk/u16-grapheme-next.c: Update name.
20518         * lib/unigbrk/u16-grapheme-prev.c: Update name.
20519         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
20520         * lib/unigbrk/u32-grapheme-next.c: Update name.
20521         * lib/unigbrk/u32-grapheme-prev.c: Update name.
20522         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
20523         * lib/unigbrk/u8-grapheme-next.c: Update name.
20524         * lib/unigbrk/u8-grapheme-prev.c: Update name.
20525         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
20526         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
20527         Suggested by Bruno Haible.
20528
20529 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20530
20531         Remove module 'u8-grapheme-len' as too redundant with
20532         'u8-grapheme-next'.
20533         * modules/unigbrk/u8-grapheme-len: Delete file.
20534         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
20535         * lib/unigbrk.in.h: Remove prototype for deleted function.
20536         * lib/unigbrk/u8-grapheme-len.c: Delete file.
20537         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
20538
20539         Remove module 'u16-grapheme-len' as too redundant with
20540         'u16-grapheme-next'.
20541         * modules/unigbrk/u16-grapheme-len: Delete file.
20542         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
20543         * lib/unigbrk.in.h: Remove prototype for deleted function.
20544         * lib/unigbrk/u16-grapheme-len.c: Delete file.
20545         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
20546
20547         Remove module 'u32-grapheme-len' as too redundant with
20548         'u32-grapheme-next'.
20549         * modules/unigbrk/u32-grapheme-len: Delete file.
20550         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
20551         * lib/unigbrk.in.h: Remove prototype for deleted function.
20552         * lib/unigbrk/u32-grapheme-len.c: Delete file.
20553         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
20554
20555         Suggested by Bruno Haible.
20556
20557 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
20558
20559         * unigbrk.in.h: Fix typo: "ben" => "been".
20560         Reported by Bruno Haible.
20561
20562 2011-01-01  Jim Meyering  <meyering@redhat.com>
20563
20564         maint: update almost all copyright ranges to include 2011
20565         Run the new "make update-copyright" rule.
20566
20567 2011-01-01  Jim Meyering  <meyering@redhat.com>
20568
20569         maint: update-copyright: exempt doc/INSTALL*
20570         * Makefile (update-copyright): Also exclude doc/INSTALL*,
20571         since they are generated.  Suggested by Bruno Haible.
20572
20573 2011-01-01  Jim Meyering  <meyering@redhat.com>
20574
20575         maint: refine the update-copyright rule
20576         * Makefile (update-copyright): Also exclude any file that includes
20577         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
20578         code that merely generates the comment.
20579
20580 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
20581
20582         New module 'u8-grapheme-len'.
20583         * modules/unigbrk/u8-grapheme-len: New file.
20584         * modules/unigbrk/u8-grapheme-len-tests: New file.
20585         * lib/unigbrk.in.h: Add prototype for new function.
20586         * lib/unigbrk/u8-grapheme-len.c: New file.
20587         * tests/unigbrk/test-u8-grapheme-len.c: New file.
20588
20589         New module 'u16-grapheme-len'.
20590         * modules/unigbrk/u16-grapheme-len: New file.
20591         * modules/unigbrk/u16-grapheme-len-tests: New file.
20592         * lib/unigbrk.in.h: Add prototype for new function.
20593         * lib/unigbrk/u16-grapheme-len.c: New file.
20594         * tests/unigbrk/test-u16-grapheme-len.c: New file.
20595
20596         New module 'u32-grapheme-len'.
20597         * modules/unigbrk/u32-grapheme-len: New file.
20598         * modules/unigbrk/u32-grapheme-len-tests: New file.
20599         * lib/unigbrk.in.h: Add prototype for new function.
20600         * lib/unigbrk/u32-grapheme-len.c: New file.
20601         * tests/unigbrk/test-u32-grapheme-len.c: New file.
20602
20603         New module 'u8-grapheme-next'.
20604         * modules/unigbrk/u8-grapheme-next: New file.
20605         * modules/unigbrk/u8-grapheme-next-tests: New file.
20606         * lib/unigbrk.in.h: Add prototype for new function.
20607         * lib/unigbrk/u8-grapheme-next.c: New file.
20608         * tests/unigbrk/test-u8-grapheme-next.c: New file.
20609
20610         New module 'u16-grapheme-next'.
20611         * modules/unigbrk/u16-grapheme-next: New file.
20612         * modules/unigbrk/u16-grapheme-next-tests: New file.
20613         * lib/unigbrk.in.h: Add prototype for new function.
20614         * lib/unigbrk/u16-grapheme-next.c: New file.
20615         * tests/unigbrk/test-u16-grapheme-next.c: New file.
20616
20617         New module 'u32-grapheme-next'.
20618         * modules/unigbrk/u32-grapheme-next: New file.
20619         * modules/unigbrk/u32-grapheme-next-tests: New file.
20620         * lib/unigbrk.in.h: Add prototype for new function.
20621         * lib/unigbrk/u32-grapheme-next.c: New file.
20622         * tests/unigbrk/test-u32-grapheme-next.c: New file.
20623
20624         New module 'u8-grapheme-prev'.
20625         * modules/unigbrk/u8-grapheme-prev: New file.
20626         * modules/unigbrk/u8-grapheme-prev-tests: New file.
20627         * lib/unigbrk.in.h: Add prototype for new function.
20628         * lib/unigbrk/u8-grapheme-prev.c: New file.
20629         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
20630
20631         New module 'u16-grapheme-prev'.
20632         * modules/unigbrk/u16-grapheme-prev: New file.
20633         * modules/unigbrk/u16-grapheme-prev-tests: New file.
20634         * lib/unigbrk.in.h: Add prototype for new function.
20635         * lib/unigbrk/u16-grapheme-prev.c: New file.
20636         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
20637
20638         New module 'u32-grapheme-prev'.
20639         * modules/unigbrk/u32-grapheme-prev: New file.
20640         * modules/unigbrk/u32-grapheme-prev-tests: New file.
20641         * lib/unigbrk.in.h: Add prototype for new function.
20642         * lib/unigbrk/u32-grapheme-prev.c: New file.
20643         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
20644
20645         New module 'u8-grapheme-breaks'.
20646         * modules/unigbrk/u8-grapheme-breaks: New file.
20647         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
20648         * lib/unigbrk.in.h: Add prototype for new function.
20649         * lib/unigbrk/u8-grapheme-breaks.c: New file.
20650         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
20651
20652         New module 'u16-grapheme-breaks'.
20653         * modules/unigbrk/u16-grapheme-breaks: New file.
20654         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
20655         * lib/unigbrk.in.h: Add prototype for new function.
20656         * lib/unigbrk/u16-grapheme-breaks.c: New file.
20657         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
20658
20659         New module 'u32-grapheme-breaks'.
20660         * modules/unigbrk/u32-grapheme-breaks: New file.
20661         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
20662         * lib/unigbrk.in.h: Add prototype for new function.
20663         * lib/unigbrk/u32-grapheme-breaks.c: New file.
20664         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
20665
20666         New module 'ulc-grapheme-breaks'.
20667         * modules/unigbrk/ulc-grapheme-breaks: New file.
20668         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
20669         * m4/locale-ar.m4: New file.
20670         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
20671         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
20672         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
20673
20674 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
20675
20676         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
20677         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
20678         modified how this file was generated before I initially submitted
20679         the module, but failed to regenerate it.  This meant that several
20680         of the level2 entries were wrong.
20681         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
20682         Remove the division-by-2 that is folded into the table now that
20683         gbrkprop.h has been regenerated properly.  Now -1 entries are
20684         handled correctly.
20685
20686         New module 'unigbrk/uc-gbrk-prop-tests'.
20687         * modules/unigbrk/uc-gbrk-prop-tests: New file.
20688         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
20689         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
20690         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
20691
20692 2011-01-01  Bruno Haible  <bruno@clisp.org>
20693
20694         Avoid use of hexadecimal escapes.
20695         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
20696         instead of hexadecimal escapes.
20697
20698 2011-01-01  Jim Meyering  <meyering@redhat.com>
20699
20700         maint: new rule to update copyright year ranges
20701         * Makefile (update-copyright): New rule.
20702
20703         maint: indent with TABs in Makefile
20704         * Makefile: Expand leading sequences of spaces to TABs
20705
20706         version-etc: update the copyright year it reports
20707         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
20708
20709 2010-12-31  Bruno Haible  <bruno@clisp.org>
20710
20711         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
20712         * lib/isfinite.c (zerof, zerod, zerol): New variables.
20713         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
20714         zero.
20715
20716 2010-12-31  Bruno Haible  <bruno@clisp.org>
20717
20718         pwrite: Work around HP-UX 11.11 bug.
20719         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
20720         works and set REPLACE_PWRITE if not.
20721         * lib/pwrite.c (pwrite): Add an implementation that uses the system
20722         function.
20723         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
20724
20725 2010-12-31  Bruno Haible  <bruno@clisp.org>
20726
20727         pread: Work around HP-UX 11 bugs.
20728         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
20729         and set REPLACE_PREAD if not.
20730         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
20731
20732 2010-12-31  Eric Blake  <eblake@redhat.com>
20733
20734         nl_langinfo: fix YESEXPR on Irix 6.5
20735         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
20736         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
20737         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
20738         it.
20739
20740 2010-12-31  Bruno Haible  <bruno@clisp.org>
20741
20742         iconv: Document HP-UX 11 bug.
20743         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
20744
20745 2010-12-31  Bruno Haible  <bruno@clisp.org>
20746
20747         ldexpl: Fix link error on HP-UX 11.
20748         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
20749         LDEXPL_LIBM, using $ISNANL_LIBM.
20750
20751 2010-12-31  Eric Blake  <eblake@redhat.com>
20752
20753         ftello: avoid compilation failure with SunStudio c89
20754         * lib/ftello.c (ftello): Use lseek, not llseek.
20755
20756         tests: avoid failing coreutils tests on cygwin
20757         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
20758         (create_exe_shims_): Return 0 when skipping.
20759
20760 2010-12-31  Bruno Haible  <bruno@clisp.org>
20761
20762         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
20763         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
20764
20765 2010-12-31  Bruno Haible  <bruno@clisp.org>
20766
20767         waitpid: Fix link error in C++ mode.
20768         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
20769
20770 2010-12-31  Bruno Haible  <bruno@clisp.org>
20771
20772         isnan: Use GCC built-ins when possible.
20773         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
20774         __builtin_isnan.
20775         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
20776         (isnan): Define using GCC built-ins for GCC >= 4.0.
20777
20778 2010-12-31  Bruno Haible  <bruno@clisp.org>
20779
20780         isnand: Fix mistake.
20781         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
20782         __builtin_isnand.
20783
20784 2010-12-31  Bruno Haible  <bruno@clisp.org>
20785
20786         open: Avoid C++ error on HP-UX 11.
20787         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
20788
20789 2010-12-31  Bruno Haible  <bruno@clisp.org>
20790
20791         time_r: Add missing declarations on HP-UX 11.
20792         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
20793         instead of HAVE_LOCALTIME_R.
20794         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
20795         HAVE_LOCALTIME_R always.
20796         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
20797         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
20798         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
20799         HAVE_LOCALTIME_R.
20800         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
20801         * doc/posix-functions/localtime_r.texi: Likewise.
20802
20803 2010-12-29  Eric Blake  <eblake@redhat.com>
20804
20805         mountlist: tweak previous commit
20806         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
20807         Reported by Paul Eggert.
20808
20809         mountlist: fix local drive detection on cygwin
20810         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
20811         that works for cygwin.
20812
20813 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
20814
20815         ftoastr, snprintf: ftoastr + snprintf module
20816         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
20817         since the snprintf module now should be good enough here.
20818         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
20819         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
20820         and gl_MODULE_INDICATOR([snprintf]), but the former enables
20821         GNULIB_SNPRINTF only for the test directory, and the latter
20822         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
20823         seems to suffice by itself.
20824
20825 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
20826
20827         alloca: one step towards thread-safety
20828         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
20829         need for a static variable.  All callers changed.  This does not
20830         make the alloca replacement thread-safe, but it's one step.
20831
20832         tests: minor indenting change
20833         * tests/init.sh: Sync from coreutils housekeeping patch
20834         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
20835         to keep lines within 80 columns.
20836
20837 2010-12-28  Jim Meyering  <meyering@redhat.com>
20838
20839         regex: don't infloop on persistent failing calloc
20840         * lib/regexec.c (build_trtable): Return failure indication upon
20841         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
20842         In glibc, this was fixed for version 2.13:
20843         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
20844
20845 2010-12-28  Bruno Haible  <bruno@clisp.org>
20846             Paul Eggert <eggert@cs.ucla.edu>
20847
20848         linkat: Make implementation robust against system behaviour variations.
20849         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
20850         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
20851         way, and to -2 if it needs a generic runtime test.
20852         * lib/linkat.c (solaris_optimized_link_immediate,
20853         solaris_optimized_link_follow): New functions.
20854         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
20855         (check_same_link): Use it.
20856
20857 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
20858
20859         New module 'unigbrk/base'.
20860         * modules/unigbrk/base: New file.
20861         * lib/unigbrk.in.h: New file.
20862
20863         New module 'unigbrk/uc-gbrk-prop'.
20864         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
20865         * modules/unigbrk/uc-gbrk-prop: New file.
20866         * lib/unigbrk/gbrkprop.h: New file.
20867         * lib/unigbrk/uc-gbrk-prop.c: New file.
20868
20869         New module 'unigbrk/uc-is-grapheme-break'.
20870         * modules/unigbrk/uc-is-grapheme-break: New file.
20871         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
20872         * lib/unigbrk/uc-is-grapheme-break.c: New file.
20873         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
20874         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
20875         * tests/unigbrk/GraphemeBreakTest.txt: New file.
20876
20877         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
20878
20879 2010-12-27  Bruno Haible  <bruno@clisp.org>
20880
20881         linkat test: Avoid failure on Solaris 11 2010-11.
20882         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
20883
20884 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
20885
20886         utimens: work around glibc rounding bug on more platforms
20887         * lib/utimens.c (fdutimens): Work around rounding bug even if
20888         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
20889         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
20890
20891 2010-12-27  Bruno Haible  <bruno@clisp.org>
20892
20893         select tests: Improve comments.
20894         * tests/test-select.c (do_select): Add comments.
20895
20896 2010-12-27  Bruno Haible  <bruno@clisp.org>
20897
20898         select tests: Safer way of handling timeout.
20899         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
20900         at every invocation.
20901
20902 2010-12-27  Bruno Haible  <bruno@clisp.org>
20903
20904         select tests: Use 'bool' where appropriate.
20905         * tests/test-select.c (connect_to_socket): Change argument type to
20906         'bool'.
20907
20908 2010-12-27  Bruno Haible  <bruno@clisp.org>
20909
20910         select tests: Use existing modules.
20911         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
20912         (configure.ac): Don't test for unistd.h.
20913         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
20914         declared in <unistd.h>.
20915
20916 2010-12-27  Bruno Haible  <bruno@clisp.org>
20917
20918         mbrtowc: Work around a Solaris 7 bug.
20919         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
20920         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
20921         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
20922         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
20923         MBRTOWC_NULL_ARG1_BUG.
20924         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
20925         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
20926         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
20927         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
20928
20929 2010-12-27  Jim Meyering  <meyering@redhat.com>
20930
20931         read-file.c: tweak syntax
20932         * lib/read-file.c (fread_file): Remove space after "*" in function
20933         definitions.
20934
20935 2010-12-27  Bruno Haible  <bruno@clisp.org>
20936
20937         times test: Avoid gcc warnings on OSF/1.
20938         * tests/test-times.c (main): Cast printf arguments from clock_t to
20939         'long int'.
20940
20941 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
20942
20943         utimens: work around glibc rounding bug on older Linux kernels
20944         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
20945         on Linux with a glibc whose utimes might not work, then work
20946         around a longstanding glibc bug involving rounding rather than
20947         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
20948         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
20949
20950 2010-12-26  Bruno Haible  <bruno@clisp.org>
20951
20952         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
20953         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
20954         _GL_CXXALIAS_SYS.
20955         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20956
20957 2010-12-26  Bruno Haible  <bruno@clisp.org>
20958
20959         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
20960         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
20961         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
20962         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
20963         looking for the declaration.
20964         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
20965         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
20966         problem.
20967         * doc/posix-functions/inet_pton.texi: Likewise.
20968
20969 2010-12-26  Bruno Haible  <bruno@clisp.org>
20970
20971         arpa_inet: Use the common idioms with C++ support.
20972         * lib/arpa_inet.in.h: Include c++defs.h.
20973         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
20974         support.
20975         * modules/arpa_inet (Depends-on): Add c++defs.
20976         (Makefile.am): Substitute the contents of c++defs.h.
20977         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
20978         * modules/arpa_inet-c++-tests: New file.
20979         * tests/test-arpa_inet-c++.cc: New file.
20980
20981 2010-12-25  Bruno Haible  <bruno@clisp.org>
20982
20983         Fix more C++ link errors on Solaris 8.
20984         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
20985         $(LIB_EACCESS).
20986         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
20987         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
20988         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
20989         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
20990         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
20991
20992 2010-12-25  Bruno Haible  <bruno@clisp.org>
20993
20994         printf-posix: Fix link error when a non-GCC compiler is used.
20995         * lib/stdio.in.h (printf): When not using GCC, override printf
20996         correctly.
20997         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
20998
20999 2010-12-25  Bruno Haible  <bruno@clisp.org>
21000
21001         strerror_r-posix: Update doc.
21002         * doc/posix-functions/strerror_r.texi: Update doc about the return
21003         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
21004
21005 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
21006
21007         utimens: simplify the logic of the previous change
21008         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
21009         This should not affect whether the test succeeds or fails.
21010
21011         utimens: configure better on hosts with NFS clock skew
21012         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
21013         uses the clock of the local host.  It might use the clock of the
21014         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
21015         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
21016
21017 2010-12-25  Bruno Haible  <bruno@clisp.org>
21018
21019         ptsname test: Avoid failure on Solaris.
21020         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
21021         open a pseudo-terminal; don't use BSD-style ptys.
21022         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
21023
21024 2010-12-25  Bruno Haible  <bruno@clisp.org>
21025
21026         ptsname: Avoid ERANGE failure on some systems.
21027         * lib/ptsname.c (buffer): Increase size.
21028
21029 2010-12-25  Bruno Haible  <bruno@clisp.org>
21030
21031         rename, renameat: Avoid test failures at NFS mounted locations.
21032         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
21033         so that subsequent mkdir calls succeed.
21034
21035 2010-12-25  Bruno Haible  <bruno@clisp.org>
21036
21037         iswblank: Fix C++ link error on Solaris 8.
21038         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
21039         _GL_FUNCDECL_SYS.
21040
21041 2010-12-25  Bruno Haible  <bruno@clisp.org>
21042
21043         unistd: Fix C++ link error on Solaris 8.
21044         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
21045
21046 2010-12-25  Bruno Haible  <bruno@clisp.org>
21047
21048         readlink doc: Mention an old glibc bug.
21049         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
21050
21051 2010-12-25  Bruno Haible  <bruno@clisp.org>
21052
21053         fcntl-h: Fix for use of C++ on glibc systems.
21054         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
21055         also on glibc systems in C++ mode.
21056         Reported by Gary V. Vaughan <gary@gnu.org>.
21057
21058 2010-12-25  Bruno Haible  <bruno@clisp.org>
21059
21060         roundl-ieee: Make it work on OSF/1 5.1 with cc.
21061         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
21062
21063 2010-12-25  Bruno Haible  <bruno@clisp.org>
21064
21065         truncl-ieee: Make it work on OSF/1 5.1 with cc.
21066         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
21067         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
21068         test whether truncl works according to ISO C 99 with IEC 60559.
21069         * m4/truncl-ieee.m4: New file.
21070         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
21071         m4/signbit.m4.
21072         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
21073
21074 2010-12-25  Bruno Haible  <bruno@clisp.org>
21075
21076         ceill-ieee: Make it work on OSF/1 5.1 with cc.
21077         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
21078         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
21079         test whether ceill works according to ISO C 99 with IEC 60559.
21080         * m4/ceill-ieee.m4: New file.
21081         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
21082         m4/signbit.m4.
21083         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
21084
21085 2010-12-25  Bruno Haible  <bruno@clisp.org>
21086
21087         Ensure all prerequisites of <wchar.h> are included.
21088         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
21089         before <wchar.h>.
21090         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
21091         gl_MBRLEN_NUL_RETVAL): Likewise.
21092         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
21093         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
21094         AC_FUNC_MBRTOWC): Likewise.
21095         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
21096         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
21097         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
21098         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
21099         Likewise.
21100         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
21101         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
21102         (gl_WCHAR_H): Improve comments.
21103         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
21104
21105 2010-12-25  Bruno Haible  <bruno@clisp.org>
21106
21107         strtok_r: Fix C syntax error in autoconf macro.
21108         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
21109         characters in test program.
21110
21111 2010-12-24  Bruno Haible  <bruno@clisp.org>
21112
21113         ceil, trunc, round: Fix gcc warnings.
21114         * lib/ceil.c (MIN): Undefine before redefining.
21115         * lib/trunc.c (MIN): Likewise.
21116         * lib/round.c (MIN): Likewise.
21117         Include <math.h> first.
21118
21119 2010-12-24  Bruno Haible  <bruno@clisp.org>
21120
21121         select tests: Avoid failures on OSF/1 5.1.
21122         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
21123         failure of closing the last socket; it may fail with ECONNRESET.
21124
21125 2010-12-24  Eric Blake  <eblake@redhat.com>
21126
21127         stdint: avoid HP-UX 10.20 preprocessor bug
21128         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
21129         than #if.
21130         * tests/test-floor2.c (main): Likewise.
21131         Reported by Peter O'Gorman.
21132
21133         pipe: make obsoletion transition easier
21134         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
21135         * modules/pipe (Files): Include revived file.
21136         (Include): Drop reference, to mirror getdate's behavior.
21137
21138 2010-12-24  Bruno Haible  <bruno@clisp.org>
21139
21140         sys_socket: Hide mismatch of declarations on NonStop Kernel.
21141         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
21142         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
21143         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21144
21145 2010-12-24  Bruno Haible  <bruno@clisp.org>
21146
21147         gethostname: Ensure declaration on NonStop Kernel.
21148         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
21149         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21150
21151 2010-12-24  Bruno Haible  <bruno@clisp.org>
21152
21153         sys_select: Ensure all necessary types on NonStop Kernel.
21154         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
21155         include <sys/time.h>.
21156         * doc/posix-headers/sys_select.texi: Mention that it's missing on
21157         NonStop Kernel.
21158         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21159
21160 2010-12-24  Bruno Haible  <bruno@clisp.org>
21161
21162         sys_select: Remove unneeded include.
21163         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
21164         have <sys/select.h>.
21165
21166 2010-12-24  Bruno Haible  <bruno@clisp.org>
21167
21168         gethostname: Provide a fallback for HOST_NAME_MAX.
21169         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
21170         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
21171         instead.
21172         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21173
21174 2010-12-24  Bruno Haible  <bruno@clisp.org>
21175
21176         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
21177         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
21178         (SA_RESTART): Likewise.
21179         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21180
21181 2010-12-24  Bruno Haible  <bruno@clisp.org>
21182
21183         signal: Define NSIG.
21184         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
21185         * tests/test-signal.c (nsig): New variable.
21186         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21187
21188 2010-12-24  Bruno Haible  <bruno@clisp.org>
21189
21190         rename, renameat: Avoid test failures on OSF/1 5.1.
21191         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
21192         alternative error codes.
21193         * tests/test-renameat.c (main): Likewise.
21194
21195 2010-12-24  Bruno Haible  <bruno@clisp.org>
21196
21197         *printf: Detect large precisions bug on Solaris 10/SPARC.
21198         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
21199         by Paul Eggert.
21200         * tests/test-snprintf-posix.h (test_function): Add this test code here
21201         too.
21202         * tests/test-sprintf-posix.h (test_function): Likewise.
21203         * tests/test-vasnprintf-posix.c (test_function): Likewise.
21204         * tests/test-vasprintf-posix.c (test_function): Likewise.
21205         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
21206         around by gnulib.
21207         * doc/posix-functions/printf.texi: Likewise.
21208         * doc/posix-functions/snprintf.texi: Likewise.
21209         * doc/posix-functions/sprintf.texi: Likewise.
21210         * doc/posix-functions/vfprintf.texi: Likewise.
21211         * doc/posix-functions/vprintf.texi: Likewise.
21212         * doc/posix-functions/vsnprintf.texi: Likewise.
21213         * doc/posix-functions/vsprintf.texi: Likewise.
21214         * doc/posix-functions/dprintf.texi: Undo last commit.
21215         * doc/posix-functions/vdprintf.texi: Likewise.
21216
21217 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
21218
21219         tests: port test-fdutimensat.c to Solaris 8
21220         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
21221         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
21222         On Solaris 8, it fails with errno == ENOSYS, because there is no
21223         futimens (so it can't use the fd), and there is no lutimens (so it
21224         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
21225
21226         vsnprintf: make more consistent with snprintf; doc fixes
21227
21228         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
21229         the byte count return problem was promoted from the snprintf-posix
21230         to the snprintf module.
21231         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
21232         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
21233         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
21234         * tests/test-snprintf.c (main): Check the byte count returned.
21235         * tests/test-vsnprintf.c (main): Likewise.
21236
21237 2010-12-23  Eric Blake  <eblake@redhat.com>
21238
21239         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
21240         * modules/sigpipe (License): Relax license.
21241
21242 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21243
21244         doc: document Solaris printf bug with large float precisions
21245         * doc/posix-functions/dprintf.texi (dprintf):
21246         * doc/posix-functions/fprintf.texi (fprintf):
21247         * doc/posix-functions/printf.texi (printf):
21248         * doc/posix-functions/snprintf.texi (snprintf):
21249         * doc/posix-functions/sprintf.texi (sprintf):
21250         * doc/posix-functions/vdprintf.texi (vdprintf):
21251         * doc/posix-functions/vfprintf.texi (vfprintf):
21252         * doc/posix-functions/vprintf.texi (vprintf):
21253         * doc/posix-functions/vsnprintf.texi (vsnprintf):
21254         * doc/posix-functions/vsprintf.texi (vsprintf):
21255         Mention that these functions mishandle large floating point
21256         precisions on Solaris 10.  The same bug is also present in Solaris
21257         8, and I assume earlier.  This causes "cd gnulib-tests; make
21258         check" to fail on Solaris 8 (and I assume, later) when building
21259         the latest coreutils, in test-vasprintf-posix's call to
21260         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
21261         the wide flavors (e.g., wprintf) so this patch just updates the
21262         documentation for the narrow ones.
21263
21264         test-posixtm.c: add two tests
21265         * tests/test-posixtm.c: Add two tests, to highlight the
21266         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
21267         around this bug; this is merely to document it.
21268
21269 2010-12-22  Bruno Haible  <bruno@clisp.org>
21270
21271         getlogin_r: Work around portability problem on OSF/1.
21272         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
21273         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
21274         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
21275         test for a truncated result.
21276         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
21277         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
21278         * modules/getlogin_r (Depends-on): Add memchr.
21279         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
21280
21281 2010-12-22  Bruno Haible  <bruno@clisp.org>
21282
21283         ptsname: Avoid test failure on OSF/1 5.1.
21284         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
21285         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
21286         (same_slave): New function.
21287         (main): Use it to compare ptsname's result with the expected file name.
21288
21289 2010-12-22  Bruno Haible  <bruno@clisp.org>
21290
21291         Port extended stdio modules to HP NonStop Kernel.
21292         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
21293         macros.
21294         * lib/fbufmode.c: Update comments.
21295         * lib/fflush.c: Likewise.
21296         * lib/fpurge.c: Likewise.
21297         * lib/freadable.c: Likewise.
21298         * lib/freadahead.c: Likewise.
21299         * lib/freading.c: Likewise.
21300         * lib/freadptr.c: Likewise.
21301         * lib/freadseek.c: Likewise.
21302         * lib/fseeko.c: Likewise.
21303         * lib/fseterr.c: Likewise.
21304         * lib/fwritable.c: Likewise.
21305         * lib/fwriting.c: Likewise.
21306         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
21307
21308 2010-12-22  Bruno Haible  <bruno@clisp.org>
21309
21310         ttyname_r: Work around bug on OSF/1 5.1.
21311         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
21312         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
21313         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
21314         present.
21315         * lib/ttyname_r.c (ttyname_r): Update comments.
21316
21317 2010-12-22  Bruno Haible  <bruno@clisp.org>
21318
21319         round: Implement result sign according to IEEE 754.
21320         * lib/round.c (MIN, MINUS_ZERO): New macros.
21321         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
21322         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
21323         * tests/test-round-ieee.c (main): Likewise.
21324         * tests/test-roundl-ieee.c (main): Likewise.
21325
21326         trunc: Implement result sign according to IEEE 754.
21327         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
21328         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
21329         * tests/test-trunc2.c: Include minus-zero.h.
21330         (MINUS_ZERO): New macro.
21331         (trunc_reference): Keep in sync with lib/trunc.c.
21332         * tests/test-truncf2.c: Include minus-zero.h.
21333         (MINUS_ZERO): New macro.
21334         (truncf_reference): Keep in sync with lib/trunc.c.
21335         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
21336         * tests/test-trunc-ieee.c (main): Likewise.
21337         * tests/test-truncl-ieee.c (main): Likewise.
21338
21339         ceil: Implement result sign according to IEEE 754.
21340         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
21341         (FUNC): Return -0.0 for -1 < x < 0.
21342         * tests/test-ceil2.c: Include minus-zero.h.
21343         (MINUS_ZERO): New macro.
21344         (ceil_reference): Keep in sync with lib/ceil.c.
21345         * tests/test-ceilf2.c: Include minus-zero.h.
21346         (MINUS_ZERO): New macro.
21347         (ceilf_reference): Keep in sync with lib/ceil.c.
21348         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
21349         * tests/test-ceil-ieee.c (main): Likewise.
21350         * tests/test-ceill-ieee.c (main): Likewise.
21351
21352         floor: Implement result sign according to IEEE 754.
21353         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
21354         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
21355         * tests/test-floorf2.c (floorf_reference): Likewise.
21356         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
21357         * tests/test-floor-ieee.c (main): Likewise.
21358         * tests/test-floorl-ieee.c (main): Likewise.
21359
21360 2010-12-22  Bruno Haible  <bruno@clisp.org>
21361
21362         getaddrinfo: Update doc.
21363         * doc/posix-functions/gai_strerror.texi: Return type is also different
21364         on AIX and HP-UX.
21365
21366 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
21367
21368         getaddrinfo, inet_ntop: Update doc for Solaris.
21369         * doc/posix-functions/gai_strerror.texi: Return type is also an
21370         issue on Solaris 9 and earlier.
21371         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
21372         on Solaris 10 and earlier.
21373
21374 2010-12-21  Bruno Haible  <bruno@clisp.org>
21375
21376         New module 'roundl-ieee'.
21377         * modules/roundl-ieee: New file.
21378         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
21379         test whether roundl works according to ISO C 99 with IEC 60559.
21380         * m4/roundl-ieee.m4: New file.
21381         * modules/roundl-ieee-tests: New file.
21382         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
21383         * tests/test-roundl.c (main): Remove signbit tests.
21384         * modules/roundl-tests (Depends-on): Remove signbit.
21385         * doc/posix-functions/roundl.texi: Mention the new module.
21386
21387 2010-12-21  Bruno Haible  <bruno@clisp.org>
21388
21389         New module 'truncl-ieee'.
21390         * modules/truncl-ieee: New file.
21391         * modules/truncl-ieee-tests: New file.
21392         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
21393         * tests/test-truncl.c (main): Remove signbit tests.
21394         * modules/truncl-tests (Depends-on): Remove signbit.
21395         * doc/posix-functions/truncl.texi: Mention the new module.
21396
21397 2010-12-21  Bruno Haible  <bruno@clisp.org>
21398
21399         New module 'ceill-ieee'.
21400         * modules/ceill-ieee: New file.
21401         * modules/ceill-ieee-tests: New file.
21402         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
21403         * tests/test-ceill.c (main): Remove signbit tests.
21404         * modules/ceill-tests (Depends-on): Remove signbit.
21405         * doc/posix-functions/ceill.texi: Mention the new module.
21406
21407 2010-12-21  Bruno Haible  <bruno@clisp.org>
21408
21409         New module 'floorl-ieee'.
21410         * modules/floorl-ieee: New file.
21411         * modules/floorl-ieee-tests: New file.
21412         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
21413         * tests/test-floorl.c (main): Remove signbit tests.
21414         * modules/floorl-tests (Depends-on): Remove signbit.
21415         * doc/posix-functions/floorl.texi: Mention the new module.
21416
21417 2010-12-21  Bruno Haible  <bruno@clisp.org>
21418
21419         New module 'round-ieee'.
21420         * modules/round-ieee: New file.
21421         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
21422         whether round works according to ISO C 99 with IEC 60559.
21423         * m4/round-ieee.m4: New file.
21424         * modules/round-ieee-tests: New file.
21425         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
21426         * tests/test-round1.c (main): Remove signbit tests.
21427         * modules/round-tests (Depends-on): Remove 'signbit'.
21428         * doc/posix-functions/round.texi: Mention the new module.
21429
21430 2010-12-21  Bruno Haible  <bruno@clisp.org>
21431
21432         New module 'trunc-ieee'.
21433         * modules/trunc-ieee: New file.
21434         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
21435         whether trunc works according to ISO C 99 with IEC 60559.
21436         * m4/trunc-ieee.m4: New file.
21437         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
21438         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
21439         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
21440         * modules/trunc-ieee-tests: New file.
21441         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
21442         * tests/test-trunc1.c (main): Remove signbit tests.
21443         * modules/trunc-tests (Depends-on): Remove 'signbit'.
21444         * doc/posix-functions/trunc.texi: Mention the new module.
21445
21446 2010-12-21  Bruno Haible  <bruno@clisp.org>
21447
21448         New module 'ceil-ieee'.
21449         * modules/ceil-ieee: New file.
21450         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
21451         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
21452         ISO C 99 with IEC 60559.
21453         * m4/ceil-ieee.m4: New file.
21454         * modules/ceil (Files): Add lib/ceil.c.
21455         (Depends-on): Add 'float'.
21456         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21457         * lib/math.in.h (ceil): New declaration.
21458         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
21459         REPLACE_CEIL.
21460         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
21461         * modules/ceil-ieee-tests: New file.
21462         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
21463         * tests/test-math-c++.cc: Check the signature of 'ceil'.
21464         * doc/posix-functions/ceil.texi: Mention the new module.
21465
21466 2010-12-21  Bruno Haible  <bruno@clisp.org>
21467
21468         New module 'floor-ieee'.
21469         * modules/floor-ieee: New file.
21470         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
21471         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
21472         ISO C 99 with IEC 60559.
21473         * m4/floor-ieee.m4: New file.
21474         * modules/floor (Files): Add lib/floor.c.
21475         (Depends-on): Add 'float'.
21476         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
21477         * lib/math.in.h (floor): New declaration.
21478         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
21479         REPLACE_FLOOR.
21480         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
21481         * modules/floor-ieee-tests: New file.
21482         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
21483         * tests/test-math-c++.cc: Check the signature of 'floor'.
21484         * doc/posix-functions/floor.texi: Mention the new module.
21485
21486 2010-12-21  Bruno Haible  <bruno@clisp.org>
21487
21488         New module 'roundf-ieee'.
21489         * modules/roundf-ieee: New file.
21490         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
21491         test whether roundf works according to ISO C 99 with IEC 60559.
21492         * m4/roundf-ieee.m4: New file.
21493         * modules/roundf-ieee-tests: New file.
21494         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
21495         * tests/test-roundf1.c (main): Remove signbit tests.
21496         * modules/roundf-tests (Depends-on): Remove 'signbit'.
21497         * doc/posix-functions/roundf.texi: Mention the new module.
21498
21499 2010-12-21  Bruno Haible  <bruno@clisp.org>
21500
21501         New module 'truncf-ieee'.
21502         * modules/truncf-ieee: New file.
21503         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
21504         test whether truncf works according to ISO C 99 with IEC 60559.
21505         * m4/truncf-ieee.m4: New file.
21506         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
21507         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
21508         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
21509         * modules/truncf-ieee-tests: New file.
21510         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
21511         * tests/test-truncf1.c (main): Remove signbit tests.
21512         * modules/truncf-tests (Depends-on): Remove 'signbit'.
21513         * doc/posix-functions/truncf.texi: Mention the new module.
21514
21515 2010-12-21  Bruno Haible  <bruno@clisp.org>
21516
21517         New module 'ceilf-ieee'.
21518         * modules/ceilf-ieee: New file.
21519         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
21520         test whether ceilf works according to ISO C 99 with IEC 60559.
21521         * m4/ceilf-ieee.m4: New file.
21522         * modules/ceilf-ieee-tests: New file.
21523         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
21524         * tests/test-ceilf1.c (main): Remove signbit tests.
21525         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
21526         * doc/posix-functions/ceilf.texi: Mention the new module.
21527
21528 2010-12-21  Bruno Haible  <bruno@clisp.org>
21529
21530         New module 'floorf-ieee'.
21531         * modules/floorf-ieee: New file.
21532         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
21533         test whether floorf works according to ISO C 99 with IEC 60559.
21534         * m4/floorf-ieee.m4: New file.
21535         * modules/floorf-ieee-tests: New file.
21536         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
21537         * tests/test-floorf1.c (main): Remove signbit tests.
21538         * modules/floorf-tests (Depends-on): Remove 'signbit'.
21539         * doc/posix-functions/floorf.texi: Mention the new module.
21540
21541 2010-12-21  Bruno Haible  <bruno@clisp.org>
21542
21543         Support for minus zero in autoconf macros.
21544         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
21545         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
21546         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
21547         * tests/minus-zero.h: Update comments.
21548
21549 2010-12-21  Bruno Haible  <bruno@clisp.org>
21550
21551         Tests for module 'ceil'.
21552         * modules/ceil-tests: New file.
21553         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
21554         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
21555
21556 2010-12-21  Bruno Haible  <bruno@clisp.org>
21557
21558         Tests for module 'floor'.
21559         * modules/floor-tests: New file.
21560         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
21561         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
21562
21563 2010-12-21  Bruno Haible  <bruno@clisp.org>
21564
21565         math: Fix indentation.
21566         * lib/math.in.h (floorf): Fix indentation.
21567
21568 2010-12-21  Bruno Haible  <bruno@clisp.org>
21569
21570         Fix cross-compilation guesses on Solaris.
21571         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
21572         not match "solaris2.10".
21573         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
21574         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
21575         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
21576
21577 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
21578
21579         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
21580         This fixes a problem observed with the latest coreutils snapshot
21581         that caused a test to fail on Solaris 8.  src/csplit.c's call
21582         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
21583         earlier, instead of returning the number of bytes that would have
21584         been generated; this causes csplit to incorrectly report memory
21585         exhaustion.
21586         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
21587         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
21588         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
21589         comments to match.
21590         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
21591         Fix typo in matching older versions of Solaris: "solaris2.10"
21592         is matched by the shell pattern "solaris2.[0-9]*".  This matters
21593         only for guessing while cross-compiling.
21594         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
21595
21596 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
21597
21598         ftoastr: fix comment again
21599         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
21600         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
21601         Also, simplify example a bit by using flags = 0.
21602
21603 2010-12-20  Bruno Haible  <bruno@clisp.org>
21604
21605         round*, trunc*: Update documentation regarding glibc.
21606         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
21607         * doc/posix-functions/round.texi: Likewise.
21608         * doc/posix-functions/roundl.texi: Likewise.
21609         * doc/posix-functions/truncf.texi: Likewise.
21610         * doc/posix-functions/trunc.texi: Likewise.
21611         * doc/posix-functions/truncl.texi: Likewise.
21612
21613 2010-12-20  Bruno Haible  <bruno@clisp.org>
21614
21615         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
21616         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
21617         * doc/posix-functions/round.texi: Likewise.
21618         * doc/posix-functions/roundl.texi: Likewise.
21619
21620 2010-12-20  Bruno Haible  <bruno@clisp.org>
21621
21622         ttyname_r: Add missing declaration on HP-UX 11.
21623         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
21624         HAVE_TTYNAME_R.
21625         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
21626         declared. Set HAVE_TTYNAME_R always.
21627         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21628         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
21629         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
21630         HAVE_TTYNAME_R.
21631         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
21632
21633 2010-12-20  Bruno Haible  <bruno@clisp.org>
21634
21635         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
21636         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
21637         * doc/posix-functions/getlogin_r.texi: Likewise.
21638         * tests/test-getlogin.c: Include <errno.h>.
21639         (main): Avoid test failure on HP-UX 11.11.
21640         * tests/test-getlogin_r.c (main): Likewise.
21641
21642 2010-12-20  Bruno Haible  <bruno@clisp.org>
21643
21644         getlogin_r: Add missing declaration on HP-UX 11.
21645         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
21646         declared also when it exists as a function.
21647         * doc/posix-functions/getlogin_r.texi: Document this workaround.
21648
21649 2010-12-20  Bruno Haible  <bruno@clisp.org>
21650
21651         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
21652         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
21653         through wcrtomb.
21654
21655 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
21656
21657         ftoastr: fix comment
21658         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
21659         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
21660
21661 2010-12-19  Bruno Haible  <bruno@clisp.org>
21662
21663         isnan: Ensure it is a macro.
21664         * lib/math.in.h (isnan): Define as a macro if not already a macro.
21665         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
21666         Solaris.
21667
21668 2010-12-19  Bruno Haible  <bruno@clisp.org>
21669
21670         ldexpl test: Fix link error on OSF/1 5.1.
21671         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
21672
21673 2010-12-19  Bruno Haible  <bruno@clisp.org>
21674
21675         wctype: Make it work in C++ mode on OSF/1 5.1.
21676         * lib/wctype.in.h (iswblank): Declare but not define here.
21677         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
21678         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
21679         * modules/wctype (Files): Add lib/iswblank.c.
21680
21681 2010-12-19  Bruno Haible  <bruno@clisp.org>
21682
21683         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
21684         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
21685         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
21686
21687 2010-12-19  Bruno Haible  <bruno@clisp.org>
21688
21689         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
21690         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
21691         _POSIX_PII_SOCKET.
21692         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
21693         * doc/posix-functions/recvfrom.texi: Likewise.
21694         * doc/posix-functions/send.texi: Likewise.
21695         * doc/posix-functions/sendto.texi: Likewise.
21696
21697 2010-12-19  Bruno Haible  <bruno@clisp.org>
21698
21699         tcgetsid: Add missing declaration on OSF/1 5.1.
21700         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
21701         HAVE_TCGETSID.
21702         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
21703         Don't set HAVE_TCGETSID.
21704         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
21705         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
21706         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
21707         HAVE_TCGETSID.
21708         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
21709
21710 2010-12-19  Bruno Haible  <bruno@clisp.org>
21711
21712         stdio: Fix problem with popen() declaration on OSF/1 5.1.
21713         * lib/stdio.in.h: During the include_next statement, let recursive
21714         includes of this file include only the system header file.
21715
21716 2010-12-19  Bruno Haible  <bruno@clisp.org>
21717
21718         iconv_open: Fix regression from 2010-12-04.
21719         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
21720         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
21721
21722 2010-12-19  Bruno Haible  <bruno@clisp.org>
21723
21724         stdbool test: Avoid a gcc warning.
21725         * tests/test-stdbool.c (main): Fail if e1 is false.
21726         Reported by Jim Meyering.
21727
21728 2010-12-19  Jim Meyering  <meyering@redhat.com>
21729
21730         setenv: restore to working order
21731         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
21732         mistakenly removed.
21733         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
21734         HAVE_SETENV.
21735         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
21736         HAVE_SETENV.
21737
21738 2010-12-19  Bruno Haible  <bruno@clisp.org>
21739
21740         Document some different function declarations on OSF/1 5.1.
21741         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
21742         * doc/posix-functions/inet_ntop.texi: Likewise.
21743         * doc/posix-functions/gethostname.texi: Likewise.
21744         * lib/unistd.in.h (gethostname): Update comment.
21745
21746 2010-12-19  Bruno Haible  <bruno@clisp.org>
21747
21748         doc: Mention vasprintf-posix module.
21749         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
21750         the 'vasprintf-posix' module.
21751         * doc/glibc-functions/vasprintf.texi: Likewise.
21752
21753 2010-12-19  Bruno Haible  <bruno@clisp.org>
21754
21755         unsetenv: Add missing declaration on OSF/1 5.1.
21756         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
21757         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
21758         Don't set HAVE_UNSETENV. In the test program, set _BSD.
21759         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
21760         not HAVE_UNSETENV.
21761         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
21762         HAVE_UNSETENV.
21763         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
21764
21765 2010-12-19  Bruno Haible  <bruno@clisp.org>
21766
21767         setenv: Add missing declaration on OSF/1 5.1.
21768         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
21769         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
21770         declared. Don't set HAVE_SETENV.
21771         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
21772         not HAVE_SETENV.
21773         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
21774         HAVE_SETENV.
21775         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
21776
21777 2010-12-19  Bruno Haible  <bruno@clisp.org>
21778
21779         nl_langinfo tests: Avoid gcc warning.
21780         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
21781
21782 2010-12-19  Bruno Haible  <bruno@clisp.org>
21783
21784         mknod: Avoid error in C++ mode on OSF/1 with GCC.
21785         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
21786         _GL_CXXALIAS_SYS.
21787
21788 2010-12-19  Bruno Haible  <bruno@clisp.org>
21789
21790         stdbool: Relax test.
21791         * tests/test-stdbool.c (e): Don't require that casts from a variable's
21792         address to 'bool' work in static initializer, for compilers other than
21793         GCC.
21794
21795 2010-12-19  Bruno Haible  <bruno@clisp.org>
21796
21797         ftello: Add missing declaration on OSF/1 5.1.
21798         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
21799         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
21800         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
21801         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
21802         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
21803
21804 2010-12-19  Bruno Haible  <bruno@clisp.org>
21805
21806         fseeko: Add missing declaration on OSF/1 5.1.
21807         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
21808         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
21809         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
21810         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
21811         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
21812
21813 2010-12-19  Bruno Haible  <bruno@clisp.org>
21814
21815         fchdir: Add missing declaration on OSF/1 5.1.
21816         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
21817         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
21818         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
21819         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
21820         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
21821
21822 2010-12-19  Bruno Haible  <bruno@clisp.org>
21823
21824         relocatable-prog-wrapper: Separate from relocatable-prog.
21825         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
21826         uninstall-relocwrapper rule here.
21827         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
21828         Reported by Ian Beckwith <ianb@erislabs.net>.
21829
21830 2010-12-19  Bruno Haible  <bruno@clisp.org>
21831
21832         unistr/u8-mbsnlen: Add missing dependency.
21833         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
21834         Reported by Ian Beckwith <ianb@erislabs.net>.
21835
21836 2010-12-19  Bruno Haible  <bruno@clisp.org>
21837
21838         iconv: Make it possible again to use this module without 'iconv-h'.
21839         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
21840         if it is not defined.
21841         Reported by Ian Beckwith <ianb@erislabs.net>.
21842
21843 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
21844
21845         acl: port to Solaris 8 when copying from tmpfs to ufs
21846         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
21847         error number.  Problem observed on Solaris 8 with latest
21848         coreutils, with "mv A B", where A is on a tmpfs file system and B
21849         is on a ufs file system.  This caused coreutils' mv/part-symlink
21850         test to fail.
21851
21852         tests: set fail=0 at start
21853         * tests/init.sh (setup_): Move fail=0 initialization here ...
21854         (mktempd_): ... from here, so that tests can rely on fail being
21855         set to 0 initially.  This fixes a problem in coreutils; see:
21856         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
21857
21858 2010-12-18  Bruno Haible  <bruno@clisp.org>
21859
21860         memmem-simple: Stylistic changes.
21861         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
21862         Fix preprocessor directive indentation.
21863
21864 2010-12-15  Pádraig Brady <P@draigBrady.com>
21865
21866         memmem, memmem-simple: reorganize and expand empty needle check
21867         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
21868         functional checks to memmem-simple so that one has a fully functional
21869         memmem by using just this module.
21870         Restrict the performance only check to the memmem module.
21871         Also expand the empty needle check to ensure the correct
21872         pointer is returned, not just a non NULL pointer.
21873         * doc/glibc-functions/memmem.texi: Rearrange the portability
21874         documentation to correlate with the rearranged checks.
21875         Clarify exactly how the memmem and memmem-simple modules
21876         relate to each other.
21877
21878 2010-12-15  Pádraig Brady <P@draigBrady.com>
21879             Bruno Haible  <bruno@clisp.org>
21880
21881         Improve cross-compilation guesses for uClibc.
21882         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
21883         that uClibc does not have the glibc bug.
21884         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
21885         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
21886
21887 2010-12-14  Eric Blake  <eblake@redhat.com>
21888
21889         configmake: provide fallbacks for oldest supported autotools
21890         * m4/configmake.m4: New file.
21891         * modules/configmake (Files): Ship it.
21892         (configure.ac): Use it to guarantee fallbacks.
21893
21894 2010-12-13  Pádraig Brady <P@draigBrady.com>
21895
21896         read-file: Improve handling of large files
21897         * lib/read-file.c (fread_file): Minimize realloc()s
21898         for regular files, and better manage sizes around SIZE_MAX.
21899
21900 2010-12-13  Eric Blake  <eblake@redhat.com>
21901
21902         cloexec, fcntl: relax license
21903         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
21904         consent from all contributors.
21905         * modules/fcntl (License): Likewise.
21906
21907 2010-12-10  Bruno Haible  <bruno@clisp.org>
21908
21909         Tests for module 'pipe-posix'.
21910         * modules/pipe-posix-tests: New file.
21911         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
21912
21913 2010-12-10  Bruno Haible  <bruno@clisp.org>
21914
21915         pipe-posix: Make it work in C++ mode.
21916         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
21917         (pipe): Use common idiom, not a macro definition.
21918         * lib/pipe.c: New file.
21919         * m4/pipe.m4: New file.
21920         * modules/pipe-posix (Description): Enhance.
21921         (Files): Add lib/pipe.c, m4/pipe.m4.
21922         (configure.ac): Invoke gl_FUNC_PIPE.
21923         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
21924         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
21925         * tests/test-unistd-c++.cc: Check the signature of pipe.
21926
21927 2010-12-10  Bruno Haible  <bruno@clisp.org>
21928
21929         Rename module 'pipe' to 'spawn-pipe'.
21930         * modules/spawn-pipe: New file, renamed from modules/pipe.
21931         (Files, configure.ac, Makefile.am): Update.
21932         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
21933         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
21934         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
21935         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
21936         "spawn-pipe.h" instead of "pipe.h".
21937         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
21938         to gl_SPAWN_PIPE.
21939         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
21940         (Files, Makefile.am): Update.
21941         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
21942         Update.
21943         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
21944         Include "spawn-pipe.h" instead of "pipe.h".
21945         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
21946         * lib/javacomp.c: Likewise.
21947         * lib/javaversion.c: Likewise.
21948         * lib/pipe-filter-gi.c: Likewise.
21949         * lib/pipe-filter-ii.c: Likewise.
21950         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
21951         * modules/javacomp (Depends-on): Likewise.
21952         * modules/javaversion (Depends-on): Likewise.
21953         * modules/pipe-filter-gi (Depends-on): Likewise.
21954         * modules/pipe-filter-ii (Depends-on): Likewise.
21955         * MODULES.html.sh (Executing programs): Update.
21956         * NEWS: Mention the change.
21957
21958 2010-12-10  Eric Blake  <eblake@redhat.com>
21959
21960         pipe-posix: new module
21961         * modules/pipe-posix: New file.
21962         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
21963         (gl_UNISTD_H): Check for declaration.
21964         * modules/unistd (Makefile.am): Substitute it.
21965         * lib/unistd.in.h (pipe): Provide it for mingw.
21966         * doc/posix-functions/pipe.texi (pipe): Update documentation.
21967         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
21968
21969 2010-12-07  Bruno Haible  <bruno@clisp.org>
21970
21971         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
21972         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
21973         u8_strcmp_gnu.
21974         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
21975
21976 2010-12-06  Bruno Haible  <bruno@clisp.org>
21977
21978         Update internal documentation.
21979         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
21980
21981 2010-12-04  Bruno Haible  <bruno@clisp.org>
21982
21983         Put more information about failed tests into the test return codes.
21984         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
21985         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
21986         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
21987         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
21988         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
21989         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
21990         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
21991         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
21992         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
21993         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
21994         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
21995         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
21996         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
21997         * m4/stdint.m4 (gl_STDINT_H): Likewise.
21998         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
21999         returns a bit mask.
22000         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
22001         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
22002         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
22003         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
22004         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
22005         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
22006         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
22007         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
22008         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
22009         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
22010         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
22011         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
22012         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
22013         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
22014         * m4/link.m4 (gl_FUNC_LINK): Likewise.
22015         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
22016         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
22017         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
22018         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
22019         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
22020         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
22021         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
22022         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
22023         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
22024         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
22025         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
22026         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
22027         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
22028         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
22029         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
22030         gl_PRINTF_PRECISION): Likewise.
22031         * m4/regex.m4 (gl_REGEX): Likewise.
22032         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
22033         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
22034         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
22035         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
22036         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
22037         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
22038         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
22039         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
22040         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
22041         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22042         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
22043         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
22044         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
22045         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
22046         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
22047         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
22048         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
22049         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
22050         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
22051         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
22052         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
22053         enumerated value.
22054         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
22055
22056 2010-12-04  Bruno Haible  <bruno@clisp.org>
22057
22058         Update for Solaris 11 2010-11.
22059         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
22060         Express, released in November 2010.
22061
22062 2010-12-04  Bruno Haible  <bruno@clisp.org>
22063
22064         nproc: Relax license.
22065         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
22066         and Paul Eggert.
22067         Requested by Ludovic Courtès <ludo@gnu.org>.
22068
22069 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
22070
22071         utimecmp: fine-grained src to nearby coarse-grained dest
22072
22073         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
22074         and the source is on a file system with higher-resolution time
22075         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
22076         not work, and the time stamps are close together, the algorithm to
22077         determine the exact resolution from the read-back mtime was buggy:
22078         it had a "!=" where it should have had an "==".  This bug has been
22079         in the code ever since it was introduced to gnulib.
22080         Problem reported by Dan Jacobson in
22081         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
22082
22083 2010-11-30  Bruno Haible  <bruno@clisp.org>
22084
22085         strerror_r-posix: Fix autoconf test.
22086         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
22087
22088 2010-11-28  Bruno Haible  <bruno@clisp.org>
22089             Paul Eggert  <eggert@cs.ucla.edu>
22090
22091         Tests for module 'getdomainname'.
22092         * modules/getdomainname-tests: New file.
22093         * tests/test-getdomainname.c: New file, based on
22094         tests/test-gethostname.c.
22095
22096 2010-11-28  Bruno Haible  <bruno@clisp.org>
22097             Paul Eggert  <eggert@cs.ucla.edu>
22098
22099         getdomainname: Use the system function when possible.
22100         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
22101         (getdomainname): Replace if needed. Provide the declaration if it is
22102         missing. Don't use _GL_CXXALIAS_SYS_CAST.
22103         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
22104         (getdomainname): When the system has getdomainname, call the system
22105         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
22106         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
22107         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
22108         found in libnsl. Look for the declaration also in <netdb.h>. Replace
22109         the function if its second argument is of type 'int' or if it is found
22110         in libnsl.
22111         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
22112         <sys/systeminfo.h> and sysinfo().
22113         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
22114         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22115         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
22116         HAVE_GETDOMAINNAME.
22117         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
22118         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
22119         * doc/glibc-functions/getdomainname.texi: Document the problems with
22120         the getdomainname declaration.
22121
22122 2010-11-28  Bruno Haible  <bruno@clisp.org>
22123
22124         sys_socket: Ensure ss_family field on AIX.
22125         * lib/sys_socket.in.h (ss_family): New macro definition.
22126         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
22127         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
22128         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
22129         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22130         * modules/sys_socket (Makefile.am): Substitute
22131         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
22132         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
22133
22134 2010-11-27  Bruno Haible  <bruno@clisp.org>
22135
22136         readline: Improve configure output.
22137         * m4/readline.m4 (gl_FUNC_READLINE): Make the
22138         "checking for readline..." result understandable.
22139
22140 2010-11-27  Bruno Haible  <bruno@clisp.org>
22141
22142         *printf-posix: Detect a bug on Solaris 10/x86.
22143         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
22144         for floating-point output.
22145         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
22146         directive.
22147         * tests/test-snprintf-posix.h (test_function): Likewise.
22148         * tests/test-sprintf-posix.h (test_function): Likewise.
22149         * tests/test-vasprintf-posix.c (test_function): Likewise.
22150         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
22151         * doc/posix-functions/printf.texi: Likewise.
22152         * doc/posix-functions/snprintf.texi: Likewise.
22153         * doc/posix-functions/sprintf.texi: Likewise.
22154         * doc/posix-functions/vfprintf.texi: Likewise.
22155         * doc/posix-functions/vprintf.texi: Likewise.
22156         * doc/posix-functions/vsnprintf.texi: Likewise.
22157         * doc/posix-functions/vsprintf.texi: Likewise.
22158         * doc/glibc-functions/obstack_printf.texi: Likewise.
22159         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
22160
22161 2010-11-27  Bruno Haible  <bruno@clisp.org>
22162
22163         Fix link error when module libunistring-optional is in use.
22164         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
22165         * modules/striconveha-tests (Makefile.am): Likewise.
22166
22167 2010-11-27  Bruno Haible  <bruno@clisp.org>
22168
22169         regex: Mention link dependencies.
22170         * modules/regex (Link): New section.
22171         * modules/rpmatch (Link): Likewise.
22172         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
22173
22174 2010-11-27  Bruno Haible  <bruno@clisp.org>
22175
22176         ftoastr: Fix compilation error on Solaris.
22177         * lib/ftoastr.c: Include <config.h>.
22178
22179 2010-11-27  Bruno Haible  <bruno@clisp.org>
22180
22181         getloadavg: Update documentation.
22182         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
22183
22184 2010-11-27  Bruno Haible  <bruno@clisp.org>
22185
22186         sys_socket: Fix test whether the functions are declared.
22187         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
22188         not <sys/select.h>.
22189
22190 2010-11-27  Bruno Haible  <bruno@clisp.org>
22191
22192         getpass: Make sure to get system declaration on some platforms.
22193         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
22194         gl_USE_SYSTEM_EXTENSIONS.
22195         * modules/getpass (Depends-on): Add extensions.
22196
22197 2010-11-26  Bruno Haible  <bruno@clisp.org>
22198
22199         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
22200         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
22201         'iconv' module is present.
22202         (ICONV_CONST): New macro.
22203         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
22204         ICONV_CONST.
22205         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
22206         set ICONV_CONST.
22207         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
22208         here.
22209         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
22210         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
22211         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
22212         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
22213         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
22214         present.
22215
22216 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
22217
22218         ftoastr: comment fix
22219         * lib/ftoastr.c: "little" -> "little or no" in comment
22220
22221 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
22222
22223         stdint: port to GCC 4.3 + OSX + Octave
22224         On this platform, stdint.h is buggy and defines int64_t to long
22225         long int.  The replacement defined it to long int, causing
22226         problems with C++ style name mangling.  Instead, trust the system
22227         definition if INT64_MAX is defined, and likewise for the unsigned
22228         variant.   Problem reported by Jarno Rajahalme in
22229         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
22230         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
22231         and don't mess with int64_t and INT64_MAX in this case.
22232         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
22233
22234 2010-11-24  Bruno Haible  <bruno@clisp.org>
22235
22236         doc: Corrections regarding MacOS X 10.4 and 10.5.
22237         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
22238         MacOS X.
22239         Reported by Simon Josefsson.
22240
22241 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
22242
22243         Uninstall ".bin" files installed by relocwrapper.
22244         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
22245         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
22246         unless it is already there.
22247
22248 2010-11-21  Bruno Haible  <bruno@clisp.org>
22249
22250         Update for NetBSD 5.0.
22251         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22252         NetBSD; the test fails on NetBSD 5.0.
22253         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22254         about NetBSD.
22255
22256 2010-11-21  Bruno Haible  <bruno@clisp.org>
22257
22258         Update for HP-UX 11.23 and HP-UX 11.31.
22259         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
22260         HP-UX.
22261
22262 2010-11-21  Bruno Haible  <bruno@clisp.org>
22263
22264         Update for MacOS X 10.5.
22265         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
22266         MacOS X; the test fails on MacOS X 10.5.8.
22267         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
22268         about MacOS X.
22269
22270 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
22271
22272         bootstrap: add bootstrap_sync option.
22273         See discussion at
22274         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
22275         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
22276         * build-aux/bootstrap: Accept --bootstrap-sync to update
22277         bootstrap if it is not identical to the local gnulib's
22278         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
22279         enable this by default.  Accept --no-bootstrap-sync to disable
22280         it.
22281
22282 2010-11-20  Bruno Haible  <bruno@clisp.org>
22283
22284         Ensure that <features.h> is included before __GLIBC__ is tested.
22285         * lib/printf-parse.h: Include <features.h>.
22286         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
22287         Reported by Mike Frysinger <vapier@gentoo.org>.
22288
22289         Ensure that <features.h> is included before __GLIBC__ is tested.
22290         * lib/wchar.in.h: Include <features.h>.
22291         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
22292         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
22293         Reported by Mike Frysinger <vapier@gentoo.org>.
22294
22295         Ensure that <features.h> is included before __GLIBC__ is tested.
22296         * lib/arpa_inet.in.h: Include <features.h>.
22297         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
22298         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
22299         Reported by Mike Frysinger <vapier@gentoo.org>.
22300
22301         Ensure that <features.h> is included before __GLIBC__ is tested.
22302         * build-aux/link-warning.h: Include <features.h>.
22303         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
22304         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
22305         Reported by Mike Frysinger <vapier@gentoo.org>.
22306
22307         Ensure that <features.h> is included before __GLIBC__ is tested.
22308         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
22309         Reported by Mike Frysinger <vapier@gentoo.org>.
22310
22311 2010-11-20  Bruno Haible  <bruno@clisp.org>
22312
22313         memmem: Fix autoconf test.
22314         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
22315
22316 2010-11-20  Bruno Haible  <bruno@clisp.org>
22317
22318         Port to uClibc.
22319         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
22320         * lib/fcntl.in.h: Likewise.
22321         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
22322         * lib/mbrtowc.c (mbrtowc): Likewise.
22323         * lib/relocatable.c (find_shared_library_fullname): Likewise.
22324         * lib/strerror_r.c: Likewise.
22325         * lib/unistr/u8-strnlen.c: Likewise.
22326         * lib/vasnprintf.c (decimal_point_char): Likewise.
22327         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
22328         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
22329         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
22330         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
22331         * tests/test-sigaction.c (handler, main): Likewise.
22332         * lib/freading.h: Treat uClibc like a non-glibc platform.
22333         * lib/freading.c: Likewise.
22334         * lib/gettext.h: Likewise.
22335         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
22336         Likewise.
22337         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
22338         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
22339         * lib/propername.c (proper_name_utf8): Likewise.
22340         * lib/spawn.in.h: Likewise.
22341         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
22342         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
22343         mem_cd_iconveh_internal): Likewise.
22344         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
22345         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
22346         strstr, strcasestr): Likewise.
22347         * lib/unicodeio.c (unicode_to_mb): Likewise.
22348         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
22349         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
22350         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
22351         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
22352         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
22353         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
22354         * lib/unistr/u8-stpncpy.c: Likewise.
22355         * lib/vasnprintf.c (VASNPRINTF): Likewise.
22356         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
22357         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
22358         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
22359         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
22360         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
22361         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
22362         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
22363         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
22364         Likewise.
22365         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
22366         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
22367         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
22368         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
22369         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
22370         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
22371         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
22372         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
22373         * tests/test-getopt.h (OPTIND_MIN): Likewise.
22374         * tests/test-striconveha.c (main): Likewise.
22375         * tests/test-vasnprintf-posix.c (test_function): Likewise.
22376         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
22377         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
22378         * doc/posix-functions/getline.texi: Likewise.
22379         Reported by Mike Frysinger <vapier@gentoo.org>.
22380
22381 2010-11-20  Bruno Haible  <bruno@clisp.org>
22382
22383         nproc: Fix condition.
22384         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
22385         HAVE_PTHREAD_AFFINITY_NP.
22386
22387 2010-11-20  Bruno Haible  <bruno@clisp.org>
22388
22389         Fix a comment.
22390         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
22391
22392 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
22393
22394         ftoastr: don't assume snprintf
22395         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
22396         Implement a subset of snprintf here, by using sprintf safely.
22397         * modules/ftoastr (Depends-on): Remove snprintf.
22398
22399 2010-11-19  Jim Meyering  <meyering@redhat.com>
22400
22401         test-rename.h: fix compilation failure
22402         * tests/test-rename.h (test_rename): Add omitted "}".
22403
22404 2010-11-17  Jim Meyering  <meyering@redhat.com>
22405
22406         maint.mk: add a URL discussing the no-@acronym policy
22407         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
22408
22409 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
22410
22411         ftoastr: depend on snprintf, improve comments
22412         * lib/ftoastr.c: Also mention Loitsch's draft.
22413         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
22414         needed in the current implementation, but it might simplify
22415         speeding up the code later.
22416         * modules/ftoastr: Depend on snprintf; this improves portability.
22417         Suggested by Bruno Haible in the same email.
22418
22419         ftoastr: port to hosts lacking strtof and strtold
22420         Problem reported by Bruno Haible in
22421         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
22422         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
22423         environment and strtold (and presumably strtof) are not available.
22424         * modules/ftoastr (Files): Add m4/c-strtod.m4.
22425         (configure.ac): Require gl_C99_STRTOLD.
22426
22427 2010-11-18  Bruno Haible  <bruno@clisp.org>
22428
22429         c-strtold: Avoid link error on AIX 7.
22430         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
22431         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
22432         (gl_C_STRTOLD): Test whether strtold_l exists.
22433         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
22434
22435 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
22436
22437         intprops: new macro INT_BITS_STRLEN_BOUND
22438         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
22439         ftoastr.h.  This exposes an internal of intprops.h that was formerly
22440         not exposed.  Also, it uses a slightly tighter bound than before;
22441         though this makes no practical difference, we might as well be as
22442         tight as we easily can.
22443
22444         ftoastr: new module, for lossless conversion of floats to short strings
22445         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
22446         * modules/ftoastr: New files.
22447
22448 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
22449
22450         bootstrap: port to Solaris sed
22451         * build-aux/bootstrap (get_version): Port to Solaris sed.
22452         See Ralf Wildenhues's note in
22453         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
22454
22455 2010-11-14  Jim Meyering  <meyering@redhat.com>
22456
22457         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
22458         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
22459         and move definition closer to sole use.
22460
22461 2010-11-13  Jim Meyering  <meyering@redhat.com>
22462
22463         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
22464         Now we require at least autoconf-2.59, which means the work-around
22465         is no longer needed.
22466         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
22467         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
22468         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
22469         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
22470         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
22471
22472 2010-11-13  Bruno Haible  <bruno@clisp.org>
22473
22474         rename, renameat: Avoid test failures at NFS mounted locations.
22475         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
22476         functions.
22477         (test_rename): Use assert_nonexistent.
22478         * tests/test-rename.c: Include <dirent.h>.
22479         * tests/test-renameat.c: Likewise.
22480         Reported by Gary V. Vaughan <gary@gnu.org>.
22481
22482         rename, renameat: Document Linux bug with NFS
22483         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
22484         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
22485         * doc/posix-functions/renameat.texi: Likewise.
22486         Suggested by Eric Blake.
22487
22488 2010-11-13  Bruno Haible  <bruno@clisp.org>
22489
22490         rename test: Add comments.
22491         * tests/test-rename.h (test_rename): Add structure and comments.
22492
22493 2010-11-13  Eric Blake  <eblake@redhat.com>
22494
22495         maintainer-makefile: cover a few more files
22496         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
22497         scripts generated within C files, for libvirt.
22498
22499 2010-11-13  Bruno Haible  <bruno@clisp.org>
22500
22501         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
22502         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
22503         character, return the number of bytes that belong together, not always
22504         1.
22505         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
22506         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
22507         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
22508         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
22509         number of bytes of an invalid character.
22510         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
22511         (main): Invoke it.
22512         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
22513         results.
22514         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
22515         malformed byte sequences.
22516         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
22517         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
22518         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
22519         Reported by Ben Pfaff and Paolo Bonzini.
22520
22521 2010-11-13  Bruno Haible  <bruno@clisp.org>
22522
22523         openat: Work around glibc bug with fchownat() and empty file names.
22524         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
22525         (gl_FUNC_FCHOWNAT): Invoke it.
22526         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
22527         * doc/posix-functions/fchownat.texi: Document the glibc bug.
22528         Reported by Gary V. Vaughan <gary@gnu.org>.
22529
22530 2010-11-13  Bruno Haible  <bruno@clisp.org>
22531
22532         openat: Ensure autoconf macro ordering.
22533         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
22534         gl_USE_SYSTEM_EXTENSIONS.
22535         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
22536
22537 2010-11-13  Bruno Haible  <bruno@clisp.org>
22538
22539         Update comments.
22540         * lib/unistr/u8-check.c: Update file name in comments.
22541         * lib/unistr/u8-mblen.c: Likewise.
22542         * lib/unistr/u8-prev.c: Likewise.
22543         * lib/unistr/u8-strmblen.c: Likewise.
22544         * lib/unistr/u8-strmbtouc.c: Likewise.
22545
22546 2010-11-13  Jim Meyering  <meyering@redhat.com>
22547
22548         tests: avoid test failure on Solaris 10 due to lack of PATH export
22549         * tests/test-update-copyright.sh: Don't forget to export PATH.
22550
22551         init.sh: ensure that IFS is defined, just in case...
22552         * tests/init.sh (setup_): Ensure that IFS is defined,
22553         so that saving and restoring it works as expected.  This
22554         appears to be useful at least for an old version of dash
22555         from a long time ago (RH 6).  See here for details:
22556         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
22557
22558         maint.mk: tighten "test a == b" check
22559         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
22560         test to files that contain something like #!/bin/sh.
22561         Without this, coreutils would get two false positives in
22562         the comments of C source files.
22563
22564 2010-11-12  Eric Blake  <eblake@redhat.com>
22565
22566         bootstrap: fix typo in previous attempt
22567         * build-aux/bootstrap (buildreq): Correct the grouping.
22568         Reported by Paul Eggert.
22569
22570         maintainer-makefile: prohibit test x == x
22571         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
22572         Based on a report by Matthias Bolte.
22573
22574         bootstrap: allow FreeBSD gzip
22575         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
22576         which has no '.' and goes to stderr.
22577         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
22578         Reported by Matthias Bolte.
22579
22580         maintainer-makefile: check for i18n setup
22581         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
22582         will likely work.
22583
22584 2010-11-12  Bruno Haible  <bruno@clisp.org>
22585
22586         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
22587         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
22588         * lib/nanosleep.c (nanosleep): Likewise.
22589
22590 2010-11-11  Bruno Haible  <bruno@clisp.org>
22591
22592         fcntl-h: Fix for use of C++ on glibc systems.
22593         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
22594         also on glibc systems in C++ mode.
22595         Reported by Gary V. Vaughan <gary@gnu.org>.
22596
22597 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22598
22599         mknod: avoid false failure with dash
22600         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
22601
22602 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
22603
22604         unlink: Fix "is it should" typo in diagnostic.
22605         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
22606         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
22607
22608 2010-11-11  Bruno Haible  <bruno@clisp.org>
22609
22610         Tests for module 'strerror_r-posix'.
22611         * modules/strerror_r-posix-tests: New file.
22612         * tests/test-strerror_r.c: New file.
22613         * tests/test-string-c++.cc: Check the signature of strerror_r.
22614
22615         New module 'strerror_r-posix'.
22616         * lib/string.in.h (strerror_r): New declaration.
22617         * lib/strerror_r.c: New file.
22618         * m4/strerror_r.m4: New file.
22619         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
22620         of strerror_r.
22621         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
22622         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22623         * modules/strerror_r-posix: New file.
22624         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
22625         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
22626         * doc/posix-functions/strerror_r.texi: Mention the new module and the
22627         portability problems.
22628
22629 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
22630
22631         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
22632         line is also considered for output. Quoted function name in shell
22633         command, so temporary files for functions like MyClass::operator()
22634         are removed correctly without errors.
22635
22636 2010-11-09  Bruno Haible  <bruno@clisp.org>
22637
22638         * doc/posix-functions/strerror.texi: List more failing platforms.
22639
22640         * doc/posix-functions/strerror.texi: Add a comment.
22641
22642 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
22643
22644         fdopendir: fix bug on MacOS X when low on file descriptors
22645
22646         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
22647         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
22648         All callers changed.
22649         (fdopendir): Invoke save_cwd at the top level, not after using
22650         multiple dup() calls to use up file descriptors.  Then retry
22651         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
22652         less than the maximum number of open file descriptors, because
22653         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
22654         on Mac OS X 10.6.4 for tar 1.24
22655         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
22656         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
22657         and for tar 1.25
22658         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
22659
22660 2010-11-07  Bruno Haible  <bruno@clisp.org>
22661
22662         vasnprintf: Support I flag on glibc systems.
22663         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
22664         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
22665         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
22666         snprintf function.
22667         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
22668         glibc systems.
22669         * tests/test-vasnprintf-posix3.c: New file.
22670         * modules/vasnprintf-posix-tests (Files): Add it.
22671         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
22672
22673 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
22674
22675         [html] Fix copy/paste bug: Use unique name for compiler warnings.
22676         * MODULES.html.sh: For compiler warnings, use name
22677         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
22678
22679 2010-11-05  Eric Blake  <eblake@redhat.com>
22680
22681         ceil, floor: avoid spurious failure with icc
22682         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
22683         [denormals-as-zero] when optimizing without -mieee-fp option.
22684         * tests/test-floorf2.c (floorf_reference): Likewise.
22685         * tests/test-ceilf1.c (dummy): New function.
22686         (main): Use it to outsmart icc's optimization.
22687         * tests/test-floorf1.c (dummy, main): Likewise.
22688
22689         tests: require working signbit
22690         * modules/ceilf-tests (Depends-on): Add signbit.
22691         * modules/ceill-tests (Depends-on): Likewise.
22692         * modules/floorf-tests (Depends-on): Likewise.
22693         * modules/floorl-tests (Depends-on): Likewise.
22694         * modules/round-tests (Depends-on): Likewise.
22695         * modules/roundf-tests (Depends-on): Likewise.
22696         * modules/roundl-tests (Depends-on): Likewise.
22697         * modules/trunc-tests (Depends-on): Likewise.
22698         * modules/truncf-tests (Depends-on): Likewise.
22699         * modules/truncl-tests (Depends-on): Likewise.
22700
22701         strtod: work around icc bug
22702         * lib/strtod.c (minus_zero): Define to working value.
22703         (strtod): Use it to avoid icc bug.
22704
22705         copysign: enhance tests
22706         * modules/copysign-tests (Files): Add minus-zero.h.
22707         * tests/test-copysign.c (main): Also test zeros.
22708
22709 2010-11-04  Eric Blake  <eblake@redhat.com>
22710
22711         ceil, floor, round, trunc: enhance tests of -0
22712         * tests/test-ceilf1.c (main): Ensure correct sign of result.
22713         * tests/test-ceill.c (main): Likewise.
22714         * tests/test-floorf1.c (main): Likewise.
22715         * tests/test-floorl.c (main): Likewise.
22716         * tests/test-round1.c (main): Likewise.
22717         * tests/test-roundf1.c (main): Likewise.
22718         * tests/test-roundl.c (main): Likewise.
22719         * tests/test-trunc1.c (main): Likewise.
22720         * tests/test-truncf1.c (main): Likewise.
22721         * tests/test-truncl.c (main): Likewise.
22722
22723 2010-11-04  Eric Blake  <eblake@redhat.com>
22724
22725         frexp, tests: work around ICC bug with -zero
22726         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
22727         works with more compilers.
22728         * tests/minus-zero.h: New file.
22729         * modules/ceilf-tests (Files): Include it.
22730         * modules/ceill-tests (Files): Likewise.
22731         * modules/floorf-tests (Files): Likewise.
22732         * modules/floorl-tests (Files): Likewise.
22733         * modules/frexp-nolibm-tests (Files): Likewise.
22734         * modules/frexp-tests (Files): Likewise.
22735         * modules/frexpl-nolibm-tests (Files): Likewise.
22736         * modules/frexpl-tests (Files): Likewise.
22737         * modules/isnan-tests (Files): Likewise.
22738         * modules/isnand-nolibm-tests (Files): Likewise.
22739         * modules/isnand-tests (Files): Likewise.
22740         * modules/isnanf-nolibm-tests (Files): Likewise.
22741         * modules/isnanf-tests (Files): Likewise.
22742         * modules/isnanl-nolibm-tests (Files): Likewise.
22743         * modules/isnanl-tests (Files): Likewise.
22744         * modules/round-tests (Files): Likewise.
22745         * modules/roundf-tests (Files): Likewise.
22746         * modules/roundl-tests (Files): Likewise.
22747         * modules/ldexpl-tests (Files): Likewise.
22748         * modules/signbit-tests (Files): Likewise.
22749         * modules/snprintf-posix-tests (Files): Likewise.
22750         * modules/sprintf-posix-tests (Files): Likewise.
22751         * modules/strtod-tests (Files): Likewise.
22752         * modules/trunc-tests (Files): Likewise.
22753         * modules/truncf-tests (Files): Likewise.
22754         * modules/truncl-tests (Files): Likewise.
22755         * modules/vsnprintf-posix-tests (Files): Likewise.
22756         * modules/vsprintf-posix-tests (Files): Likewise.
22757         * modules/vasnprintf-posix-tests (Files): Likewise.
22758         * modules/vasprintf-posix-tests (Files): Likewise.
22759         * tests/test-ceilf1.c (main): Use it.
22760         * tests/test-ceill.c (main): Likewise.
22761         * tests/test-floorf1.c (main): Likewise.
22762         * tests/test-floorl.c (main): Likewise.
22763         * tests/test-frexp.c (main): Likewise.
22764         * tests/test-frexpl.c (main): Likewise.
22765         * tests/test-isnan.c (main): Likewise.
22766         * tests/test-isnand.h (main): Likewise.
22767         * tests/test-isnanf.h (main): Likewise.
22768         * tests/test-isnanl.h (main): Likewise.
22769         * tests/test-ldexpl.c (main): Likewise.
22770         * tests/test-round.c (main): Likewise.
22771         * tests/test-roundf.c (main): Likewise.
22772         * tests/test-roundl.c (main): Likewise.
22773         * tests/test-signbit.c (test_signbitf, test_signbitd)
22774         (test_signbitl): Likewise.
22775         * tests/test-snprintf-posix.h (test_function): Likewise.
22776         * tests/test-sprintf-posix.h (test_function): Likewise.
22777         * tests/test-strtod.c (main): Likewise.
22778         * tests/test-trunc1.c (main): Likewise.
22779         * tests/test-truncf1.c (main): Likewise.
22780         * tests/test-truncl.c (main): Likewise.
22781
22782         isnanl: work around icc bug
22783         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
22784
22785 2010-11-03  Eric Blake  <eblake@redhat.com>
22786
22787         tests: fix compiler warnings
22788         * tests/test-getopt.h (test_getopt): Fix condition.
22789         * tests/test-getopt_long.h (test_getopt_long): Likewise.
22790         * tests/test-pipe2.c (main): Likewise.
22791         * tests/test-quotearg-simple.c (main): Avoid icc warning.
22792
22793         utimens: fix broken m4 test
22794         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
22795
22796 2010-10-28  Bruno Haible  <bruno@clisp.org>
22797
22798         posix_spawn*, getdtablesize: Relax license.
22799         * modules/posix_spawn (License): Change to LGPLv2+.
22800         * modules/posix_spawnp (License): Likewise.
22801         * modules/posix_spawn-internal (License): Likewise.
22802         * modules/posix_spawnattr_init (License): Likewise.
22803         * modules/posix_spawnattr_getflags (License): Likewise.
22804         * modules/posix_spawnattr_setflags (License): Likewise.
22805         * modules/posix_spawnattr_getpgroup (License): Likewise.
22806         * modules/posix_spawnattr_setpgroup (License): Likewise.
22807         * modules/posix_spawnattr_getschedparam (License): Likewise.
22808         * modules/posix_spawnattr_setschedparam (License): Likewise.
22809         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
22810         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
22811         * modules/posix_spawnattr_getsigdefault (License): Likewise.
22812         * modules/posix_spawnattr_setsigdefault (License): Likewise.
22813         * modules/posix_spawnattr_getsigmask (License): Likewise.
22814         * modules/posix_spawnattr_setsigmask (License): Likewise.
22815         * modules/posix_spawnattr_destroy (License): Likewise.
22816         * modules/posix_spawn_file_actions_init (License): Likewise.
22817         * modules/posix_spawn_file_actions_addclose (License): Likewise.
22818         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
22819         * modules/posix_spawn_file_actions_addopen (License): Likewise.
22820         * modules/posix_spawn_file_actions_destroy (License): Likewise.
22821         * modules/getdtablesize (License): Likewise.
22822         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
22823
22824 2010-10-26  Bruno Haible  <bruno@clisp.org>
22825
22826         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
22827         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
22828         Cygwin and mingw.
22829         Suggested by Eric Blake.
22830
22831 2010-10-26  Bruno Haible  <bruno@clisp.org>
22832
22833         stdio: Work around compilation error due to renameat() on Solaris 10.
22834         * lib/stdio.in.h: Include <unistd.h> on Solaris.
22835         * lib/renameat.c: Don't include <unistd.h> here.
22836         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
22837         Reported by Paul Eggert and Eric Blake.
22838
22839 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
22840
22841         renameat: port to Solaris 10, which declares renameat in unistd.h
22842
22843         * lib/renameat.c: Include unistd.h before stdio.h, because
22844         Solaris 10 declares renameat in unistd.h.  Problem encountered
22845         when building GNU tar 1.24 on Solaris 10.
22846
22847 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
22848
22849         fdopendir: fix C89 compilation
22850         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
22851         compilers.
22852
22853 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
22854
22855         inttostr: simplify by removing unnecessary redundancy
22856         * lib/anytostr.c: Don't include verify.h.
22857         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
22858         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
22859         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
22860         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
22861         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
22862         Likewise.
22863         * modules/inttostr (Depends-on): Remove 'verify'.
22864
22865 2010-10-23  Bruno Haible  <bruno@clisp.org>
22866
22867         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
22868         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
22869         Reported by Eric Blake.
22870
22871 2010-10-23  Bruno Haible  <bruno@clisp.org>
22872
22873         Tests: Fix LOCALE_JA on MirBSD 10.
22874         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
22875         to an UTF-8 locale.
22876         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
22877         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
22878         Reported by Eric Blake.
22879
22880 2010-10-21  Bruno Haible  <bruno@clisp.org>
22881
22882         nl_langinfo test: Avoid test failure on NetBSD 5.
22883         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
22884         Reported by Eric Blake.
22885
22886 2010-10-21  Eric Blake  <eblake@redhat.com>
22887
22888         c-stack: work around libsigsegv 2.8 bug
22889         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
22890         overflow on at least PowerPC64.
22891
22892 2010-10-17  Bruno Haible  <bruno@clisp.org>
22893
22894         userspec: Drop redundant file.
22895         * modules/userspec (Files): Remove lib/inttostr.h.
22896
22897 2010-10-17  Bruno Haible  <bruno@clisp.org>
22898
22899         nl_langinfo tests: Silence some warnings.
22900         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
22901         Reported by Jim Meyering.
22902
22903 2010-10-17  Bruno Haible  <bruno@clisp.org>
22904
22905         Make use of GCC's attribute __alloc_size__.
22906         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
22907         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
22908         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
22909         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
22910         __alloc_size__.
22911         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
22912         Suggested by Jim Meyering.
22913
22914 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
22915
22916         bootstrap: anchor .gitignore entries.
22917         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
22918         with...
22919         (insert_vc_ignore): ... this new function, which prepends `/' to
22920         all .gitignore entries before passing them to
22921         insert_sorted_if_absent.
22922
22923 2010-10-16  Bruno Haible  <bruno@clisp.org>
22924
22925         nextafter: Fix configure check.
22926         * modules/nextafter (configure.ac): Correct expected prototype.
22927
22928 2010-10-16  Bruno Haible  <bruno@clisp.org>
22929
22930         termios: Update documentation.
22931         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
22932
22933 2010-10-16  Bruno Haible  <bruno@clisp.org>
22934
22935         tests: Make them compile with TinyCC.
22936         * tests/test-strstr.c (main): Remove parentheses around array
22937         initializer.
22938
22939 2010-10-15  Eric Blake  <eblake@redhat.com>
22940
22941         ignore-value: make header idempotent
22942         * lib/ignore-value.h: Add double-inclusion guards.
22943         Reported by Stefan Berger.
22944
22945 2010-10-15  Jim Meyering  <meyering@redhat.com>
22946
22947         GNUmakefile: handle "stable" target, not "major"
22948         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
22949         lists in maint.mk and announce-gen.  Without this, "make stable"
22950         would fail to ensure that $(VERSION) is up to date.
22951
22952 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
22953
22954         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
22955         & co.
22956
22957 2010-10-14  Bruno Haible  <bruno@clisp.org>
22958
22959         vasnprintf: Don't set errno to 0.
22960         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
22961         block that sets it to 0.
22962         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
22963
22964 2010-10-14  Bruno Haible  <bruno@clisp.org>
22965
22966         socketlib: Fix.
22967         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
22968         gl_PREREQ_SYS_H_WINSOCK2.
22969         Reported by Ian Beckwith <ianb@erislabs.net>.
22970
22971 2010-10-13  Jim Meyering  <meyering@redhat.com>
22972
22973         test-select-stdin.c: avoid warn_unused_result warnings
22974         * tests/test-select-stdin.c: Include "macros.h".
22975         ASSERT that read and fflush succeed.
22976
22977 2010-10-13  Jim Meyering  <meyering@redhat.com>
22978
22979         git-version-gen: do require git-VC'd files in cwd
22980         * build-aux/git-version-gen: Reject a git version string
22981         if there are no commits associated with the current directory.
22982         This avoids an unlikely false-positive (unrelated dir whose parent
22983         repository also contains a tag matching v*), as pointed out
22984         by Giuseppe Scrivano in
22985         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
22986
22987 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
22988
22989         argv-iter: omit nonconforming declaration
22990         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
22991         enum arg_iter_err declaration, which doesn't conform to C99.
22992         Solaris 10 cc warns about this.
22993
22994 2010-10-13  Eric Blake  <eblake@redhat.com>
22995
22996         termios: fix compilation on mingw
22997         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
22998         (gl_TERMIOS_H): Adjust it on mingw.
22999         * modules/termios (Makefile.am): Substitute new key.
23000         * lib/termios.in.h (includes): Make include_next conditional.
23001         * doc/posix-headers/termios.texi (termios.h): Update
23002         documentation.
23003         Reported by Daniel P. Berrange.
23004
23005 2010-10-13  Jim Meyering  <meyering@redhat.com>
23006
23007         git-version-gen: don't require that .git/ be in the current dir
23008         * build-aux/git-version-gen: Adjust this script so that it works
23009         when run from any working directory beneath the top-level .git/-
23010         containing directory.  Inspired by a patch from Giuseppe Scrivano,
23011         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
23012
23013         test-select: avoid warn_unused_result warnings
23014         * tests/test-select.c: Include "macros.h".
23015         ASSERT that each call to read, write, and pipe succeeds.
23016         While not technically required, also check each "close".
23017         * modules/select-tests (Files): Add tests/macros.h.
23018
23019         test-symlinkat: remove declaration of unused local
23020         * tests/test-symlinkat.c (main): Remove unused local, "buf".
23021
23022         test-inttostr: avoid shadowing warnings
23023         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
23024         and use malloc rather than the stack for the same reason as
23025         mentioned in the comment justifying the other allocation.
23026
23027 2010-10-11  Bruno Haible  <bruno@clisp.org>
23028
23029         stdlib: Allow multiple gnulib generated replacements to coexist.
23030         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
23031         Reported by Sam Steingold <sds@gnu.org>.
23032
23033 2010-10-11  Jim Meyering  <meyering@redhat.com>
23034
23035         fix a documentation typo
23036         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
23037
23038 2010-10-11  Eric Blake  <eblake@redhat.com>
23039
23040         futimens: work around Solaris 11 bug
23041         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
23042         * tests/test-futimens.h (test_futimens): Enhance, rather than
23043         weaken test.
23044         * doc/posix-functions/futimens.texi (futimens): Document the bug.
23045
23046 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
23047
23048         Indentation.
23049         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
23050         higher-level operators more to the left.
23051
23052 2010-10-11  Jim Meyering  <meyering@redhat.com>
23053
23054         test-futimens: avoid unwarranted test failure on Solaris 5.11
23055         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
23056         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
23057         because it tries to dereference the NULL name argument.
23058
23059 2010-10-11  Bruno Haible  <bruno@clisp.org>
23060
23061         Indentation.
23062         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
23063         indentation.
23064
23065 2010-10-11  Jim Meyering  <meyering@redhat.com>
23066
23067         spawn.in.h: make indentation consistent with parentheses
23068         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
23069         Make indentation consistent with parentheses.
23070
23071 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
23072
23073         Fix mismatched parens in previous commit
23074         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
23075         parens.
23076
23077 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
23078
23079         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
23080
23081         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
23082         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
23083         * lib/malloca.c: Include "verify.h".
23084         (verify1): Remove, replacing with a verify call.
23085         * lib/relocwrapper.c (verify1): Likewise.
23086         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
23087         Likewise.
23088         * modules/malloca (Depends-on): Add 'verify'.
23089         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
23090         * modules/vasnprintf (Depends-on): Add 'verify'.
23091         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
23092         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
23093         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
23094         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
23095         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
23096         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
23097         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
23098
23099         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
23100
23101         Formerly the style was sometimes 2*X - 1, because the C standard
23102         was wrongly thought to disallow ?: in integral constant expressions.
23103         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
23104         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
23105         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
23106         * lib/stdint.in.h (_verify_intmax_size): Likewise.
23107         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
23108         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
23109         verify that time_t cannot be floating.
23110
23111 2010-10-08  Eric Blake  <eblake@redhat.com>
23112
23113         time: enforce recent POSIX ruling that time_t is integral
23114         * lib/time.in.h (__time_t_must_be_integral): Detect any
23115         problematic systems, allowing the rest of gnulib to assume POSIX.
23116
23117 2010-10-08  Jim Meyering  <meyering@redhat.com>
23118
23119         fdopendir: fix a bug on systems lacking openat and /proc support
23120         OpenBSD 4.7 is one such system.  The most noticeable effect was
23121         failure of any application making nontrivial use of fts: rm, du,
23122         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
23123           ./rm: traversal failed: `a': Bad file descriptor
23124         Debugging that, you see that even though FD 6 was closed just
23125         prior to the opendir call in fd_clone_opendir, its resulting
23126         dir->dd_fd was 8, rather than the expected value of 6:
23127
23128         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
23129         93                close (fd);
23130         (gdb) n
23131         94                dir = fd_clone_opendir (dupfd);
23132         (gdb) n
23133         95                saved_errno = errno;
23134         (gdb) p dir->dd_fd
23135         $11 = 8
23136
23137         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
23138         The problem is that on OpenBSD, fd_clone_opendir has to resort
23139         to using the old-style save/restore CWD mechanism, due to its
23140         lack of openat/proc support, and *that* would steal the FD (6)
23141         that opendir was supposed to use.
23142
23143         The fix is to squirrel away the desired FD so that save_cwd uses a
23144         different one, and then free the dest FD right before calling opendir.
23145         That guarantees opendir will use the required file descriptor.
23146
23147         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
23148
23149 2010-10-08  Bruno Haible  <bruno@clisp.org>
23150
23151         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
23152         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
23153
23154 2010-10-08  Bruno Haible  <bruno@clisp.org>
23155
23156         nanosleep: Make replacement POSIX compliant.
23157         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
23158         is out of range.
23159         Reported by Jim Meyering.
23160
23161 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
23162
23163         bootstrap: add hook for altering gnulib.mk, for Bison
23164         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
23165         the Bison bootstrapping process can rewrite file names and variables
23166         in this file before later parts of 'bootstrap' use the file.
23167         Bison wants to include lib/gnulib.mk from the top-level makefile,
23168         so it needs the file names in this file to be relative to the top
23169         level, not relative to lib; plus it needs variable names to be
23170         rewritten.
23171         (slurp): Use the new function.
23172
23173         bootstrap: reformat for readability
23174         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
23175
23176 2010-10-08  Eric Blake  <eblake@redhat.com>
23177
23178         docs: update cygwin progress
23179         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
23180         1.7.7.
23181         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
23182         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
23183         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
23184         * doc/posix-functions/carg.texi (carg): Likewise.
23185         * doc/posix-functions/cargf.texi (cargf): Likewise.
23186         * doc/posix-functions/casin.texi (casin): Likewise.
23187         * doc/posix-functions/casinf.texi (casinf): Likewise.
23188         * doc/posix-functions/casinh.texi (casinh): Likewise.
23189         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
23190         * doc/posix-functions/catan.texi (catan): Likewise.
23191         * doc/posix-functions/catanf.texi (catanf): Likewise.
23192         * doc/posix-functions/catanh.texi (catanh): Likewise.
23193         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
23194         * doc/posix-functions/ccos.texi (ccos): Likewise.
23195         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
23196         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
23197         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
23198         * doc/posix-functions/cexp.texi (cexp): Likewise.
23199         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
23200         * doc/posix-functions/cimag.texi (cimag): Likewise.
23201         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
23202         * doc/posix-functions/clog.texi (clog): Likewise.
23203         * doc/posix-functions/clogf.texi (clogf): Likewise.
23204         * doc/posix-functions/conj.texi (conj): Likewise.
23205         * doc/posix-functions/conjf.texi (conjf): Likewise.
23206         * doc/posix-functions/cpow.texi (cpow): Likewise.
23207         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
23208         * doc/posix-functions/cproj.texi (cproj): Likewise.
23209         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
23210         * doc/posix-functions/creal.texi (creal): Likewise.
23211         * doc/posix-functions/crealf.texi (crealf): Likewise.
23212         * doc/posix-functions/csin.texi (csin): Likewise.
23213         * doc/posix-functions/csinf.texi (csinf): Likewise.
23214         * doc/posix-functions/csinh.texi (csinh): Likewise.
23215         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
23216         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
23217         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
23218         * doc/posix-functions/ctan.texi (ctan): Likewise.
23219         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
23220         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
23221         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
23222         * doc/posix-headers/complex.texi (complex.h): Likewise.
23223
23224 2010-10-07  Jim Meyering  <meyering@redhat.com>
23225
23226         parse-datetime: avoid compilation failure on OpenBSD 4.7
23227         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
23228         This works around a compilation failure on OpenBSD 4.7:
23229         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
23230
23231 2010-10-07  Eric Blake  <eblake@redhat.com>
23232
23233         docs: update cygwin progress
23234         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
23235         1.7.6.
23236         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
23237         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
23238         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
23239         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
23240         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
23241         Likewise.
23242         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
23243         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
23244         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
23245         Likewise.
23246         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
23247         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
23248         Likewise.
23249         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
23250         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
23251         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
23252         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
23253         Likewise.
23254         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
23255         Likewise.
23256         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
23257
23258         docs: update parse-datetime history
23259         * doc/parse-datetime.texi (Authors of parse_datetime): Better
23260         documentation of this function's history and alternatives.
23261
23262         cygwin: use more robust version check
23263         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
23264         exclude an eventual cygwin 1.9.1.
23265         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23266         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23267         (gl_FUNC_STRCASESTR): Likewise.
23268         Reported by Bruno Haible.
23269
23270 2010-10-06  Bruno Haible  <bruno@clisp.org>
23271
23272         string, sys_select: Avoid #including large headers unless necessary.
23273         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
23274         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
23275         OSF/1, BeOS, Haiku.
23276         Reported by Jim Meyering.
23277
23278 2010-10-05  Eric Blake  <eblake@redhat.com>
23279
23280         memmem, strstr, strcasestr: fix bug with long periodic needle
23281         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
23282         periodic needle having false positive.
23283         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
23284         and cygwin 1.7.7.
23285         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
23286         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
23287         (gl_FUNC_STRCASESTR): Likewise.
23288         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
23289         * tests/test-memmem.c (main): Expose the bug.
23290         * tests/test-strcasestr.c (main): Likewise.
23291         * tests/test-strstr.c (main): Likewise.
23292         * tests/test-c-strcasestr.c (main): Likewise.
23293         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
23294         * doc/posix-functions/strstr.texi (strstr): Likewise.
23295         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
23296         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
23297
23298 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23299
23300         parse-datetime: do some more renaming
23301         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
23302         parse_datetime, not get_date.  Mention the renaming.
23303         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
23304         in comments.
23305         * m4/bison.m4: Likewise.
23306
23307 2010-10-05  Eric Blake  <eblake@redhat.com>
23308
23309         parse-datetime: better name than get_date
23310         * NEWS: Reword the deprecation notice.
23311         * modules/get_date: Rename to modules/parse-datetime.
23312         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
23313         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
23314         * lib/get_date.y: Rename to lib/parse-datetime.y.
23315         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
23316         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
23317         * doc/getdate.texi: Provide fallback wrapper.
23318         * lib/getdate.h: Move guts, and wrap...
23319         * lib/parse-datetime.h: ...new file.
23320         * lib/parse-datetime.y (get_date): Rename...
23321         (parse_datetime): ...to this.
23322         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
23323         (gl_PARSE_DATETIME): ...to this.
23324         * doc/posix-functions/getdate.texi (get_date): Provide fallback
23325         documentation.
23326         * modules/getdate (Files): Provide fallback docs and header.
23327         (Notice, Depends-on): Update references.
23328         * tests/test-parse-datetime.c: Likewise.
23329         * DEPENDENCIES: Likewise.
23330         * MODULES.html.sh (Date and time <time.h>): Likewise.
23331         * doc/parse-datetime.texi (Date input formats)
23332         (Authors of parse_datetime): Likewise.
23333         * modules/parse-datetime (Files, configure.ac, Makefile.am)
23334         (Include): Likewise.
23335         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
23336         * gnulib-tool: Likewise.
23337         * m4/bison.m4 (gl_BISON): Likewise.
23338         Suggested by Bruno Haible.
23339
23340 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
23341
23342         more ports to Solaris tr, which needs [] around ranges
23343         * gnulib-tool: Solaris tr needs [] around ranges.
23344         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
23345         * tests/test-pipe-filter-gi1.c (main): Likewise.
23346         * tests/test-pipe-filter-ii1.c (main): Likewise.
23347
23348 2010-10-05  Eric Blake  <eblake@redhat.com>
23349
23350         bootstrap: fix Solaris regression
23351         * build-aux/bootstrap (check_versions): Solaris tr still needs []
23352         around ranges.
23353         Reported by Pádraig Brady.
23354
23355         bootstrap: work with pkg-config
23356         * build-aux/bootstrap (check_versions): Also transliterate - in
23357         prerequisite name.
23358         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
23359         prerequisites that were already found, to avoid confusion.
23360         Reported by Justin Clift.
23361
23362         faccessat: remove unused wrappers
23363         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
23364         presence of these wrappers dragged in -lgen on Solaris.
23365         Reported by Clemens Brogi; fix suggested by Paul Eggert.
23366
23367 2010-10-05  Jim Meyering  <meyering@redhat.com>
23368
23369         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
23370         * Makefile (sc_pragma_columns): New syntax-check rule.
23371
23372 2010-10-04  Bruno Haible  <bruno@clisp.org>
23373
23374         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
23375         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
23376         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
23377         Reported by Bruce Korb and Eric Blake.
23378
23379 2010-10-04  Bruno Haible  <bruno@clisp.org>
23380
23381         threadlib: Make option --with-libpth-prefix work.
23382         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
23383         use $LIBPTH, not just -lpth.
23384
23385 2010-10-04  Bruno Haible  <bruno@clisp.org>
23386
23387         Avoid line length limitation from HP NonStop system header files.
23388         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
23389         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
23390         * lib/ctype.in.h: Likewise.
23391         * lib/dirent.in.h: Likewise.
23392         * lib/errno.in.h: Likewise.
23393         * lib/fcntl.in.h: Likewise.
23394         * lib/float.in.h: Likewise.
23395         * lib/getopt.in.h: Likewise.
23396         * lib/iconv.in.h: Likewise.
23397         * lib/inttypes.in.h: Likewise.
23398         * lib/langinfo.in.h: Likewise.
23399         * lib/locale.in.h: Likewise.
23400         * lib/math.in.h: Likewise.
23401         * lib/netdb.in.h: Likewise.
23402         * lib/netinet_in.in.h: Likewise.
23403         * lib/poll.in.h: Likewise.
23404         * lib/pthread.in.h: Likewise.
23405         * lib/pty.in.h: Likewise.
23406         * lib/sched.in.h: Likewise.
23407         * lib/se-selinux.in.h: Likewise.
23408         * lib/search.in.h: Likewise.
23409         * lib/signal.in.h: Likewise.
23410         * lib/spawn.in.h: Likewise.
23411         * lib/stdarg.in.h: Likewise.
23412         * lib/stddef.in.h: Likewise.
23413         * lib/stdint.in.h: Likewise.
23414         * lib/stdio.in.h: Likewise.
23415         * lib/stdlib.in.h: Likewise.
23416         * lib/string.in.h: Likewise.
23417         * lib/strings.in.h: Likewise.
23418         * lib/sys_file.in.h: Likewise.
23419         * lib/sys_ioctl.in.h: Likewise.
23420         * lib/sys_select.in.h: Likewise.
23421         * lib/sys_socket.in.h: Likewise.
23422         * lib/sys_stat.in.h: Likewise.
23423         * lib/sys_time.in.h: Likewise.
23424         * lib/sys_times.in.h: Likewise.
23425         * lib/sys_utsname.in.h: Likewise.
23426         * lib/sys_wait.in.h: Likewise.
23427         * lib/sysexits.in.h: Likewise.
23428         * lib/termios.in.h: Likewise.
23429         * lib/time.in.h: Likewise.
23430         * lib/unistd.in.h: Likewise.
23431         * lib/wchar.in.h: Likewise.
23432         * lib/wctype.in.h: Likewise.
23433         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
23434         * modules/ctype (Makefile.am): Likewise.
23435         * modules/dirent (Makefile.am): Likewise.
23436         * modules/errno (Makefile.am): Likewise.
23437         * modules/fcntl-h (Makefile.am): Likewise.
23438         * modules/float (Makefile.am): Likewise.
23439         * modules/getopt-posix (Makefile.am): Likewise.
23440         * modules/iconv-h (Makefile.am): Likewise.
23441         * modules/inttypes (Makefile.am): Likewise.
23442         * modules/langinfo (Makefile.am): Likewise.
23443         * modules/locale (Makefile.am): Likewise.
23444         * modules/math (Makefile.am): Likewise.
23445         * modules/netdb (Makefile.am): Likewise.
23446         * modules/netinet_in (Makefile.am): Likewise.
23447         * modules/poll-h (Makefile.am): Likewise.
23448         * modules/pthread (Makefile.am): Likewise.
23449         * modules/pty (Makefile.am): Likewise.
23450         * modules/sched (Makefile.am): Likewise.
23451         * modules/search (Makefile.am): Likewise.
23452         * modules/selinux-h (Makefile.am): Likewise.
23453         * modules/signal (Makefile.am): Likewise.
23454         * modules/spawn (Makefile.am): Likewise.
23455         * modules/stdarg (Makefile.am): Likewise.
23456         * modules/stddef (Makefile.am): Likewise.
23457         * modules/stdint (Makefile.am): Likewise.
23458         * modules/stdio (Makefile.am): Likewise.
23459         * modules/stdlib (Makefile.am): Likewise.
23460         * modules/string (Makefile.am): Likewise.
23461         * modules/strings (Makefile.am): Likewise.
23462         * modules/sys_file (Makefile.am): Likewise.
23463         * modules/sys_ioctl (Makefile.am): Likewise.
23464         * modules/sys_select (Makefile.am): Likewise.
23465         * modules/sys_socket (Makefile.am): Likewise.
23466         * modules/sys_stat (Makefile.am): Likewise.
23467         * modules/sys_time (Makefile.am): Likewise.
23468         * modules/sys_times (Makefile.am): Likewise.
23469         * modules/sys_utsname (Makefile.am): Likewise.
23470         * modules/sys_wait (Makefile.am): Likewise.
23471         * modules/sysexits (Makefile.am): Likewise.
23472         * modules/termios (Makefile.am): Likewise.
23473         * modules/time (Makefile.am): Likewise.
23474         * modules/unistd (Makefile.am): Likewise.
23475         * modules/wchar (Makefile.am): Likewise.
23476         * modules/wctype (Makefile.am): Likewise.
23477
23478 2010-10-04  Bruno Haible  <bruno@clisp.org>
23479
23480         read-file tests: Avoid a test failure on NonStop Kernel.
23481         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
23482         a regular file.
23483         Reported by Joachim Schmitz <schmitz@hp.com>.
23484
23485 2010-10-03  Bruno Haible  <bruno@clisp.org>
23486
23487         gnulib-tool: Fixes for --create-testdir with --libtool.
23488         * gnulib-tool (func_get_automake_snippet): Don't augment
23489         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
23490         an executable.
23491         (func_create_testdir): Handle module 'alloca' like func_import.
23492         Reported by Bruce Korb <bruce.korb@gmail.com>.
23493
23494 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
23495
23496         Avoid some lines longer than 80 characters.
23497         * lib/stdint.in.h: Break long comment lines.
23498         * lib/math.in.h: Likewise.
23499         (_GL_NUM_UINT_WORDS): New macro, for readability.
23500         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
23501         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
23502         * lib/stdlib.in.h: Likewise.
23503         * lib/spawn.in.h: Likewise.
23504         * lib/sys_socket.in.h: Update an URL.
23505         * lib/sys_stat.in.h: Break long line.
23506
23507 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
23508
23509         Improve pmccabe2html.
23510         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
23511         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
23512         when the sources change. Remove the line in the HTML about "Used
23513         ranges" (which implied that there might be other unused ranges),
23514         rename "Resume" to "Summary" (easier to understand for more users).
23515         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
23516         styles, and some unnecessary blank lines.
23517
23518 2010-10-03  Bruno Haible  <bruno@clisp.org>
23519             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
23520
23521         acl: Add support for ACLs on NonStop Kernel.
23522         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
23523         Check whether the function aclsort() exists.
23524         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
23525         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
23526         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23527         (acl_nontrivial [HAVE_ACLSORT]: New function.
23528         (file_has_acl): Implement for NonStop Kernel.
23529         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23530         (qset_acl): Implement for NonStop Kernel.
23531         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
23532         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
23533         (main): Implement for NonStop Kernel.
23534         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
23535         Kernel. Handle this flavor.
23536         * tests/test-set-mode-acl.sh: Likewise.
23537         * tests/test-copy-acl.sh: Likewise.
23538         * tests/test-copy-file.sh: Likewise.
23539
23540 2010-10-03  Bruno Haible  <bruno@clisp.org>
23541
23542         Info about ACLs on NonStop Kernel.
23543         * doc/acl-resources.txt: Add info about NonStop Kernel.
23544         References by Joachim Schmitz <schmitz@hp.com>.
23545
23546 2010-10-02  Bruno Haible  <bruno@clisp.org>
23547
23548         Define missing EDQUOT on NonStop Kernel.
23549         * lib/errno.in.h (EDQUOT): Assign a value if missing.
23550         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
23551         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
23552         missing.
23553         * doc/posix-headers/errno.texi: Mention the NSK bug.
23554         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
23555         Reported by Joachim Schmitz <schmitz@hp.com>.
23556
23557 2010-10-02  Bruno Haible  <bruno@clisp.org>
23558
23559         Update doc for POSIX:2008.
23560         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
23561         Update URL of POSIX specification.
23562
23563 2010-10-02  Bruno Haible  <bruno@clisp.org>
23564
23565         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
23566         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
23567         from gnulib, not from Automake.
23568
23569 2010-10-02  Bruno Haible  <bruno@clisp.org>
23570
23571         New module 'system-posix'.
23572         * modules/system-posix: New file.
23573         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
23574         module is present.
23575         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
23576         GNULIB_SYSTEM_POSIX.
23577         * modules/stdlib (Depends-on): Remove sys_wait.
23578         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
23579         * doc/posix-functions/system.texi: Mention the new module.
23580         * doc/posix-headers/stdlib.texi: Likewise.
23581         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
23582         define test_sys_wait_macros to a no-op.
23583         Reported by Sam Steingold <sds@gnu.org>.
23584
23585 2010-09-30  Bruno Haible  <bruno@clisp.org>
23586
23587         More renaming from 'getdate' to 'get_date'.
23588         * doc/get_date.texi: Renamed from doc/getdate.texi.
23589         * modules/get_date (Files): Update.
23590         * MODULES.html.sh (Date and time <time.h>): Update.
23591         * DEPENDENCIES: Update.
23592         * gnulib-tool: Update comment.
23593         * m4/bison.m4 (gl_BISON): Likewise.
23594         * m4/get_date.m4 (gl_GET_DATE): Likewise.
23595
23596 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
23597
23598         bootstrap: support ACLOCAL_FLAGS during aclocal
23599         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
23600         can add additional -I dir for third-party .m4 files.
23601
23602 2010-09-30  Eric Blake  <eblake@redhat.com>
23603
23604         bootstrap: use glibtoolize on MacOS
23605         * build-aux/bootstrap (check_versions): Convert libtool into
23606         libtoolize.
23607         (tool search): Move libtool check earlier, and look for
23608         glibtoolize for MacOS.
23609         (gnulib_tool_options): Auto-add --libtool when appropriate.
23610         Reported by Justin Clift.
23611
23612         poll: fix typo that broke test on MacOS
23613         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
23614         Reported by Justin Clift.
23615
23616         getdate: rename to get_date
23617         Note: getdate.h is not renamed, to minimize client impact.
23618         * modules/getdate: Mark obsolete.  Move old contents...
23619         * modules/get_date: ...to new module name.
23620         * modules/getdate-tests: Move...
23621         * modules/get_date-tests: ...here.
23622         * m4/getdate.m4: Move...
23623         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
23624         * lib/getdate.y: Move...
23625         * lib/get_date.y: ...here.
23626         * tests/test-getdate.c: Move...
23627         * tests/test-get_date.c: ...here.
23628         * doc/posix-functions/getdate.texi (getdate): Update name.
23629         * NEWS: Mention the change.
23630
23631 2010-09-29  Bruno Haible  <bruno@clisp.org>
23632
23633         Separate the module 'waitpid' from the module 'sys_wait'.
23634         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
23635         present.
23636         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
23637         gl_MODULE_INDICATOR_FOR_TESTS.
23638         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
23639         * modules/sys_wait (Depends-on): Remove waitpid.
23640         (Makefile.am): Substitute GNULIB_WAITPID.
23641         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
23642         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
23643         signature only if the 'waitpid' module is present.
23644         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
23645         * NEWS: Mention the change.
23646         * modules/grantpt (Depends-on): Add waitpid.
23647         * modules/wait-process (Depends-on): Likewise.
23648
23649 2010-09-29  Bruno Haible  <bruno@clisp.org>
23650
23651         More tests for module 'sys_wait'.
23652         * modules/sys_wait-c++-tests: New file.
23653         * tests/test-sys_wait-c++.cc: New file.
23654         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
23655         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
23656
23657 2010-09-29  Bruno Haible  <bruno@clisp.org>
23658
23659         New module 'waitpid'.
23660         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
23661         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
23662         Don't include <process.h>.
23663         (waitpid): Declare only, using modern idiom.
23664         * m4/waitpid.m4: New file.
23665         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
23666         * modules/waitpid: New file.
23667         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
23668         (Makefile.am): Update.
23669         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
23670
23671 2010-09-28  Bruno Haible  <bruno@clisp.org>
23672
23673         poll: Assume ANSI C.
23674         * lib/poll.c (poll): Use an ANSI C declaration.
23675
23676 2010-09-28  Bruno Haible  <bruno@clisp.org>
23677
23678         poll-h: Create poll.h on all platforms.
23679         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
23680         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
23681         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
23682         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
23683         (gl_REPLACE_POLL_H): Don't set POLL_H.
23684         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
23685         * modules/poll-h (Depends-on): Add include_next.
23686         (Makefile.am): Create poll.h unconditionally. Substitute also
23687         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
23688
23689 2010-09-28  Bruno Haible  <bruno@clisp.org>
23690
23691         Tests for module 'poll-h'.
23692         * modules/poll-h-c++-tests: New file.
23693         * tests/test-poll-h-c++.cc: New file.
23694
23695         Tests for module 'poll-h'.
23696         * modules/poll-h-tests: New file.
23697         * tests/test-poll-h.c: New file.
23698
23699 2010-09-28  Bruno Haible  <bruno@clisp.org>
23700
23701         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
23702         * modules/poll-h (Depends-on): Add 'extensions'.
23703
23704 2010-09-28  Bruno Haible  <bruno@clisp.org>
23705
23706         New module 'poll-h'.
23707         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
23708         (poll): Use modern idiom.
23709         * modules/poll-h: New file.
23710         * modules/poll (Files): Remove lib/poll.in.h.
23711         (Depends-on): Add poll-h.
23712         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
23713         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
23714         * m4/poll_h.m4: New file.
23715         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
23716         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
23717         and invoke gl_REPLACE_POLL_H.
23718         * lib/poll.c: Use common idiom.
23719         * tests/test-poll.c: Likewise.
23720         * doc/posix-headers/poll.texi: Mention the poll-h module.
23721         Suggested by Eric Blake.
23722
23723 2010-09-26  Bruno Haible  <bruno@clisp.org>
23724
23725         sys_wait: Implement WSTOPSIG.
23726         * lib/sys_wait.in.h (WSTOPSIG): New macro.
23727         Reported by Simon Josefsson.
23728
23729 2010-09-26  Simon Josefsson  <simon@josefsson.org>
23730
23731         stdlib, sys_wait: Avoid compilation error on mingw.
23732         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
23733
23734 2010-09-26  Bruno Haible  <bruno@clisp.org>
23735
23736         stdlib tests: Avoid code duplication.
23737         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
23738         * modules/sys_wait-tests (Files): Likewise.
23739         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
23740         * tests/test-stdlib.c: Include test-sys_wait.h.
23741         (main): Invoke test_sys_wait_macros.
23742         * tests/test-sys_wait.c: Include test-sys_wait.h.
23743         (main): Invoke test_sys_wait_macros.
23744
23745 2010-09-25  Simon Josefsson  <simon@josefsson.org>
23746
23747         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
23748         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
23749         sure Windows sockets are working before calling getaddrinfo.
23750         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
23751         * doc/gnulib.texi (Windows sockets): Fix typo.
23752
23753 2010-09-25  Bruno Haible  <bruno@clisp.org>
23754
23755         Tests for module 'regex-quote'.
23756         * modules/regex-quote-tests: New file.
23757         * tests/test-regex-quote.c: New file.
23758
23759         New module 'regex-quote'.
23760         * lib/regex-quote.h: New file.
23761         * lib/regex-quote.c: New file.
23762         * modules/regex-quote: New file.
23763         Suggested by Reuben Thomas <rrt@sc3d.org>.
23764
23765 2010-09-24  Bruno Haible  <bruno@clisp.org>
23766
23767         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
23768         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
23769
23770 2010-09-23  Bruno Haible  <bruno@clisp.org>
23771
23772         setenv: Relax license.
23773         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
23774         Blake.
23775         Requested by Eric Blake.
23776
23777 2010-09-22  Bruno Haible  <bruno@clisp.org>
23778
23779         termios: Relax license.
23780         * modules/termios (License): Change to LGPLv2+.
23781         Requested by Eric Blake.
23782
23783 2010-09-22  Bruno Haible  <bruno@clisp.org>
23784
23785         threadlib: Allow the package to change the default to 'no'.
23786         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
23787         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
23788         Reported by Paul Eggert.
23789
23790 2010-09-22  Pádraig Brady  <P@draigbrady.com>
23791             Bruno Haible  <bruno@clisp.org>
23792
23793         Fix endless loop in mbmemcasecoll.
23794         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
23795         byte.
23796         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
23797
23798 2010-09-22  Bruno Haible  <bruno@clisp.org>
23799
23800         Tests for module 'memcoll'.
23801         * modules/memcoll-tests: New file.
23802         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
23803
23804         memcoll, xmemcoll: Clarify size vs. length.
23805         * modules/memcoll.c (memcoll0): Clarify specification.
23806         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
23807         passed to collate_error.
23808
23809 2010-09-22  Bruno Haible  <bruno@clisp.org>
23810
23811         Tests for module 'memcasecmp'.
23812         * modules/memcasecmp-tests: New file.
23813         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
23814
23815 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
23816
23817         * lib/pthread.in.h: Add split double-inclusion guard, and include
23818         system <pthread.h> if there is one.  Use @@-style as in other
23819         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
23820         pthread.h doesn't.
23821         (pthread_mutexattr_destroy, pthread_mutexattr_init):
23822         (pthread_mutexattr_settype, pthread_mutex_trylock):
23823         New static inline functions, if there's no system <pthread.h>.
23824         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
23825         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
23826         Approximate with mutexes if the system lacks spinlocks, as in
23827         MacOS.
23828         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
23829         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
23830         @@-style.  Check for spinlocks separately.
23831         (gl_PTHREAD_DEFAULTS): New macro.
23832         * modules/pthread: Redo to use a more typical style for in.h files.
23833
23834 2010-09-21  Eric Blake  <eblake@redhat.com>
23835
23836         net_if: enhance tests
23837         * tests/test-net_if.c (main): Move signature checks earlier.
23838         Print failures to stderr.
23839         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
23840         Document the bug that we do not yet fix.
23841
23842 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
23843
23844         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
23845         about gnulib, not GSS.
23846
23847 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
23848
23849         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
23850         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
23851         for Emacs.
23852         * build-aux/pmccabe2html: Make Makefile.am example code more
23853         cut-and-paste friendly.
23854
23855 2010-09-21  Simon Josefsson  <simon@josefsson.org>
23856
23857         * tests/test-net_if.c: New file.
23858         * modules/net_if-tests: New file.
23859
23860 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
23861
23862         pthread: add pthread_spin_destroy
23863         * lib/pthread.in.h (pthread_spin_destroy): New function.
23864
23865 2010-09-19  Bruno Haible  <bruno@clisp.org>
23866
23867         gnulib-tool: Fix --help output.
23868         * gnulib-tool (func_usage): Fix help message.
23869         Reported by Reuben Thomas <rrt@sc3d.org>.
23870
23871 2010-09-18  Jim Meyering  <meyering@redhat.com>
23872
23873         maint.mk: avoid unexpanded \n in two diagnostics
23874         * top/maint.mk (sc_prohibit_always_true_header_tests):
23875         Don't use a literal \n in a halt=... assignment.  It would not be
23876         expanded, and the two \n bytes would appear in the diagnostic output
23877         rather than the desired newline.  Use halt=$$(printf ... instead.
23878         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
23879
23880 2010-09-18  Bruno Haible  <bruno@clisp.org>
23881
23882         netinet_in: Doc tweak.
23883         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
23884         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23885
23886 2010-09-18  Jim Meyering  <meyering@redhat.com>
23887
23888         init.sh: correct an outdated comment
23889         * tests/init.sh (create_exe_shims_):  s/function/alias/
23890
23891         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
23892         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
23893         a file named "*.exe" is removed between the glob expansion and the
23894         processing of that oddly named file.
23895
23896 2010-09-17  Eric Blake  <eblake@redhat.com>
23897
23898         mirbsd: add some more support
23899         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
23900         in BSD family.
23901         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
23902         devices as OpenBSD.
23903         * m4/host-os.m4 (mirbsd): Add MirBSD.
23904
23905         tests: fix unportable assumption on sys/wait.h
23906         * tests/test-sys_wait.c (main): Relax test.
23907         * tests/test-stdlib.c (main): Likewise.
23908
23909         init.sh: accomodate directory with no .exes
23910         * tests/init.sh: Accomodate directory containing only scripts.
23911
23912         tests: avoid compiler warning
23913         * tests/test-stdlib.c (main): Use the variable.
23914
23915         fdutimens, fdutimensat: update signature, again
23916         * lib/utimens.h (gl_futimens): Delete, and move signature...
23917         (fdutimens): ...here.
23918         (fdutimensat): Rearrange signature.
23919         (lutimensat): Rename variable for clarity.
23920         * lib/fdutimensat.c (fdutimensat): Update signature.
23921         * lib/utimens.c (fdutimens): Likewise.
23922         (gl_futimens): Delete.
23923         (utimens, lutimens): Update callers.
23924         * lib/futimens.c (futimens): Likewise.
23925         * tests/test-fdutimensat.c: Likewise.
23926         * tests/test-utimens.c: Likewise.
23927         * tests/test-futimens.h: Update comment.
23928         * NEWS: Mention this.
23929         Suggested by Paul Eggert.
23930
23931 2010-09-17  Bruno Haible  <bruno@clisp.org>
23932
23933         Take over the maintenance of some older macros from Autoconf.
23934         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
23935         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
23936         GNU Autoconf.
23937         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
23938         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
23939
23940 2010-09-17  Eric Blake  <eblake@redhat.com>
23941
23942         fdutimensat: drop atflag validation
23943         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
23944         with valid fd, to close a race scenario where futimens is
23945         unsupported and FILE was replaced by a symlink.
23946         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
23947         accordingly.
23948         Suggested by Paul Eggert.
23949
23950 2010-09-16  Bruno Haible  <bruno@clisp.org>
23951
23952         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
23953         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
23954
23955 2010-09-16  Bruno Haible  <bruno@clisp.org>
23956
23957         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
23958         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
23959         login_tty exists.
23960         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23961
23962 2010-09-16  Bruno Haible  <bruno@clisp.org>
23963
23964         login_tty: Make the replacement code work on BSD systems.
23965         * lib/login_tty.c: Include <sys/ioctl.h>.
23966         (login_tty): Use ioctl TIOCSCTTY when available.
23967         * modules/login_tty (Depends-on): Add sys_ioctl.
23968         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23969
23970 2010-09-16  Bruno Haible  <bruno@clisp.org>
23971
23972         login_tty: Stricter unit test.
23973         * modules/login_tty-tests (Depends-on): Add tcgetsid.
23974         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
23975         and tcgetsid() after login_tty.
23976         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
23977
23978 2010-09-16  Bruno Haible  <bruno@clisp.org>
23979
23980         New module 'tcgetsid'.
23981         * lib/tcgetsid.c: New file.
23982         * m4/tcgetsid.m4: New file.
23983         * modules/tcgetsid: New file.
23984         * modules/termios (Depends-on): Add c++defs, warn-on-use.
23985         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
23986         GNULIB_TCGETSID, HAVE_TCGETSID.
23987         * lib/termios.in.h: Include <sys/types.h>.
23988         (tcgetsid): New declaration.
23989         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
23990         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
23991         * doc/posix-functions/tcgetsid.texi: Mention the new module.
23992         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
23993
23994 2010-09-16  Bruno Haible  <bruno@clisp.org>
23995
23996         Tests for module 'termios'.
23997         * modules/termios-c++-tests: New file.
23998         * modules/termios-tests: New file.
23999         * tests/test-termios-c++.cc: New file.
24000         * tests/test-termios.c: New file.
24001
24002         New module 'termios'.
24003         * modules/termios: New file.
24004         * lib/termios.in.h: New file.
24005         * m4/termios_h.m4: New file.
24006         * doc/posix-headers/termios.texi: Mention the new module.
24007
24008 2010-09-16  Eric Blake  <eblake@redhat.com>
24009
24010         fdutimensat: add an atflag parameter
24011         * lib/fdutimensat.c (fdutimensat): Add new parameter.
24012         * lib/utimens.h (fdutimensat): Update prototype.
24013         * tests/test-fdutimensat.c: Adjust test to match.
24014         * NEWS: Document the change.
24015         Suggested by Paul Eggert.
24016
24017 2010-09-16  Bruno Haible  <bruno@clisp.org>
24018
24019         Fix typos in comments.
24020         * lib/striconveh.h: Fix typo in comment.
24021         * lib/login_tty.c (login_tty): Likewise.
24022
24023 2010-09-15  Bruno Haible  <bruno@clisp.org>
24024
24025         stdlib: clarify MirBSD WEXITSTATUS bug
24026         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
24027         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24028
24029 2010-09-15  Eric Blake  <eblake@redhat.com>
24030
24031         stdlib: work around MirBSD WEXITSTATUS bug
24032         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
24033         * modules/stdlib (Depends-on): Add sys_wait.
24034         * tests/test-sys_wait.c (main): Enhance test.
24035         * tests/test-stdlib.c (main): Likewise.
24036         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
24037
24038         docs: mention MacOS issue with WEXITSTATUS(constant)
24039         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
24040         issue.
24041         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
24042
24043         strnlen: add tests
24044         * modules/strnlen-tests: New file.
24045         * tests/test-strnlen.c: Likewise.
24046
24047 2010-09-14  Bruno Haible  <bruno@clisp.org>
24048
24049         unistr/base: Avoid link errors when module 'libunistring' is also used.
24050         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
24051         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
24052         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
24053         Declare also when HAVE_LIBUNISTRING is set.
24054         Reported by Pádraig Brady <P@draigbrady.com>.
24055
24056 2010-09-14  Eric Blake  <eblake@redhat.com>
24057
24058         test-rawmemchr: make more robust
24059         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
24060         (Depends-on, configure.ac): Add needed prerequisites to use it.
24061         * modules/memchr-tests (Files, Depends-on, configure.ac):
24062         Likewise, to avoid implicit reliance on memchr module prereqs.
24063         * tests/test-memchr.c (main): Ensure proper masking.
24064         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
24065         reads.
24066
24067         memchr: detect glibc Alpha bug
24068         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
24069         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
24070         Alpha.
24071         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
24072         * tests/test-memchr.c (main): Enhance test.
24073         Reported by Nelson H. F. Beebe.
24074
24075 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24076
24077         fts, getcwd, glob: audit for dirfd returning -1
24078         * lib/fts.c (opendir): Remove #define; no longer used.
24079         (opendirat): New arg PDIR_FD.  All callers changed.
24080         (fts_build, _opendir2): Use new opendirat to avoid the need for
24081         dirfd, or for checking whether dirfd returns a negative value.
24082         Don't use opendir; always use openat followed by fdopendir.
24083         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
24084         it.
24085         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
24086         returns -1 here.
24087         * modules/fts (Depends-on): Remove dirfd.
24088         * modules/getcwd (Depends-on): Likewise.
24089
24090 2010-09-13  Eric Blake  <eblake@redhat.com>
24091
24092         float: fix broken MirBSD header
24093         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
24094         * doc/posix-headers/float.texi (float.h): Document it.
24095
24096 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
24097
24098         fts: use O_NOFOLLOW to avoid race condition when opening a directory
24099         * lib/fts.c (opendirat): New arg extra_flags.
24100         (__opendir2): Use it to avoid following symlinks when opening
24101         a directory, if symlinks are not supposed to be followed.  See
24102         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
24103
24104         fdopendir: preserve argument fd before returning
24105         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
24106         (fdopendir_with_dup, fd_clone_opendir): New static functions.
24107         (fdopendir): Use them, arranging for FD to be open to the same
24108         directory that it was when it started.  (It might be temporarily
24109         closed while fdopendir is running, so this not thread- or
24110         signal-safe.)  Be careful to do the right thing even when file
24111         descriptors are scarce and dup fails with errno == EMFILE.  See
24112         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
24113
24114 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
24115
24116         regex: Pass the system regex if its only problem is 32-bit regoff_t.
24117         * NEWS: Document change.
24118         * m4/regex.m4: Disable test for regoff_t size.
24119
24120 2010-09-13  Jim Meyering  <meyering@redhat.com>
24121
24122         fts: don't operate on an invalid file descriptor after failed dup
24123         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
24124         negative file descriptor.
24125
24126 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
24127
24128         savedir: add streamsavedir, deprecate fdsavedir
24129         * NEWS: Mention deprecation of fdsavedir.
24130         * lib/savedir.c (streamsavedir): New extern function, whose name
24131         ends in "savedir" to be consistent with the others.  This differs
24132         from savedirstream in that it doesn't close its argument.  The
24133         next version of GNU tar will use this instead of fdsavedir, to
24134         avoid some race conditions and conserve file descriptors.
24135         (savedirstream): Reimplement as a wrapper around streamsavedir.
24136         (fdsavedir): Add a comment deprecating this function.  As far as
24137         I know, only GNU tar used it, and GNU tar doesn't need it any more.
24138         * lib/savedir.h (streamsavedir): New decl.
24139         (fdsavedir): Add a comment deprecating this.
24140
24141 2010-09-10  Bruno Haible  <bruno@clisp.org>
24142
24143         langinfo: Fix last commit.
24144         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
24145         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
24146         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24147
24148 2010-09-10  Bruno Haible  <bruno@clisp.org>
24149
24150         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
24151         * lib/progreloc.c (O_EXEC): Define fallback.
24152
24153 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
24154
24155         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
24156         * NEWS: Document recent changes to fcntl-h.
24157         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
24158         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
24159         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
24160         Similarly for O_SEARCH; this last was already true, but not documented.
24161         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
24162         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
24163         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
24164         Likewise.
24165         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
24166         is zero, not whether it is defined.
24167         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
24168         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
24169         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
24170
24171 2010-09-10  Bruno Haible  <bruno@clisp.org>
24172
24173         langinfo, nl_langinfo: Fix for IRIX 5.3.
24174         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
24175         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
24176         HAVE_LANGINFO_YESEXPR.
24177         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
24178         HAVE_LANGINFO_YESEXPR.
24179         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
24180         HAVE_LANGINFO_T_FMT_AMPM is 0.
24181         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
24182         HAVE_LANGINFO_YESEXPR is 0.
24183         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
24184         NOEXPR.
24185         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
24186         * doc/posix-functions/nl_langinfo.texi: Likewise.
24187         Reported by Eric Blake.
24188
24189 2010-09-10  Bruno Haible  <bruno@clisp.org>
24190
24191         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
24192         * doc/glibc-functions/login_tty.texi: Mention the include file problem
24193         on FreeBSD 8.0 and OpenBSD 4.6.
24194         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
24195         * m4/pty_h.m4 (gl_PTY_H): Likewise.
24196         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
24197         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
24198         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
24199         ac_includes_default.
24200         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
24201
24202 2010-09-09  Eric Blake  <eblake@redhat.com>
24203
24204         strsignal: work around NetBSD bug
24205         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
24206         * lib/string.in.h (includes): Likewise.
24207         * doc/posix-functions/strsignal.texi (strsignal): Document the
24208         bug.
24209         Reported by Nelson H. F. Beebe.
24210
24211         gnulib-tool: work with NetBSD /bin/sh
24212         * gnulib-tool (func_cache_var, func_cache_lookup_module)
24213         (func_get_description, func_get_comment, func_get_status)
24214         (func_get_notice, func_get_applicability, func_get_filelist)
24215         (func_get_dependencies, func_get_autoconf_early_snippet)
24216         (func_get_autoconf_snippet, func_get_automake_snippet)
24217         (func_get_include_directive, func_get_link_directive)
24218         (func_get_license, func_get_maintainer, func_import): Avoid
24219         shell syntax errors from parsing syntax extensions.
24220
24221 2010-09-09  Bruno Haible  <bruno@clisp.org>
24222
24223         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24224         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
24225         a reliable way to determine whether the 'alias' command works.
24226
24227 2010-09-08  Jim Meyering  <meyering@redhat.com>
24228
24229         init.sh: penalize a set-x-impaired shell; don't disqualify it
24230         * tests/init.sh: Too many shells corrupt application stderr when
24231         you set -x, so we can't afford to disqualify them, since at least
24232         on Irix-6.5, that would disqualify all bourne shells.
24233         Instead, use a two-pass approach.
24234         On the first pass, try to find a shell that meets the stricter
24235         condition that set -x does not corrupt stderr.
24236         If no shell meets the stricter condition, retest each candidate
24237         shell, but without that extra condition.  Finally, when
24238         VERBOSE=yes is requested and set -x might cause trouble, simply
24239         issue a warning and refrain from enabling debug output.
24240
24241 2010-09-08  Eric Blake  <eblake@redhat.com>
24242
24243         unsetenv: fix OpenBSD bug
24244         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
24245         * doc/posix-functions/unsetenv.texi (unsetenv): Update
24246         documentation.
24247         Reported by Jim Meyering.
24248
24249         strtod: work around IRIX 6.5 bug
24250         * lib/strtod.c (strtod): Reparse number on shorter string if
24251         exponent parse was invalid.
24252         * tests/test-strtod.c (main): Add check for "0x1p 2".
24253         Reported by Tom G. Christensen.
24254
24255         getopt: optimize previous patch
24256         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
24257         empty variable.  Speed up awk script.
24258         Reported by Paolo Bonzini.
24259
24260 2010-09-08  Jim Meyering  <meyering@redhat.com>
24261
24262         test.sh: disqualify shells for which set -x corrupts stderr
24263         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
24264         and OpenBSD 4.7.  They make it so with "set -x", environment settings
24265         appear in stderr output.  For example, this command:
24266             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
24267         prints "P=1" on those two systems:
24268
24269 2010-09-08  Bruno Haible  <bruno@clisp.org>
24270
24271         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
24272         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
24273         commands, because some shells ignore redirections when there is an
24274         error in the command lookup.
24275         Reported by Eric Blake.
24276
24277 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
24278
24279         * lib/regex.h: Fix a mention of `regex_compile' (should be
24280         `re_compile_pattern').
24281         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
24282         (re_set_registers): Correct name of parameter in comment.
24283
24284         * doc/regex.texi: Add documentation for missing syntax flags.
24285         Remove commented-out documentation of defunct syntax option
24286         RE_NO_EMPTY_ALTS.
24287         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
24288         Add documentation of re_set_registers.
24289         Document trick to re-use a pattern buffer by setting fastmap manually.
24290         Update documentation of struct re_pattern_buffer per public members.
24291         Uncomment documentation of equivalence class operators and
24292         collating symbol operators, since they are now implemented,
24293         Explain leftmost-longest matching in relation to alternatives.
24294         Tidy documentation of substring matching.
24295         Remove POSIX documentation, which is done better in
24296         glibc, and refer the reader there. Keep BSD API documentation, as
24297         that is not readily available elsewhere.
24298
24299 2010-09-07  Eric Blake  <eblake@redhat.com>
24300
24301         getopt: handle POSIXLY_CORRECT set but not exported
24302         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
24303         export state of POSIXLY_CORRECT, due to bash set -o posix.
24304         Reported by Dustin J. Mitchell.
24305
24306 2010-09-05  Bruno Haible  <bruno@clisp.org>
24307
24308         gnulib-tool: Highlight the changed options.
24309         * gnulib-tool (func_usage): Display the --import, --add-import,
24310         --remove-import explanations in bold font.
24311
24312 2010-09-06  Karl Berry  <karl@gnu.org>
24313
24314         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
24315
24316 2010-09-05  Bruno Haible  <bruno@clisp.org>
24317
24318         uniwidth/width: Update comment.
24319         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
24320         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
24321
24322 2010-09-05  Bruno Haible  <bruno@clisp.org>
24323
24324         isinf, isnan: Relax license.
24325         * modules/isinf (License): Change from GPL to LGPL, with consent from
24326         Ben Pfaff.
24327         * modules/isnan (License): Likewise.
24328         Requested by Ludovic Courtès.
24329
24330 2010-09-04  Bruno Haible  <bruno@clisp.org>
24331
24332         gnulib-tool: Help migration from --import to --add-import or --update.
24333         * gnulib-tool: Emit a verbose error message when --import is used
24334         without any module name.
24335
24336 2010-09-04  Bruno Haible  <bruno@clisp.org>
24337
24338         Update doc about gnulib-tool.
24339         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
24340         'gnulib-tool --update' in more detail.
24341         Reported by Eric Blake.
24342
24343 2010-09-04  Bruno Haible  <bruno@clisp.org>
24344
24345         gnulib-tool: Change --import. New options --add/remove-import.
24346         * gnulib-tool: New options --add-import, --remove-import.
24347         (func_usage): Document them.
24348         (have_associative): Define always.
24349         (func_import): In import mode, don't merge the specified settings with
24350         the cached settings. Implement remove-import mode.
24351         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
24352         Explain when to use them versus --import.
24353         (Simple update): Use --add-import instead of --import.
24354         * NEWS: Mention the change.
24355
24356 2010-09-04  Bruno Haible  <bruno@clisp.org>
24357
24358         * doc/gnulib-tool.texi (Initial import): Update paragraph about
24359         separate gnulib.mk.
24360
24361 2010-09-04  Bruno Haible  <bruno@clisp.org>
24362
24363         gnulib-tool: Don't talk about CVS any more.
24364         * gnulib-tool (func_usage, func_import): Write "version control"
24365         instead of CVS.
24366
24367 2010-09-04  Jim Meyering  <meyering@redhat.com>
24368
24369         maint.mk: avoid obscure sc_copyright_check failure in coreutils
24370         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
24371         false positives (whose names may be ill-chosen) when searching
24372         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
24373         would cause a false-positive.
24374
24375         avoid coreutils "make distcheck" failure
24376         Coreutils tests with an absolute build directory name that contains
24377         a space.  Not quoting this directory name caused a failure.
24378         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
24379         * tests/test-vc-list-files-cvs.sh: Likewise.
24380
24381 2010-09-04  Bruno Haible  <bruno@clisp.org>
24382
24383         gnulib-tool: Avoid error when run in a package without Makefile.am.
24384         * gnulib-tool: When collecting the m4dirs in a package that does not
24385         have a Makefile.am, eliminate those directories that contain no
24386         gnulib-cache.m4. Fix expression that counts these directories.
24387
24388 2010-09-04  Bruno Haible  <bruno@clisp.org>
24389
24390         update-copyright test: Improve output when perl is missing or too old.
24391         * tests/test-update-copyright.sh: Move test of Perl version down after
24392         the test whether Perl exists. Provide an explanation relating Perl's
24393         error message to Automake's SKIP: message.
24394
24395 2010-09-04  Bruno Haible  <bruno@clisp.org>
24396
24397         Don't augment PATH in TESTS_ENVIRONMENT.
24398         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
24399         set abs_aux_dir instead of augmenting PATH.
24400         * modules/vc-list-files-tests (Makefile.am): Likewise.
24401         * tests/test-update-copyright.sh: Augment PATH here.
24402         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
24403         path_prepend_.
24404         * tests/test-vc-list-files-git.sh: Likewise.
24405
24406 2010-09-04  Jim Meyering  <meyering@redhat.com>
24407
24408         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
24409         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
24410
24411 2010-09-04  Bruno Haible  <bruno@clisp.org>
24412
24413         strdup: Fix compilation error in C++ mode.
24414         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
24415         the macro.
24416
24417 2010-09-04  Bruno Haible  <bruno@clisp.org>
24418
24419         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
24420         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
24421         macro into a function.
24422         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
24423
24424 2010-09-04  Bruno Haible  <bruno@clisp.org>
24425
24426         Set PATH_SEPARATOR the same way autoconf does.
24427         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
24428         the value of PATH_SEPARATOR the same way autoconf-generated configure
24429         scripts do.
24430         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
24431         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
24432
24433 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
24434
24435         Set PATH_SEPARATOR the same way autoconf does.
24436         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
24437         the same way autoconf-generated configure scripts do.
24438         * posix-modules: Likewise.
24439
24440 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
24441
24442         hash: fix safe_hasher const typo
24443         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
24444         const; otherwise, there is a type error later.
24445
24446 2010-09-02  Jim Meyering  <meyering@redhat.com>
24447
24448         test-update-copyright.sh: require perl 5.8.0
24449         * tests/test-update-copyright.sh: Require 5.8.0,
24450         which Tom G. Christensen has confirmed is adequate,
24451         while 5.6.1 is not.
24452
24453 2010-09-02  Eric Blake  <eblake@redhat.com>
24454
24455         tests: init.sh improvements for re-exec'ing with zsh
24456         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
24457         -vx through shell re-exec.
24458         Reported by Tom G. Christensen.
24459
24460         wctype: fix typo in previous commit
24461         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
24462         Reported by Ludovic Courtès.
24463
24464 2010-09-02  Jim Meyering  <meyering@redhat.com>
24465
24466         test-update-copyright.sh: skip test if Perl is too old
24467         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
24468         Reported by Tom G. Christensen.
24469
24470 2010-09-02  Bruno Haible  <bruno@clisp.org>
24471
24472         wctype: Avoid compilation error on IRIX 6.5.30.
24473         * lib/wctype.in.h (iswblank): Declare with a replacement if
24474         REPLACE_ISWBLANK is set.
24475         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
24476         declared. Set REPLACE_ISWBLANK.
24477         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
24478         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
24479         * doc/posix-headers/wctype.texi: Likewise.
24480         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
24481
24482 2010-09-01  Bruno Haible  <bruno@clisp.org>
24483
24484         New module 'socketlib'.
24485         * modules/socketlib: New file.
24486         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
24487         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
24488         * modules/sockets (Depends-on): Add socketlib.
24489         Suggested by Sam Steingold <sds@gnu.org>.
24490
24491 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
24492
24493         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
24494
24495         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
24496         when one needs search access to a directory but not read access.
24497         On systems where it is available, it works in some cases where
24498         O_RDONLY does not, namely on directories that are searchable but
24499         not readable, and which need only to be searchable.  If O_SEARCH
24500         is not available, fall back to the traditional method of using
24501         O_RDONLY.
24502
24503         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
24504         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
24505         when opening a directory that needs only to be searchable.
24506         * lib/chdir-safer.c (chdir_no_follow): Likewise.
24507         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
24508         * lib/openat-proc.c (openat_proc_name): Likewise.
24509         * lib/openat.c (openat_needs_fchdir): Likewise.
24510         * lib/save-cwd.c (save_cwd): Likewise.
24511         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
24512
24513 2010-08-28  Bruno Haible  <bruno@clisp.org>
24514
24515         New module 'host-cpu-c-abi'.
24516         * modules/host-cpu-c-abi: New file.
24517         * m4/host-cpu-c-abi.m4: New file, based on part of
24518         clisp/src/m4/general.m4.
24519         Requested by Sam Steingold <sds@gnu.org>.
24520
24521 2010-08-31  Eric Blake  <eblake@redhat.com>
24522         and Jim Meyering  <meyering@redhat.com>
24523
24524         hash: factor, and guard against misbehaving hasher function
24525         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
24526         of table->hasher's return value.  Also protect against a hash value
24527         so large that adding it to table->bucket results in a NULL pointer.
24528         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
24529         Use it in place of open-coded check-and-abort.
24530
24531 2010-08-30  Bruno Haible  <bruno@clisp.org>
24532
24533         hash: silence spurious clang warning
24534         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
24535         Reported by Eric Blake.
24536
24537 2010-08-30  Eric Blake  <eblake@redhat.com>
24538
24539         strstr, memmem, strcasestr: avoid leaked shell message
24540         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
24541         FreeBSD.
24542         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
24543         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
24544
24545         tests: silence clang warning
24546         * tests/test-malloca.c (do_allocation): Avoid dead store.
24547
24548 2010-08-29  Bruno Haible  <bruno@clisp.org>
24549
24550         gettext: Fix recent mistake.
24551         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
24552
24553 2010-08-29  Bruno Haible  <bruno@clisp.org>
24554
24555         selinux-h: Offer a --without-selinux option.
24556         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
24557         --without-selinux was specified, skip all tests and define
24558         HAVE_SELINUX_SELINUX_H to 0.
24559         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
24560         set LIB_SELINUX to empty.
24561         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
24562         gl_LIBSELINUX. If --without-selinux was specified, replace
24563         selinux/context.h.
24564         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
24565
24566 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24567             Bruno Haible  <bruno@clisp.org>
24568
24569         Make the module 'realloc-gnu' work again on AIX and OSF/1.
24570         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
24571         of HAVE_REALLOC.
24572         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
24573         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
24574         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
24575         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24576
24577 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24578             Bruno Haible  <bruno@clisp.org>
24579
24580         Make the module 'calloc-gnu' work again on AIX and OSF/1.
24581         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
24582         HAVE_CALLOC.
24583         * lib/xmalloc.c: Update accordingly.
24584         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
24585         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
24586         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
24587
24588 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
24589             Bruno Haible  <bruno@clisp.org>
24590
24591         Make the module 'malloc-gnu' work again on AIX and OSF/1.
24592         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
24593         HAVE_MALLOC.
24594         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
24595         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
24596         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
24597
24598 2010-08-29  Bruno Haible  <bruno@clisp.org>
24599
24600         Update modules list.
24601         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
24602         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
24603         (String handling <string.h>): Add astrxfrm.
24604         (File system functions): Add readlinkat.
24605
24606 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24607
24608         Tests for module 'realloc-gnu'.
24609         * modules/realloc-gnu-tests: New file.
24610         * tests/test-realloc-gnu.c: New file.
24611
24612         Tests for module 'calloc-gnu'.
24613         * modules/calloc-gnu-tests: New file.
24614         * tests/test-calloc-gnu.c: New file.
24615
24616         Tests for module 'malloc-gnu'.
24617         * modules/malloc-gnu-tests: New file.
24618         * tests/test-malloc-gnu.c: New file.
24619
24620 2010-08-28  Bruno Haible  <bruno@clisp.org>
24621
24622         Rename module 'realloc' -> 'realloc-gnu'.
24623         * modules/realloc-gnu: New file, copied from modules/realloc.
24624         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
24625         obsolete.
24626         * modules/mgetgroups (Depends-on): Update.
24627         * doc/posix-functions/realloc.texi: Update.
24628         * NEWS: Mention the change.
24629
24630         Rename module 'calloc' -> 'calloc-gnu'.
24631         * modules/calloc-gnu: New file, copied from modules/calloc.
24632         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
24633         obsolete.
24634         * doc/posix-functions/calloc.texi: Update.
24635         * NEWS: Mention the change.
24636
24637         Rename module 'malloc' -> 'malloc-gnu'.
24638         * modules/malloc-gnu: New file, copied from modules/malloc.
24639         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
24640         obsolete.
24641         * modules/argp (Depends-on): Update.
24642         * modules/regex (Depends-on): Update.
24643         * doc/posix-functions/malloc.texi: Update.
24644         * NEWS: Mention the change.
24645
24646 2010-08-28  Eric Blake  <eblake@redhat.com>
24647
24648         pread, pwrite: add missing dependency
24649         * modules/pread (Depends-on): Add extensions.
24650         * modules/pwrite (Depends-on): Likewise.
24651
24652 2010-08-28  Bruno Haible  <bruno@clisp.org>
24653
24654         unistr/u*-strchr: Fix tests dependencies.
24655         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
24656         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
24657         Reported by Ian Beckwith <ianb@erislabs.net>.
24658
24659 2010-08-28  Bruno Haible  <bruno@clisp.org>
24660
24661         read-file: Don't occupy too much unused memory.
24662         * lib/read-file.c (fread_file): Shrink the buffer at the end.
24663
24664 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
24665             Eric Blake  <eblake@redhat.com>
24666             Bruno Haible  <bruno@clisp.org>
24667
24668         read-file: Avoid memory reallocations with regular files.
24669         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
24670         (fread_file): With regular files, use the remaining length as the
24671         initial buffer size.  Check against overflow.
24672         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
24673         sys_stat.
24674
24675 2010-08-28  Bruno Haible  <bruno@clisp.org>
24676
24677         ftello: Relax license.
24678         * modules/ftello (License): Relax to LGPLv2+.
24679         Reported by Eric Blake.
24680
24681 2010-08-28  Bruno Haible  <bruno@clisp.org>
24682
24683         Avoid relocwrapper link errors due to gnulib replacement functions.
24684         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
24685         function.
24686         Reported by Ben Pfaff <blp@cs.stanford.edu>.
24687
24688 2010-08-28  Bruno Haible  <bruno@clisp.org>
24689
24690         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
24691         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
24692         defined.
24693         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
24694         Suggested by Eric Blake.
24695
24696 2010-08-28  Bruno Haible  <bruno@clisp.org>
24697
24698         sys_socket, netdb: Ensure socklen_t gets defined.
24699         * modules/sys_socket (Depends-on): Add socklen.
24700         * modules/netdb (Depends-on): Likewise.
24701         * modules/getaddrinfo (Depends-on): Remove socklen.
24702         * modules/getsockopt (Depends-on): Likewise.
24703         * modules/setsockopt (Depends-on): Likewise.
24704         * tests/test-sys_socket.c: Check that socklen_t is defined.
24705         * tests/test-netdb.c: Likewise.
24706         * m4/socklen.m4: Update comments.
24707         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
24708
24709 2010-08-27  Eric Blake  <eblake@redhat.com>
24710
24711         login_tty: add missing dependency
24712         * modules/login_tty (Depends-on): Add pty.
24713
24714 2010-08-26  Eric Blake  <eblake@redhat.com>
24715
24716         lib-symbol-versions: fix m4 quoting
24717         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
24718         format for AC_LINK_IFELSE.
24719
24720         glob: fix compile test
24721         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
24722
24723         btowc: fix missing file
24724         * modules/btowc (Files): Also ship locale-fr.m4.
24725
24726         lseek: fix link test
24727         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
24728         AC_LINK_IFELSE.
24729
24730         include_next: silence autoconf 2.68 warning
24731         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
24732         AC_COMPILE_IFELSE as special.
24733         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
24734         autoconf < 2.68.
24735
24736         acl: fix compilation test
24737         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
24738         AC_COMPILE_IFELSE.
24739
24740 2010-08-26  Bruno Haible  <bruno@clisp.org>
24741
24742         Modernize AC_TRY_RUN invocations.
24743         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
24744         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
24745         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
24746         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
24747         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
24748         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
24749         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
24750         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
24751         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24752         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24753         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
24754         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
24755         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
24756         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
24757         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
24758         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
24759         gl_MBRLEN_NUL_RETVAL): Likewise.
24760         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
24761         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
24762         Likewise.
24763         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
24764         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
24765         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
24766         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
24767         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
24768         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
24769         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
24770         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
24771         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
24772         Likewise.
24773         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
24774         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
24775         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
24776         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
24777         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24778         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
24779         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
24780         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
24781         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
24782         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
24783
24784 2010-08-26  Bruno Haible  <bruno@clisp.org>
24785
24786         Modernize AC_TRY_LINK invocations.
24787         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
24788         AC_TRY_LINK.
24789         * m4/argp.m4 (gl_ARGP): Likewise.
24790         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
24791         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
24792         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
24793         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
24794         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
24795         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
24796         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
24797         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
24798         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
24799         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
24800         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
24801         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
24802         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
24803         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
24804         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
24805         * m4/hostent.m4 (gl_HOSTENT): Likewise.
24806         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
24807         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
24808         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
24809         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
24810         Likewise.
24811         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
24812         Likewise.
24813         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
24814         Likewise.
24815         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
24816         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
24817         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
24818         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
24819         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
24820         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
24821         * m4/servent.m4 (gl_SERVENT): Likewise.
24822         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
24823         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
24824         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
24825         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
24826         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
24827         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
24828         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
24829         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
24830         * modules/tsearch-tests (configure.ac): Likewise.
24831
24832 2010-08-26  Bruno Haible  <bruno@clisp.org>
24833
24834         Modernize AC_TRY_COMPILE invocations.
24835         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
24836         AC_TRY_COMPILE.
24837         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
24838         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
24839         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
24840         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
24841         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
24842         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
24843         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
24844         * m4/lock.m4 (gl_LOCK): Likewise.
24845         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
24846         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
24847         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
24848         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
24849         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
24850         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
24851         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
24852         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
24853         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
24854         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
24855         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
24856         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
24857         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
24858         extraneous semicolon.
24859
24860 2010-08-26  Jim Meyering  <meyering@redhat.com>
24861
24862         stat-time: relax license LGPL
24863         * modules/stat-time (License): Change from GPL to LGPL,
24864         with consent from all contributors, for use in libguile.
24865         Requested by Ludovic Courtès.
24866
24867 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
24868
24869         poll: return immediately on POLLHUP.
24870         * lib/poll.c (poll): Always set timeout before wait_timeout is
24871         computed.
24872
24873 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24874
24875         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
24876         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
24877         rmdir ("dir/.//"), unlinkat.
24878
24879 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
24880
24881         stdbool: avoid spurious failure with modern xlc
24882         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
24883
24884 2010-08-24  Bruno Haible  <bruno@clisp.org>
24885
24886         getloadavg: simplify code
24887         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
24888         gl_have_func. Update comments.
24889
24890 2010-08-24  Eric Blake  <eblake@redhat.com>
24891
24892         getloadavg: don't define SVR4 on cygwin
24893         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
24894         only define SVR4 when -lkvm is required.
24895         Reported by Yaakov Selkowitz.
24896
24897 2010-08-24  Bruno Haible  <bruno@clisp.org>
24898
24899         priv-set: fix comment
24900         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
24901
24902 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
24903
24904         priv-set: fix comments
24905         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
24906         to match code, as suggested by David Bartley in:
24907         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
24908
24909 2010-08-23  Eric Blake  <eblake@redhat.com>
24910
24911         stdbool: avoid rejecting clang
24912         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
24913         * tests/test-stdbool.c: Enable more tests if using the system
24914         <stdbool.h> instead of the gnulib replacement.
24915         (main): Move xlc bug test to a runtime test for all compilers.
24916         Reported by Anders Kaseorg.
24917
24918         argz: fix shell quoting issue
24919         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
24920         Reported by Charles Wilson.
24921
24922 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
24923             Erik Faye-Lund <kusmabite@gmail.com>
24924
24925         poll, select: handle ERROR_BROKEN_PIPE.
24926         * lib/poll.c (win32_compute_revents): Return POLLHUP when
24927         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
24928         * lib/select.c (win32_compute_revents): Do not mark a pipe
24929         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
24930
24931 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
24932
24933         fts: allow compilation with C++
24934         * lib/fts_.h: Specify extern "C" linkage with C++.
24935
24936 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24937
24938         Fix gnulib-tool sed script de-commentation for AIX sed.
24939         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
24940         sed.
24941
24942 2010-08-17  Eric Blake  <eblake@redhat.com>
24943
24944         test-stddef: test for (some) offsetof bugs
24945         * tests/test-stddef.c: Enhance test to ensure correct type of
24946         offsetof.
24947         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
24948         that we are not fixing at this time.
24949
24950 2010-08-15  Bruno Haible  <bruno@clisp.org>
24951
24952         stpncpy: Allow stpncpy to be defined as a macro.
24953         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
24954         if it's already correctly declared.
24955         * lib/string.in.h (stpncpy): Undefine before redefining.
24956         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
24957
24958 2010-08-14  Bruno Haible  <bruno@clisp.org>
24959
24960         Rename module 'memxfrm' to 'amemxfrm'.
24961         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
24962         (amemxfrm): Renamed from memxfrm.
24963         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
24964         (amemxfrm): Renamed from memxfrm.
24965         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
24966         * NEWS: Mention the change.
24967         * MODULES.html.sh (String handling <string.h>): Update.
24968         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
24969         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
24970         * lib/unicase/u16-casexfrm.c: Likewise.
24971         * lib/unicase/u32-casexfrm.c: Likewise.
24972         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
24973         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
24974         * lib/uninorm/u16-normxfrm.c: Likewise.
24975         * lib/uninorm/u32-normxfrm.c: Likewise.
24976         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
24977         memxfrm.
24978         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
24979         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
24980         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
24981         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
24982         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
24983         Suggested by Paul Eggert.
24984
24985 2010-08-14  Bruno Haible  <bruno@clisp.org>
24986
24987         Tests for module 'astrxfrm'.
24988         * modules/astrxfrm-tests: New file.
24989         * tests/test-astrxfrm.c: New file.
24990
24991         New module 'astrxfrm'.
24992         * lib/astrxfrm.h: New file.
24993         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
24994         * modules/astrxfrm: New file.
24995
24996 2010-08-14  Reuben Thomas <rrt@sc3d.org>
24997
24998         regex: Tweak doc.
24999         * doc/regex.texi (Overview): Don't mention regex.c.
25000         (GNU Regular Expression Compiling): Likewise.
25001         (Match-end-of-line Operator): Mention 'not_eol'.
25002
25003 2010-08-14  Brian Gough  <bjg@gnu.org>
25004             Bruno Haible  <bruno@clisp.org>
25005
25006         git-merge-changelog: add doc relating to use with bzr and hg.
25007         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
25008
25009 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
25010
25011         pthread: fix pthread.h creation for srcdir != builddir
25012         * modules/pthread (Makefile.am): Fix the rule to work also in a
25013         non-srcdir build.
25014
25015 2010-08-13  Karl Berry  <karl@gnu.org>
25016
25017         * doc/regex.texi (Predefined Syntaxes): @smallexample.
25018         * doc/posix-*/*: force line break before @url of POSIX
25019         specifications.
25020         Suggested by Werner Lemberg.
25021
25022 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
25023
25024         strtod: fix const diagnostic
25025         * lib/strtod.c (strtod): Don't assign const char * to char *,
25026         as this elicits a warning from GCC when warnings are enabled.
25027
25028 2010-08-10  Pádraig Brady <P@draigbrady.com>
25029         and Eric Blake  <eblake@redhat.com>
25030
25031         copy-acl: ignore ENOTSUP on HP-UX
25032         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
25033         so that it is available for HP-UX.
25034         * lib/copy-acl.c (qcopy_acl): Use it.
25035         Reported by Patrick M. Callahan.
25036
25037 2010-08-10  Eric Blake  <eblake@redhat.com>
25038
25039         open, chown: relax license
25040         * modules/open (License): Change to LGPLv2+, with consent by all
25041         authors, for use in augeas.
25042         * modules/chown (License): Likewise.
25043         * modules/lchown (Likewise): Likewise.
25044         Requested by Adam Stokes.
25045
25046 2010-08-09  Karl Berry  <karl@gnu.org>
25047
25048         * build-aux/ar-lib: new file, import from Automake.
25049         * config/srclist.txt: autocheck for updates.
25050
25051 2010-08-09  Eric Blake  <eblake@redhat.com>
25052
25053         readlinkat: adjust client modules
25054         * modules/areadlinkat (Depends-on): Use readlinkat, not
25055         symlinkat.
25056         * modules/areadlinkat-with-size (Depends-on): Likewise.
25057
25058         mknod: be more vocal about danger of running tests as root
25059         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
25060         root, since that is just asking for problems.
25061         Suggested by Bruno Haible, based on a report by Rainer Tammer.
25062
25063         readlinkat: split into its own module
25064         * modules/symlinkat: Split readlinkat...
25065         * modules/readlinkat: ...into separate module.
25066         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
25067         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
25068         * lib/symlinkat.c (readlinkat): Move...
25069         * lib/readlinkat.c: ...into new file.
25070         * modules/symlinkat-tests: Split readlinkat test...
25071         * modules/readlinkat-tests: ...into separate module.
25072         * tests/test-symlinkat.c: Split...
25073         * tests/test-readlinkat.c: ...into new file.
25074         * NEWS: Document the split.
25075         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
25076         * lib/unistd.in.h (readlinkat): Likewise.
25077         Suggested by Bruno Haible.
25078
25079 2010-08-08  Bruno Haible  <bruno@clisp.org>
25080
25081         memxfrm: Speed up.
25082         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
25083         that usually only one call to strxfrm is necessary for each string
25084         part.
25085         Reported by Paul Eggert <eggert@cs.ucla.edu>.
25086
25087 2010-08-07  Karl Berry  <karl@gnu.org>
25088
25089         * doc/posix-headers/limits.texi,
25090         * doc/posix-functions/malloc.texi,
25091         * doc/posix-functions/strsignal.texi: missing @item.
25092         * doc/ld-version-script.texi: spurious leading i.
25093         * doc/regex.texi (Interval Operators): no commas inside @var.
25094
25095 2010-08-01  Bruno Haible  <bruno@clisp.org>
25096
25097         Integrate the regex documentation.
25098         * doc/gnulib.texi: Define 'cn' index.
25099         (Regular expressions): New a chapter that includes regex.texi and
25100         regexprops-generic.texi.
25101         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
25102         syntax.
25103
25104         Whitespace cleanup.
25105         * doc/regex.texi: Remove trailing spaces.
25106
25107         Add regex documentation.
25108         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
25109         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
25110         Written by Kathy A. Hargreaves and Karl Berry.
25111
25112 2010-08-01  Bruno Haible  <bruno@clisp.org>
25113
25114         link: Update documentation.
25115         * doc/posix-functions/link.texi: Update regarding Solaris.
25116
25117 2010-07-31  Bruno Haible  <bruno@clisp.org>
25118
25119         Update modules list.
25120         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
25121         (String handling <string.h>): Add memcmp2, memxfrm.
25122         (Container data structures): Add xlist, xsublist, xoset.
25123         (Core language properties): Add alignof, unused-parameter.
25124         (Process control, Numeric conversion functions <stdlib.h>): Renamed
25125         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
25126         (Unibyte characters <ctype.h>): New section.
25127         (String handling <string.h>): New section.
25128         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
25129         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
25130         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
25131         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
25132         tan, tanh, tanl, y0, y1, yn.
25133         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
25134         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
25135         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
25136         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
25137         unlockpt, vdprintf, vdprintf-posix.
25138         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
25139         (File system functions): Add concat-filename, sys_file, sys_ioctl,
25140         xconcat-filename.
25141         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
25142         getdtablesize, pipe2, pipe2-safer.
25143         (Security): New section.
25144         (Networking functions): Add accept4.
25145         (Signal handling): Add sigpipe.
25146         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
25147         mbmemcasecoll.
25148         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
25149         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
25150         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
25151         pipe-filter-ii.
25152         (Misc): Add argp-version-etc, login_tty, parse-duration.
25153
25154 2010-07-31  Bruno Haible  <bruno@clisp.org>
25155
25156         Improve doc in MODULES.html.
25157         * modules/linkat (Description): Add the word "function".
25158         * modules/mkfifo (Description): Likewise.
25159         * modules/mknod (Description): Likewise.
25160         * modules/remove (Description): Likewise.
25161         * modules/renameat (Description): Likewise.
25162         * modules/stat (Description): Likewise.
25163         * modules/symlink (Description): Likewise.
25164         * modules/unlink (Description): Likewise.
25165
25166 2010-07-31  Bruno Haible  <bruno@clisp.org>
25167
25168         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
25169         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
25170         option --enable/disable-c++ instead of --enable/disable-cxx.
25171         * NEWS: Mention the change.
25172
25173 2010-07-31  Bruno Haible  <bruno@clisp.org>
25174
25175         readlink, areadlink: Relax test a bit.
25176         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
25177         alternative to ENOTDIR.
25178         * tests/test-areadlink.h (test_areadlink): Likewise.
25179         Reported by Rainer Tammer.
25180
25181 2010-07-31  Bruno Haible  <bruno@clisp.org>
25182
25183         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
25184         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
25185         character, perform the search using U_STRCHR.
25186         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
25187         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
25188         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
25189         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
25190         Suggested by Paolo Bonzini.
25191
25192 2010-07-31  Bruno Haible  <bruno@clisp.org>
25193
25194         unistr/u*-strstr: Fix dependencies.
25195         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
25196         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
25197         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
25198
25199 2010-07-31  Bruno Haible  <bruno@clisp.org>
25200
25201         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
25202         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
25203         the beginning of the loop.
25204         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
25205         cases in 'switch' statement.
25206
25207         unistr/u8-strchr: Fix several bugs.
25208         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
25209         the string. When not found, return NULL, not a pointer near the end.
25210
25211         More tests for unistr/u8-strchr.
25212         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
25213         that the function does not read past the first occurrence of the byte
25214         being searched.
25215         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
25216         * tests/unistr/test-u16-strchr.c (main): New function.
25217         * tests/unistr/test-u32-strchr.c (main): New function.
25218
25219 2010-07-31  Bruno Haible  <bruno@clisp.org>
25220
25221         posix-modules: Ignore backup files of documentation files.
25222         * posix-modules: grep only through files named *.texi.
25223
25224 2010-07-31  Bruno Haible  <bruno@clisp.org>
25225
25226         symlinkat: Fix documentation.
25227         * doc/posix-functions/readlinkat.texi: Fix module name.
25228
25229 2010-07-31  Bruno Haible  <bruno@clisp.org>
25230
25231         fchownat: Replace also when chown has the trailing slash bug.
25232         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
25233         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
25234         introduced on 2010-04-10.
25235         Reported by Rainer Tammer.
25236
25237 2010-07-31  Bruno Haible  <bruno@clisp.org>
25238
25239         linkat: Work around AIX 7.1 bug.
25240         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
25241         whether linkat handles trailing slash correctly. If not, replace linkat
25242         and define LINKAT_TRAILING_SLASH_BUG.
25243         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
25244         check whether (fd1,file1) points to a directory if file1 or file2 ends
25245         in a slash. Code taken from lib/link.c.
25246         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
25247         Reported by Rainer Tammer.
25248
25249 2010-07-31  Bruno Haible  <bruno@clisp.org>
25250
25251         Correctly determine whether pow is available in libc on AIX 7 with xlc.
25252         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
25253         This disables an xlc optimization that was causing wrong test results.
25254         Reported by Rainer Tammer.
25255
25256 2010-07-31  Bruno Haible  <bruno@clisp.org>
25257
25258         iconv: Work around AIX 6.1..7.1 bug.
25259         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
25260         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
25261         cross-compiling, guess no on all versions of AIX.
25262         Reported by Rainer Tammer.
25263
25264 2010-07-31  Bruno Haible  <bruno@clisp.org>
25265
25266         readlink: Relax test a bit.
25267         * tests/test-readlink.h (test_readlink): Allow different errno value
25268         when readlink is called with a file name that ends in / and refers to
25269         a file.
25270         Suggested by Eric Blake.
25271         Reported by Rainer Tammer.
25272
25273 2010-07-31  Bruno Haible  <bruno@clisp.org>
25274
25275         copysign: Does not require -lm on glibc systems.
25276         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
25277         gl_COMMON_DOUBLE_MATHFUNC.
25278         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
25279
25280 2010-07-31  Bruno Haible  <bruno@clisp.org>
25281
25282         duplocale: Work around AIX 7.1 bug.
25283         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
25284         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
25285         * lib/duplocale.c (rpl_duplocale): Update comment.
25286         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
25287         Reported by Rainer Tammer.
25288
25289 2010-07-30  Bruno Haible  <bruno@clisp.org>
25290
25291         dirfd: Avoid link error on AIX 7.1.
25292         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
25293         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
25294         exist, set REPLACE_DIRFD.
25295         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
25296         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
25297         * doc/posix-functions/dirfd.texi: Update.
25298         Reported by Rainer Tammer.
25299
25300 2010-07-30  Eric Blake  <eblake@redhat.com>
25301
25302         strtod: next round of AIX fixes
25303         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
25304         exponent.
25305         * tests/test-strtod.c (main): Enhance tests.
25306         * doc/posix-functions/strtod.texi (strtod): Document next bug.
25307         Reported by Rainer Tammer.
25308
25309         futimens: fix configure check
25310         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
25311         Reported by Bruno Haible.
25312
25313 2010-07-30  Bruno Haible  <bruno@clisp.org>
25314
25315         getline: Update regarding AIX.
25316         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
25317         Reported by Rainer Tammer.
25318
25319 2010-07-30  Bruno Haible  <bruno@clisp.org>
25320
25321         wcwidth: Drop replacement on AIX 7.
25322         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
25323         AIX 7.
25324         Reported by Rainer Tammer.
25325
25326 2010-07-30  Bruno Haible  <bruno@clisp.org>
25327
25328         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
25329         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
25330         a 'char *'.
25331         Reported by Rainer Tammer.
25332
25333 2010-07-30  Bruno Haible  <bruno@clisp.org>
25334
25335         unlink: Update regarding AIX.
25336         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
25337         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
25338         Reported by Rainer Tammer.
25339
25340 2010-07-30  Bruno Haible  <bruno@clisp.org>
25341
25342         symlink: Update regarding AIX.
25343         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
25344         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
25345         Reported by Rainer Tammer.
25346
25347 2010-07-30  Bruno Haible  <bruno@clisp.org>
25348
25349         strndup: Update regarding AIX.
25350         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
25351         AIX 7.
25352         Reported by Rainer Tammer.
25353
25354 2010-07-30  Bruno Haible  <bruno@clisp.org>
25355
25356         stat: Update regarding AIX.
25357         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
25358         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
25359         Reported by Rainer Tammer.
25360
25361 2010-07-30  Bruno Haible  <bruno@clisp.org>
25362
25363         truncl: Fix autoconf test.
25364         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
25365         whether truncl works.
25366         Reported by Rainer Tammer.
25367
25368 2010-07-30  Bruno Haible  <bruno@clisp.org>
25369
25370         round: Update regarding AIX.
25371         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
25372         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
25373         Reported by Rainer Tammer.
25374
25375 2010-07-30  Bruno Haible  <bruno@clisp.org>
25376
25377         rename: Update regarding AIX.
25378         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
25379         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
25380         Reported by Rainer Tammer.
25381
25382 2010-07-30  Bruno Haible  <bruno@clisp.org>
25383
25384         printf.m4: Update regarding AIX.
25385         * m4/printf.m4: Update comments regarding AIX.
25386         Reported by Rainer Tammer.
25387
25388 2010-07-30  Bruno Haible  <bruno@clisp.org>
25389
25390         iconv: Update regarding AIX.
25391         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
25392         AIX 7.
25393         Reported by Rainer Tammer.
25394
25395 2010-07-30  Bruno Haible  <bruno@clisp.org>
25396
25397         getopt: Update regarding AIX.
25398         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
25399         no on AIX.
25400         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
25401         Reported by Rainer Tammer.
25402
25403 2010-07-30  Bruno Haible  <bruno@clisp.org>
25404
25405         ldexpl; Update regarding AIX.
25406         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
25407         on AIX 7.
25408         Reported by Rainer Tammer.
25409
25410 2010-07-30  Bruno Haible  <bruno@clisp.org>
25411
25412         frexpl: Update regarding AIX.
25413         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
25414         on AIX 7.
25415         Reported by Rainer Tammer.
25416
25417 2010-07-30  Bruno Haible  <bruno@clisp.org>
25418
25419         open, fopen: Update regarding AIX.
25420         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
25421         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
25422         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
25423         * doc/posix-functions/fopen.texi: Likewise.
25424         Reported by Rainer Tammer.
25425
25426 2010-07-30  Bruno Haible  <bruno@clisp.org>
25427
25428         chown: Update doc regarding AIX.
25429         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
25430         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
25431         Reported by Rainer Tammer.
25432
25433 2010-07-30  Eric Blake  <eblake@redhat.com>
25434
25435         strtod: fix bug in replacement function on AIX
25436         * lib/strtod.c (strtod): Special case broken "0x" parse in
25437         underlying strtod.
25438         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
25439         * doc/posix-functions/strtod.texi (strtod): Likewise.
25440         Reported by Rainer Tammer.
25441
25442 2010-07-30  Bruno Haible  <bruno@clisp.org>
25443
25444         mbrlen: Fix cross-compilation guess for AIX.
25445         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
25446         guess. Leftover from 2008-12-22.
25447
25448 2010-07-30  Bruno Haible  <bruno@clisp.org>
25449
25450         mbrtowc: Fix cross-compilation guess for AIX.
25451         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
25452         guess. Leftover from 2008-12-21.
25453
25454 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
25455
25456         init.sh: work around trap limitation of some shells
25457         * tests/init.sh (setup_): Move exit trap outside of shell function.
25458
25459 2010-07-29  Eric Blake  <eblake@redhat.com>
25460
25461         strtod: aid debugging
25462         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
25463         understanding why strtod is rejected.
25464
25465 2010-07-28  Bruno Haible  <bruno@clisp.org>
25466
25467         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
25468         * lib/unistr/u8-chr.c: Include <string.h>.
25469         * tests/unistr/test-u8-chr.c: Likewise.
25470         * tests/unistr/test-u16-chr.c: Likewise.
25471         * tests/unistr/test-u32-chr.c: Likewise.
25472         * tests/unistr/test-u8-strchr.c: Likewise.
25473         * tests/unistr/test-u16-strchr.c: Likewise.
25474         * tests/unistr/test-u32-strchr.c: Likewise.
25475         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
25476         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
25477         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
25478         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
25479
25480 2010-07-28  Bruno Haible  <bruno@clisp.org>
25481
25482         Use spaces for indentation, not tabs.
25483         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
25484
25485 2010-07-27  Bruno Haible  <bruno@clisp.org>
25486
25487         mbspcasecmp: Fix function specification.
25488         * lib/string.in.h (mbspcasecmp): Fix specification comment.
25489         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
25490         Reported by Eric Blake <eblake@redhat.com>.
25491
25492 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
25493
25494         timespec: use cast and not conditional, as truncation isn't possible
25495         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
25496         instead of a conditional.  Comment about the situation in more detail.
25497         This undoes most of the 2009-10-29 patch.
25498
25499 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
25500
25501         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
25502         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
25503         * lib/unistr/u8-strchr.c: Likewise.
25504         * modules/unistr/u8-chr: Depend on memchr.
25505
25506         unistr/u*-strchr: add tests
25507         * modules/unistr/u8-strchr-tests: New file.
25508         * modules/unistr/u16-strchr-tests: New file.
25509         * modules/unistr/u32-strchr-tests: New file.
25510         * tests/unistr/test-strchr.h: New file.
25511         * tests/unistr/test-u8-strchr.c: New file.
25512         * tests/unistr/test-u16-strchr.c: New file.
25513         * tests/unistr/test-u32-strchr.c: New file.
25514
25515         unistr/u*-chr: test multibyte sequences more
25516         * tests/unistr/test-chr.h: Do complete testing of the characters in the
25517         test vector.
25518         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
25519         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
25520         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
25521
25522         unistr/u*-chr: test multibyte sequences
25523         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
25524
25525         unistr/u*-chr: prepare for multibyte tests
25526         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
25527         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
25528         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
25529         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
25530         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
25531         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
25532
25533 2010-07-18  Bruno Haible  <bruno@clisp.org>
25534
25535         unistr/u8-strchr: Optimize non-ASCII argument case.
25536         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
25537         because the first byte often matches anyway.
25538         Reported by Pádraig Brady <P@draigbrady.com>.
25539
25540 2010-07-15  Karl Berry  <karl@gnu.org>
25541
25542         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
25543
25544 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
25545
25546         getcwd: on Solaris, work better if ancestors are inaccessible
25547         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
25548         buffer and size, try again with a large buffer.  This works better
25549         on Solaris, since its getcwd succeeds even if the path to the root
25550         is inaccessible, and this is helpful in common cases such as .zfs
25551         hidden directories.  Problem reported by J Chapman Flack in
25552         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
25553         Use system getcwd if it's declared, not merely if it's partly
25554         working; use the partly-working test only to avoid needless effort
25555         if the system getcwd fails.
25556         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
25557         comment that was already obsolete and is now even more obsolete.
25558         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
25559         now might call strdup.
25560
25561 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
25562
25563         pthread: Add enough so that coreutils/src/sort.c compiles.
25564         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
25565         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
25566         gnulib. Include <sched.h> and <time.h>, as per POSIX.
25567         Include <sys/types.h>, in case it defines pthread_t.
25568         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
25569         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
25570         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
25571         (pthread_rwlockattr_t, pthread_spinlock_t):
25572         New typedefs, if HAVE_PTHREAD_T is not defined.
25573         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
25574         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
25575         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
25576         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
25577         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
25578         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
25579         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
25580         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
25581         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
25582         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
25583         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
25584         New macros.
25585         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
25586         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
25587         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
25588         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
25589         (pthread_spin_unlock): New dummy functions.
25590         (pthread_create): Return EAGAIN; don't set errno.
25591         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
25592         require AC_C_INLINE.
25593         * modules/pthread (Depends-on): Add sched, time.
25594         (pthread.h): Use AM_V_GEN.
25595
25596 2010-07-13  Bruno Haible  <bruno@clisp.org>
25597
25598         striconveh: Don't malloc memory if the result buffer is sufficient.
25599         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
25600         buffer if its size is sufficient.
25601         Reported by Ludovic Courtès <ludo@gnu.org>.
25602
25603 2010-07-13  Bruno Haible  <bruno@clisp.org>
25604
25605         strtod: Add safety check.
25606         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
25607
25608 2010-07-12  Bruno Haible  <bruno@clisp.org>
25609
25610         Unify tests that set gl_cv_func_ldexpl_no_libm.
25611         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
25612         gl_FUNC_LDEXPL.
25613         (gl_FUNC_LDEXPL): Invoke it.
25614         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25615
25616 2010-07-12  Bruno Haible  <bruno@clisp.org>
25617
25618         Unify tests that set gl_cv_func_ldexp_no_libm.
25619         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
25620         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
25621         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
25622         (configure.ac): Simply invoke gl_FUNC_LDEXP.
25623         * modules/strtod (Files): Add m4/ldexp.m4.
25624
25625 2010-07-12  Bruno Haible  <bruno@clisp.org>
25626
25627         Unify tests that set gl_cv_func_frexpl_no_libm.
25628         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
25629         gl_FUNC_FREXPL_NO_LIBM.
25630         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
25631         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
25632
25633 2010-07-12  Bruno Haible  <bruno@clisp.org>
25634
25635         Unify tests that set gl_cv_func_frexp_no_libm.
25636         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
25637         gl_FUNC_FREXP_NO_LIBM.
25638         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
25639         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
25640
25641 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
25642
25643         memcoll: clarify sizes versus lengths, document better, and tweak perf
25644         * lib/memcoll.c (strcoll_loop, memcoll0):
25645         Improve quality of descriptive comments.  Name variables
25646         consistently as to whether they are lengths (which do not include
25647         terminating null) versus sizes (which do).
25648         * lib/xmemcoll.c (xmemcoll0): Likewise.
25649         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
25650         returned when s1size == 0; this is easier to compile and saves
25651         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
25652
25653 2010-07-12  Bruno Haible  <bruno@clisp.org>
25654
25655         Tests for module '_Exit'.
25656         * modules/_Exit-tests: New file.
25657         * tests/test-_Exit.sh: New file.
25658         * tests/test-_Exit.c: New file.
25659
25660         New module '_Exit'.
25661         * lib/stdlib.in.h (__attribute__): New macro.
25662         (_Exit): New declaration.
25663         * lib/_Exit.c: New file.
25664         * m4/_Exit.m4: New file.
25665         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
25666         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
25667         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
25668         * modules/_Exit: New file.
25669         * tests/test-stdlib-c++.cc (_Exit): Check signature.
25670         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
25671
25672 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
25673
25674         strtod: make it more-accurate typically, and don't require libm
25675         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
25676         Include limits.h.  Don't include string.h.
25677         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
25678         (locale_isspace): New function, so that no casts are needed to
25679         check whether *s is a space.
25680         (ldexp): Provide an unused dummy if not available.
25681         (scale_radix_exp, parse_number, underlying_strtod): New functions.
25682         (strtod): Use them.  This implementation prefers to use the
25683         underlying strtod if available, falling back on our own code
25684         only to fix known bugs.  This is more likely to produce an
25685         accurate result.  Also, it avoids the use of libm functions.
25686         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
25687         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
25688         was absent, but it caused a test failure with coreutils.
25689         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
25690         with libm.
25691         * modules/strtod (Makefile.am, Link): libm is no longer needed.
25692         * modules/strtod-tests (Makefile.am): Likewise.
25693
25694 2010-07-11  Pádraig Brady  <P@draigBrady.com>
25695             Bruno Haible  <bruno@clisp.org>
25696
25697         unistr/u8-strchr: Optimize ASCII argument case.
25698         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
25699
25700 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
25701
25702         (x)memcoll: minor tweaks
25703         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
25704         is after the type that it qualifies.
25705         (memcoll0): Likewise.
25706         * lib/memcoll.h (memcoll0): Likewise.
25707         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
25708         * lib/xmemcoll.h (xmemcoll0): Likewise.
25709         * lib/memcoll.c (memcoll0): Correct the comment.  This function
25710         differs from memcoll in that the NUL byte is part of the argument.
25711         Omit the abort-checks, as performance is a real issue here.  Plus,
25712         the checks were wrong anyway (an off-by-one error).  Omit local
25713         variable 'diff', as it's a bit clearer that way.
25714         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
25715         no longer needed.
25716
25717 2010-07-08  Chen Guo <chenguo4@yahoo.com>
25718
25719         (x)memcoll: speedup when input is known to be NUL delimited
25720         * lib/memcoll.c: Include stdlib.
25721         (memcoll0): New function.
25722         (strcoll_loop): New function, refactored for use in both memcoll
25723         and memcoll0.
25724         * lib/memcoll.h (memcoll0): Add prototype.
25725         * lib/xmemcoll.c (xmemcoll0): New function.
25726         (collate_error): New function, refactored for use in both xmemcoll
25727         and xmemcoll0.
25728         * lib/xmemcoll.h (xmemcoll0): Add prototype.
25729         * m4/memcoll.m4: add inline invocation.
25730
25731 2010-07-06  Pádraig Brady  <P@draigBrady.com>
25732
25733         * build-aux/bootstrap: Remove any local translations
25734         from the translation project synchronization directory,
25735         so that local only translations are not distributed.
25736
25737 2010-07-04  Bruno Haible  <bruno@clisp.org>
25738
25739         fsusage: Clarify which code applies to which platforms.
25740         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
25741         platform.
25742         * lib/fsusage.c (get_fs_usage): Likewise.
25743
25744 2010-07-04  Bruno Haible  <bruno@clisp.org>
25745
25746         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
25747         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
25748         Reported by Martin Lambers <marlam@marlam.de>.
25749
25750 2010-07-04  Jim Meyering  <meyering@redhat.com>
25751
25752         hash: once again explicitly disallow insertion of NULL
25753         * lib/hash.c (hash_insert0): Reinstate just-removed test:
25754         inserting a NULL pointer cannot work with these functions.
25755         Add a comment with details.
25756         This reverts part of the 2010-07-01 commit, 5bef1a35
25757         "hash: extend module to deal with non-pointer keys".
25758
25759 2010-07-01  Bruno Haible  <bruno@clisp.org>
25760
25761         stdbool: Update doc.
25762         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
25763         Info from Christian Weisgerber <naddy@mips.inka.de>.
25764
25765 2010-07-01  Jim Meyering  <meyering@redhat.com>
25766
25767         hash: extend module to deal with non-pointer keys
25768         * lib/hash.c (hash_insert0): New interface, much like hash_insert
25769         but that allows insertion of non-pointer entries.
25770         Do not disallow an ENTRY value of NULL.
25771         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
25772         * lib/hash.h (hash_insert0): Declare.
25773
25774 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
25775
25776         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
25777         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
25778         not present (i.e. with autoconf 2.59 and when using gettextize, not
25779         gnulib), require AC_GNU_SOURCE instead.
25780
25781 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
25782
25783         idpriv-drop: Fix tests.
25784         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
25785         not to the test-idpriv-droptemp program.
25786
25787 2010-06-29  Bruno Haible  <bruno@clisp.org>
25788
25789         string: Fix syntax error with g++ 2.96.
25790         * lib/string.in.h (__pure__): Remove definition.
25791         (_GL_ATTRIBUTE_PURE): New macro.
25792         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
25793         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
25794         Reported by Christian Weisgerber <naddy@mips.inka.de>.
25795
25796 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
25797
25798         unitypes: Fix bug introduced on 2010-05-18.
25799         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
25800
25801 2010-06-22  Eric Blake  <eblake@redhat.com>
25802
25803         memmem: slight optimization
25804         * lib/str-two-way.h (critical_factorization): Update comments.
25805         Reduce work during factorization phase.
25806         Reported by Carlos Bueno <carlos@bueno.org>.
25807
25808 2010-06-21  Bruno Haible  <bruno@clisp.org>
25809
25810         Fix HAVE_CALLOC_POSIX misnomer.
25811         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
25812         !HAVE_CALLOC_POSIX.
25813         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
25814         HAVE_CALLOC_POSIX.
25815         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
25816         instead of HAVE_CALLOC_POSIX.
25817         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
25818         HAVE_CALLOC_POSIX.
25819
25820         Use modern idiom for calloc() replacement.
25821         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
25822         AC_FUNC_CALLOC.
25823         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
25824         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
25825         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25826         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
25827         (gl_REPLACE_CALLOC): New macro.
25828
25829 2010-06-21  Bruno Haible  <bruno@clisp.org>
25830
25831         Fix HAVE_REALLOC_POSIX misnomer.
25832         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
25833         !HAVE_REALLOC_POSIX.
25834         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
25835         HAVE_REALLOC_POSIX.
25836         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
25837         instead of HAVE_REALLOC_POSIX.
25838         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
25839         HAVE_REALLOC_POSIX.
25840
25841         Use modern idiom for realloc() replacement.
25842         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
25843         AC_FUNC_REALLOC.
25844         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
25845         Autoconf's AC_FUNC_REALLOC.
25846         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25847         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
25848         (gl_REPLACE_REALLOC): New macro.
25849         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
25850
25851 2010-06-21  Bruno Haible  <bruno@clisp.org>
25852
25853         Fix HAVE_MALLOC_POSIX misnomer.
25854         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
25855         !HAVE_MALLOC_POSIX.
25856         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
25857         HAVE_MALLOC_POSIX.
25858         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
25859         instead of HAVE_MALLOC_POSIX.
25860         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
25861         HAVE_MALLOC_POSIX.
25862
25863         Use modern idiom for malloc() replacement.
25864         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
25865         AC_FUNC_MALLOC.
25866         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
25867         Autoconf's AC_FUNC_MALLOC.
25868         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
25869         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
25870         (gl_REPLACE_MALLOC): New macro.
25871         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
25872
25873 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
25874
25875         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
25876         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
25877         This macro takes 3 arguments, not 4.
25878
25879 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
25880
25881         ipv6: fix detection under mingw
25882         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
25883         in6_addr.
25884
25885 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
25886
25887         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
25888         that strtod() works when cross-compiling to a glibc version known
25889         to work.
25890
25891 2010-06-15  Bruno Haible  <bruno@clisp.org>
25892
25893         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
25894
25895 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
25896
25897         select: Correct timeout.
25898         * lib/select.c (rpl_select): Compute wait_timeout correctly.
25899
25900 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
25901
25902         git-version-gen: init shell var to avoid env var influence
25903         * build-aux/git-version-gen (v): Init shell var to empty.
25904
25905 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
25906
25907         priv-set: Don't assume that priv.h exists merely because getppriv does.
25908         See Jan Andersen's bug report about AIX 5L in
25909         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
25910         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
25911         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
25912         * lib/priv-set.h: Likewise.
25913         * tests/test-priv-set.c: Likewise.
25914
25915 2010-06-13  Bruno Haible  <bruno@clisp.org>
25916
25917         relocatable: Make it easier to test whether to install wrappers.
25918         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
25919         RELOCATABLE_VIA_WRAPPER.
25920
25921 2010-06-13  Bruno Haible  <bruno@clisp.org>
25922
25923         gnulib-tool: Display specified modules and dependencies differently.
25924         * gnulib-tool (func_show_module_list): New function.
25925         (func_import, func_create_testdir): Invoke it.
25926         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
25927
25928 2010-06-13  Bruno Haible  <bruno@clisp.org>
25929
25930         gnulib-tool: Align code of func_import and func_create_testdir.
25931         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
25932         specified_modules.
25933
25934 2010-06-12  Jim Meyering  <meyering@redhat.com>
25935
25936         test-inttostr: avoid spurious failure on Solaris 9
25937         * tests/test-inttostr.c (main): Skip the test when snprintf fails
25938         to accept "%ju".  Reported by Bruno Haible.
25939
25940 2010-06-11  Jim Meyering  <meyering@redhat.com>
25941
25942         test-sys_socket: mark variables as used more readably
25943         * tests/test-sys_socket.c (main): Mark otherwise unused variables
25944         as "used" explicitly via (void) statement casts.  This is more
25945         readable than using them in an artificial return expression.
25946         Suggestion from Bruno Haible.
25947
25948 2010-06-11  Bruno Haible  <bruno@clisp.org>
25949
25950         Avoid some more warnings from "gcc -Wwrite-strings".
25951         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
25952         to 'const char *'.
25953         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
25954         * tests/test-c-strcasestr.c (main): Likewise.
25955         * tests/test-mbscasestr1.c (main): Likewise.
25956         * tests/test-mbscasestr2.c (main): Likewise.
25957         * tests/test-memmem.c (main): Likewise.
25958         * tests/test-strstr.c (main): Likewise.
25959         * tests/test-strcasestr.c (main): Likewise.
25960
25961 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25962
25963         init.sh: change framework_failure_ to fail with status 99, not 1
25964         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
25965         automake's parallel-tests rule that this is an unexpected failure,
25966         even if the test is listed in XFAIL_TESTS.
25967
25968 2010-06-11  Jim Meyering  <meyering@redhat.com>
25969
25970         test-inttostr: avoid warnings about 4-6KB literal strings
25971         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
25972         Include "macros.h", for its definition of ASSERT.
25973         (CK): s/assert/ASSERT/
25974         * modules/inttostr-tests (Files): Add macros.h.
25975
25976         init.sh: don't use $ME_ or skip_ before they are defined
25977         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
25978         their first uses.  Also hoist their companions: warn_, fail_,
25979         framework_failure_, $stderr_fileno.  Prompted by a patch from
25980         Stefano Lattarini.
25981
25982         test-sys_socket: avoid set-but-not-used warnings from gcc
25983         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
25984         avoid warning about set-but-not-used variables.
25985
25986         test-xvasprintf: avoid 'const' discard warnings
25987         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
25988         "const" when assigning from literal strings.
25989         (test_xasprintf): Add "void" in function argument list to placate
25990         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
25991
25992         tests: avoid compilation warnings in argmatch and exclude tests...
25993         in packages that define ARGMATCH_DIE_DECL, like coreutils.
25994         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
25995         Since it always exits, declare with the "noreturn" attribute.
25996         * tests/test-argmatch.c: Likewise.
25997
25998         tests: avoid 'const' discard warnings in mbsstr tests
25999         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
26000         * tests/test-mbsstr2.c (main): Likewise.
26001
26002         test-verify: avoid warning from gcc's -Wmissing-declarations
26003         * tests/test-verify.c (function): Declare to be static.
26004
26005         test-inttostr.c: include <string.h> for use of strcmp
26006         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
26007
26008         test-linkat: avoid failed assertion on "other" architectures
26009         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
26010         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
26011         sparc: https://bugs.launchpad.net/bugs/591968
26012
26013 2010-06-11  Jim Meyering  <meyering@redhat.com>
26014
26015         printf.m4: avoid autoconf's "Expanded Before Required" warning
26016         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
26017         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
26018         autoconf warning.
26019
26020 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
26021
26022         Replacement header templates are now named with ".in", not "_".
26023         * doc/gnulib-intro.texi: Correct.
26024
26025 2010-06-10  Jim Meyering  <meyering@redhat.com>
26026
26027         inttostr-tests: depend on snprintf, not snprintf-posix
26028         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
26029         snprintf-posix, to avoid this aclocal failure:
26030           missing file gnulib-tests/vasnprintf.c
26031           configure.ac:45: error: expected source file, required through \
26032           AC_LIBSOURCES, not found
26033
26034 2010-06-10  Jim Meyering  <meyering@redhat.com>
26035
26036         inttostr: add a new function, inttostr, and tests
26037         The namesake function was not available.  The existence of the
26038         template file, inttostr.c makes its addition nontrivial.
26039         * lib/anytostr.c: Rename from inttostr.c.
26040         (anytostr): Rename from inttostr.
26041         * lib/inttostr.c: New file.
26042         * modules/inttostr (Files): Add anytostr.c.
26043         (Makefile.am): Set lib_SOURCES instead of ...
26044         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
26045         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
26046         * lib/offtostr.c: Likewise.
26047         * lib/uinttostr.c: Likewise.
26048         * lib/umaxtostr.c: Likewise.
26049         * modules/inttostr-tests: New file.
26050         * tests/test-inttostr.c: New file.  Test these functions.
26051
26052 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
26053             Bruno Haible  <bruno@clisp.org>
26054
26055         Add "Extending Gnulib" chapter to manual.
26056         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
26057         chapter.
26058         (Extending Gnulib): New chapter.
26059         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
26060         chapter.
26061
26062 2010-06-09  Bruno Haible  <bruno@clisp.org>
26063
26064         Avoid relocwrapper link errors due to gnulib replacement functions.
26065         * lib/areadlink.c: Use the system's malloc, realloc functions.
26066         (areadlink): Set errno to ENOMEM explicitly.
26067         * modules/areadlink (Depends-on): Remove malloc-posix.
26068         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26069
26070 2010-06-09  Bruno Haible  <bruno@clisp.org>
26071
26072         Avoid relocwrapper link errors due to gnulib replacement functions.
26073         * lib/canonicalize-lgpl.c: Use the system's malloc function.
26074         * lib/malloca.c: Likewise.
26075         * lib/relocatable.c: Likewise.
26076         * lib/progreloc.c: Use the system's malloc, sprintf functions.
26077         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
26078         * lib/setenv.c: Use the system's malloc, realloc functions.
26079         * lib/strerror.c: Use the system's sprintf function.
26080         Reported by Ben Pfaff <blp@cs.stanford.edu>.
26081
26082 2010-06-04  Bruno Haible  <bruno@clisp.org>
26083
26084         Prefer documented low-level autoconf macro names.
26085         * m4/lib-link.m4: Use m4_translit instead of translit.
26086         * m4/environ.m4: Likewise.
26087         * m4/mathfunc.m4: Likewise.
26088         * m4/onceonly.m4: Likewise.
26089         * m4/stdint.m4: Likewise.
26090         Suggested by Eric Blake.
26091
26092 2010-06-04  Martin Lambers  <marlam@marlam.de>
26093             Bruno Haible  <bruno@clisp.org>
26094
26095         havelib: Allow library names with '+' characters.
26096         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
26097         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
26098
26099 2010-06-09  Bruno Haible  <bruno@clisp.org>
26100
26101         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
26102         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
26103         realloc failed.
26104
26105 2010-06-08  Peter Simons  <simons@cryp.to>
26106
26107         maint.mk: make the news-check rule more configurable
26108         * top/maint.mk (news-check-lines-spec): New variable.
26109         (news-check): Use "sed -n 1,10p" in place of "head".
26110
26111 2010-06-07  Jim Meyering  <meyering@redhat.com>
26112
26113         do-release-commit-and-tag: fix typo in --help
26114         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
26115
26116         regex: avoid new dead-code warning with gcc-4.6.0
26117         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
26118         if-block containing a while-loop.  It's been unused for at least
26119         5 years.
26120
26121 2010-06-05  Bruno Haible  <bruno@clisp.org>
26122
26123         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
26124         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
26125
26126 2010-06-04  Bruno Haible  <bruno@clisp.org>
26127
26128         Update to GNU gettext 0.18.1.
26129         * modules/gettext (configure.ac): Require gettext infrastructure from
26130         version 0.18.1.
26131
26132 2010-06-03  Bruno Haible  <bruno@clisp.org>
26133
26134         Don't use AC_LIBOBJ with file names in subdirectories.
26135         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
26136         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
26137         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
26138         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
26139         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
26140         gl_LIBUNISTRING_LIBSOURCE.
26141         (Makefile.am): Augment lib_SOURCES here, conditionally.
26142         * NEWS: Drop requirement for Automake option 'subdir-objects'.
26143
26144 2010-06-03  Bruno Haible  <bruno@clisp.org>
26145
26146         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
26147         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
26148         expansion does not end with a newline.
26149         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
26150         unnecessary newline.
26151
26152 2010-06-03  Bruno Haible  <bruno@clisp.org>
26153
26154         Reduce dependencies.
26155         * tests/test-quotearg.h: New file, extracted from
26156         tests/test-quotearg.c.
26157         * tests/test-quotearg-simple.c: New file, extracted from
26158         tests/test-quotearg.c.
26159         * tests/test-quotearg.c: Don't include <ctype.h>.
26160         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
26161         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
26162         use_quote_double_quotes, use_quotearg_colon): Moved to
26163         tests/test-quotearg.h.
26164         (results_g, flag_results, custom_quotes, custom_results): Moved
26165         to tests/test-quotearg-simple.c.
26166         (main): Moved the part that does not depend on gettext to
26167         tests/test-quotearg-simple.c. Return 77 if the test cannot be
26168         performed.
26169         * modules/quotearg-simple: New file.
26170         * modules/quotearg-simple-tests: New file.
26171         * modules/quotearg (Depends-on): Add quotearg-simple.
26172         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
26173         (Files): Add tests/test-quotearg.h.
26174         Reported by Paolo Bonzini.
26175
26176 2010-06-03  Bruno Haible  <bruno@clisp.org>
26177
26178         Reduce dependencies.
26179         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
26180
26181 2010-06-03  Bruno Haible  <bruno@clisp.org>
26182
26183         time: Undefine more broken macros.
26184         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
26185         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
26186         Reported by Eric Blake.
26187
26188 2010-06-03  Bruno Haible  <bruno@clisp.org>
26189
26190         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
26191         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
26192         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
26193         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
26194         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
26195         Reported by Ludovic Courtès <ludo@gnu.org>.
26196
26197 2010-06-02  Eric Blake  <eblake@redhat.com>
26198
26199         time: work with mingw + pthreads-win32 library
26200         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
26201         if timespec is defined only in pthread.h.
26202         * modules/time (Makefile.am): Substitute it.
26203         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
26204         <pthread.h>, when needed.
26205         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
26206         from the library.
26207
26208 2010-05-31  Bruno Haible  <bruno@clisp.org>
26209
26210         Avoid expanding two macros in the wrong order.
26211         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
26212         gl_LIBUNISTRING if it is defined.
26213         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
26214         autoconf >= 2.64.
26215         Reported by Ludovic Courtès <ludo@gnu.org>.
26216
26217 2010-05-27  Jim Meyering  <meyering@redhat.com>
26218
26219         maint.mk: also prohibit "#undef" of always-defined symbols
26220         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
26221         Allow more than one space before the symbol name.
26222         (sc_prohibit_always-defined_macros): Use grep's -E, now that
26223         the regexp uses alternation.
26224
26225 2010-05-26  Eric Blake  <eblake@redhat.com>
26226
26227         maint.mk: avoid echo -e
26228         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
26229         Convert all uses of echo -* to printf.
26230         Reported by Matthias Bolte.
26231
26232 2010-05-25  Bruno Haible  <bruno@clisp.org>
26233
26234         Update to GNU gettext 0.18, part 2.
26235         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
26236         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
26237
26238 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26239
26240         Add missing include in test-pwrite.c.
26241         * tests/test-pwrite.c: Include string.h, for strcmp.
26242
26243 2010-05-24  Bruno Haible  <bruno@clisp.org>
26244
26245         * NEWS: Mention requirement for Automake option 'subdir-objects'.
26246
26247 2010-05-24  Bruno Haible  <bruno@clisp.org>
26248
26249         Don't use conversion with transliteration in u{8,16,32}_strcoll.
26250         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
26251         iconveh_error argument.
26252         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
26253         U_STRCONV_TO_LOCALE.
26254         * lib/unistr/u16-strcoll.c: Likewise.
26255         * lib/unistr/u32-strcoll.c: Likewise.
26256         * modules/unistr/u8-strcoll (Depends-on): Add
26257         uniconv/u8-strconv-to-enc, localcharset. Remove
26258         uniconv/u8-strconv-to-locale.
26259         (configure.ac): Bump version number.
26260         * modules/unistr/u16-strcoll (Depends-on): Add
26261         uniconv/u16-strconv-to-enc, localcharset. Remove
26262         uniconv/u16-strconv-to-locale.
26263         (configure.ac): Bump version number.
26264         * modules/unistr/u32-strcoll (Depends-on): Add
26265         uniconv/u32-strconv-to-enc, localcharset. Remove
26266         uniconv/u32-strconv-to-locale.
26267         (configure.ac): Bump version number.
26268
26269 2010-05-24  Bruno Haible  <bruno@clisp.org>
26270
26271         Avoid a test failure on NetBSD 5.0.
26272         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
26273         an iconv() bug.
26274
26275 2010-05-24  Bruno Haible  <bruno@clisp.org>
26276
26277         Adjust #include directive style.
26278         * modules/regex (Includes): Recommend to write <regex.h>.
26279
26280 2010-05-24  Bruno Haible  <bruno@clisp.org>
26281
26282         regex: Don't require alloca.
26283         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
26284         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
26285         only inside if (0).
26286
26287 2010-05-23  Jim Meyering  <meyering@redhat.com>
26288
26289         test-renameat.c: include <sys/stat.h>
26290         * tests/test-renameat.c: Include <sys/stat.h>; required for
26291         definition of S_IS* macros.
26292
26293 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
26294
26295         Update maintainer documentation for 'relocatable-prog' module.
26296         * doc/relocatable-maint.texi: Update.
26297         Comments by Bruno Haible.
26298
26299 2010-05-23  Bruno Haible  <bruno@clisp.org>
26300
26301         git-merge-changelog: Enable --split-merged-entry by default.
26302         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
26303         (usage): Don't mention this option any more.
26304         Reported by Ralf Wildenhues.
26305
26306 2010-05-23  Jim Meyering  <meyering@redhat.com>
26307
26308         test-pwrite: do not leave behind a test file named "out"
26309         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
26310         The trivial-looking use of init.sh is really necessary.
26311         It ensures that the temporary file, "out", is created in
26312         a temporary directory, and removed upon termination.
26313         * tests/test-pwrite.sh: Re-add file.
26314         * modules/pwrite-tests: Reference it.
26315
26316 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
26317
26318         Fix output redirection buglet in init.sh.
26319         * tests/init.sh: Fix redirection of stderr.
26320
26321 2010-05-20  Simon Josefsson  <simon@josefsson.org>
26322
26323         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
26324
26325 2010-05-17  Simon Josefsson  <simon@josefsson.org>
26326
26327         * modules/valgrind-tests: New file.
26328         * m4/valgrind-tests.m4: New file.
26329         * doc/valgrind-tests.texi: New file.
26330         * doc/gnulib.texi (Running self-tests under valgrind): New
26331         section.
26332
26333 2010-05-19  Bruno Haible  <bruno@clisp.org>
26334
26335         Clean up dead code in recent commit.
26336         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
26337         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
26338         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
26339         Suggested by Paolo Bonzini.
26340
26341 2010-05-19  Bruno Haible  <bruno@clisp.org>
26342
26343         Avoid valgrind error reports from libunistring.
26344         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
26345         * modules/libunistring (Files): Add it.
26346         * modules/libunistring-optional (Files): Likewise.
26347
26348 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
26349             Bruno Haible  <bruno@clisp.org>
26350
26351         New module 'libunistring-optional'.
26352         * modules/libunistring-optional: New file.
26353         * m4/libunistring-base.m4: New file.
26354         * m4/libunistring-optional.m4: New file.
26355         * lib/unicase.in.h: Renamed from lib/unicase.h.
26356         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
26357         * lib/unictype.in.h: Renamed from lib/unictype.h.
26358         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
26359         * lib/uniname.in.h: Renamed from lib/uniname.h.
26360         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
26361         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
26362         * lib/unistr.in.h: Renamed from lib/unistr.h.
26363         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
26364         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
26365         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
26366         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
26367         gl_LIBUNISTRING. If the library was found, determine the installed
26368         version and set LIBUNISTRING_VERSION.
26369         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
26370         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
26371         handle a configuration option --with-included-libunistring.
26372         * modules/libunistring (Files): Add m4/absolute-header.m4.
26373         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
26374         Add m4/libunistring-base.m4.
26375         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26376         (Makefile.am): Build unicase.h from unicase.in.h.
26377         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
26378         Add m4/libunistring-base.m4.
26379         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26380         (Makefile.am): Build uniconv.h from uniconv.in.h.
26381         * modules/unictype/base (Files): Use unictype.in.h instead of
26382         unictype.h. Add m4/libunistring-base.m4.
26383         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26384         (Makefile.am): Build unictype.h from unictype.in.h.
26385         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
26386         Add m4/libunistring-base.m4.
26387         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26388         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
26389         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
26390         Add m4/libunistring-base.m4.
26391         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26392         (Makefile.am): Build uniname.h from uniname.in.h.
26393         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
26394         Add m4/libunistring-base.m4.
26395         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26396         (Makefile.am): Build uninorm.h from uninorm.in.h.
26397         * modules/unistdio/base (Files): Use unistdio.in.h instead of
26398         unistdio.h. Add m4/libunistring-base.m4.
26399         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26400         (Makefile.am): Build unistdio.h from unistdio.in.h.
26401         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
26402         Add m4/libunistring-base.m4.
26403         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26404         (Makefile.am): Build unistr.h from unistr.in.h.
26405         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
26406         Add m4/libunistring-base.m4.
26407         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26408         (Makefile.am): Build unitypes.h from unitypes.in.h.
26409         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
26410         Add m4/libunistring-base.m4.
26411         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26412         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
26413         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
26414         uniwidth.h. Add m4/libunistring-base.m4.
26415         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
26416         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
26417         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
26418         instead of augmenting lib_SOURCES.
26419         * modules/unicase/empty-suffix-context: Likewise.
26420         * modules/unicase/locale-language: Likewise.
26421         * modules/unicase/tolower: Likewise.
26422         * modules/unicase/totitle: Likewise.
26423         * modules/unicase/toupper: Likewise.
26424         * modules/unicase/u8-casecmp: Likewise.
26425         * modules/unicase/u8-casecoll: Likewise.
26426         * modules/unicase/u8-casefold: Likewise.
26427         * modules/unicase/u8-casexfrm: Likewise.
26428         * modules/unicase/u8-ct-casefold: Likewise.
26429         * modules/unicase/u8-ct-tolower: Likewise.
26430         * modules/unicase/u8-ct-totitle: Likewise.
26431         * modules/unicase/u8-ct-toupper: Likewise.
26432         * modules/unicase/u8-is-cased: Likewise.
26433         * modules/unicase/u8-is-casefolded: Likewise.
26434         * modules/unicase/u8-is-lowercase: Likewise.
26435         * modules/unicase/u8-is-titlecase: Likewise.
26436         * modules/unicase/u8-is-uppercase: Likewise.
26437         * modules/unicase/u8-prefix-context: Likewise.
26438         * modules/unicase/u8-suffix-context: Likewise.
26439         * modules/unicase/u8-tolower: Likewise.
26440         * modules/unicase/u8-totitle: Likewise.
26441         * modules/unicase/u8-toupper: Likewise.
26442         * modules/unicase/u16-casecmp: Likewise.
26443         * modules/unicase/u16-casecoll: Likewise.
26444         * modules/unicase/u16-casefold: Likewise.
26445         * modules/unicase/u16-casexfrm: Likewise.
26446         * modules/unicase/u16-ct-casefold: Likewise.
26447         * modules/unicase/u16-ct-tolower: Likewise.
26448         * modules/unicase/u16-ct-totitle: Likewise.
26449         * modules/unicase/u16-ct-toupper: Likewise.
26450         * modules/unicase/u16-is-cased: Likewise.
26451         * modules/unicase/u16-is-casefolded: Likewise.
26452         * modules/unicase/u16-is-lowercase: Likewise.
26453         * modules/unicase/u16-is-titlecase: Likewise.
26454         * modules/unicase/u16-is-uppercase: Likewise.
26455         * modules/unicase/u16-prefix-context: Likewise.
26456         * modules/unicase/u16-suffix-context: Likewise.
26457         * modules/unicase/u16-tolower: Likewise.
26458         * modules/unicase/u16-totitle: Likewise.
26459         * modules/unicase/u16-toupper: Likewise.
26460         * modules/unicase/u32-casecmp: Likewise.
26461         * modules/unicase/u32-casecoll: Likewise.
26462         * modules/unicase/u32-casefold: Likewise.
26463         * modules/unicase/u32-casexfrm: Likewise.
26464         * modules/unicase/u32-ct-casefold: Likewise.
26465         * modules/unicase/u32-ct-tolower: Likewise.
26466         * modules/unicase/u32-ct-totitle: Likewise.
26467         * modules/unicase/u32-ct-toupper: Likewise.
26468         * modules/unicase/u32-is-cased: Likewise.
26469         * modules/unicase/u32-is-casefolded: Likewise.
26470         * modules/unicase/u32-is-lowercase: Likewise.
26471         * modules/unicase/u32-is-titlecase: Likewise.
26472         * modules/unicase/u32-is-uppercase: Likewise.
26473         * modules/unicase/u32-prefix-context: Likewise.
26474         * modules/unicase/u32-suffix-context: Likewise.
26475         * modules/unicase/u32-tolower: Likewise.
26476         * modules/unicase/u32-totitle: Likewise.
26477         * modules/unicase/u32-toupper: Likewise.
26478         * modules/unicase/ulc-casecmp: Likewise.
26479         * modules/unicase/ulc-casecoll: Likewise.
26480         * modules/unicase/ulc-casexfrm: Likewise.
26481         * modules/uniconv/u8-conv-from-enc: Likewise.
26482         * modules/uniconv/u8-conv-to-enc: Likewise.
26483         * modules/uniconv/u8-strconv-from-enc: Likewise.
26484         * modules/uniconv/u8-strconv-from-locale: Likewise.
26485         * modules/uniconv/u8-strconv-to-enc: Likewise.
26486         * modules/uniconv/u8-strconv-to-locale: Likewise.
26487         * modules/uniconv/u16-conv-from-enc: Likewise.
26488         * modules/uniconv/u16-conv-to-enc: Likewise.
26489         * modules/uniconv/u16-strconv-from-enc: Likewise.
26490         * modules/uniconv/u16-strconv-from-locale: Likewise.
26491         * modules/uniconv/u16-strconv-to-enc: Likewise.
26492         * modules/uniconv/u16-strconv-to-locale: Likewise.
26493         * modules/uniconv/u32-conv-from-enc: Likewise.
26494         * modules/uniconv/u32-conv-to-enc: Likewise.
26495         * modules/uniconv/u32-strconv-from-enc: Likewise.
26496         * modules/uniconv/u32-strconv-from-locale: Likewise.
26497         * modules/uniconv/u32-strconv-to-enc: Likewise.
26498         * modules/uniconv/u32-strconv-to-locale: Likewise.
26499         * modules/unictype/bidicategory-byname: Likewise.
26500         * modules/unictype/bidicategory-name: Likewise.
26501         * modules/unictype/bidicategory-of: Likewise.
26502         * modules/unictype/bidicategory-test: Likewise.
26503         * modules/unictype/block-list: Likewise.
26504         * modules/unictype/block-test: Likewise.
26505         * modules/unictype/category-C: Likewise.
26506         * modules/unictype/category-Cc: Likewise.
26507         * modules/unictype/category-Cf: Likewise.
26508         * modules/unictype/category-Cn: Likewise.
26509         * modules/unictype/category-Co: Likewise.
26510         * modules/unictype/category-Cs: Likewise.
26511         * modules/unictype/category-L: Likewise.
26512         * modules/unictype/category-Ll: Likewise.
26513         * modules/unictype/category-Lm: Likewise.
26514         * modules/unictype/category-Lo: Likewise.
26515         * modules/unictype/category-Lt: Likewise.
26516         * modules/unictype/category-Lu: Likewise.
26517         * modules/unictype/category-M: Likewise.
26518         * modules/unictype/category-Mc: Likewise.
26519         * modules/unictype/category-Me: Likewise.
26520         * modules/unictype/category-Mn: Likewise.
26521         * modules/unictype/category-N: Likewise.
26522         * modules/unictype/category-Nd: Likewise.
26523         * modules/unictype/category-Nl: Likewise.
26524         * modules/unictype/category-No: Likewise.
26525         * modules/unictype/category-P: Likewise.
26526         * modules/unictype/category-Pc: Likewise.
26527         * modules/unictype/category-Pd: Likewise.
26528         * modules/unictype/category-Pe: Likewise.
26529         * modules/unictype/category-Pf: Likewise.
26530         * modules/unictype/category-Pi: Likewise.
26531         * modules/unictype/category-Po: Likewise.
26532         * modules/unictype/category-Ps: Likewise.
26533         * modules/unictype/category-S: Likewise.
26534         * modules/unictype/category-Sc: Likewise.
26535         * modules/unictype/category-Sk: Likewise.
26536         * modules/unictype/category-Sm: Likewise.
26537         * modules/unictype/category-So: Likewise.
26538         * modules/unictype/category-Z: Likewise.
26539         * modules/unictype/category-Zl: Likewise.
26540         * modules/unictype/category-Zp: Likewise.
26541         * modules/unictype/category-Zs: Likewise.
26542         * modules/unictype/category-and: Likewise.
26543         * modules/unictype/category-and-not: Likewise.
26544         * modules/unictype/category-byname: Likewise.
26545         * modules/unictype/category-name: Likewise.
26546         * modules/unictype/category-none: Likewise.
26547         * modules/unictype/category-of: Likewise.
26548         * modules/unictype/category-or: Likewise.
26549         * modules/unictype/category-test: Likewise.
26550         * modules/unictype/combining-class: Likewise.
26551         * modules/unictype/ctype-alnum: Likewise.
26552         * modules/unictype/ctype-alpha: Likewise.
26553         * modules/unictype/ctype-blank: Likewise.
26554         * modules/unictype/ctype-cntrl: Likewise.
26555         * modules/unictype/ctype-digit: Likewise.
26556         * modules/unictype/ctype-graph: Likewise.
26557         * modules/unictype/ctype-lower: Likewise.
26558         * modules/unictype/ctype-print: Likewise.
26559         * modules/unictype/ctype-punct: Likewise.
26560         * modules/unictype/ctype-space: Likewise.
26561         * modules/unictype/ctype-upper: Likewise.
26562         * modules/unictype/ctype-xdigit: Likewise.
26563         * modules/unictype/decimal-digit: Likewise.
26564         * modules/unictype/digit: Likewise.
26565         * modules/unictype/mirror: Likewise.
26566         * modules/unictype/numeric: Likewise.
26567         * modules/unictype/property-alphabetic: Likewise.
26568         * modules/unictype/property-ascii-hex-digit: Likewise.
26569         * modules/unictype/property-bidi-arabic-digit: Likewise.
26570         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
26571         * modules/unictype/property-bidi-block-separator: Likewise.
26572         * modules/unictype/property-bidi-boundary-neutral: Likewise.
26573         * modules/unictype/property-bidi-common-separator: Likewise.
26574         * modules/unictype/property-bidi-control: Likewise.
26575         * modules/unictype/property-bidi-embedding-or-override: Likewise.
26576         * modules/unictype/property-bidi-eur-num-separator: Likewise.
26577         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
26578         * modules/unictype/property-bidi-european-digit: Likewise.
26579         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
26580         * modules/unictype/property-bidi-left-to-right: Likewise.
26581         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
26582         * modules/unictype/property-bidi-other-neutral: Likewise.
26583         * modules/unictype/property-bidi-pdf: Likewise.
26584         * modules/unictype/property-bidi-segment-separator: Likewise.
26585         * modules/unictype/property-bidi-whitespace: Likewise.
26586         * modules/unictype/property-byname: Likewise.
26587         * modules/unictype/property-combining: Likewise.
26588         * modules/unictype/property-composite: Likewise.
26589         * modules/unictype/property-currency-symbol: Likewise.
26590         * modules/unictype/property-dash: Likewise.
26591         * modules/unictype/property-decimal-digit: Likewise.
26592         * modules/unictype/property-default-ignorable-code-point: Likewise.
26593         * modules/unictype/property-deprecated: Likewise.
26594         * modules/unictype/property-diacritic: Likewise.
26595         * modules/unictype/property-extender: Likewise.
26596         * modules/unictype/property-format-control: Likewise.
26597         * modules/unictype/property-grapheme-base: Likewise.
26598         * modules/unictype/property-grapheme-extend: Likewise.
26599         * modules/unictype/property-grapheme-link: Likewise.
26600         * modules/unictype/property-hex-digit: Likewise.
26601         * modules/unictype/property-hyphen: Likewise.
26602         * modules/unictype/property-id-continue: Likewise.
26603         * modules/unictype/property-id-start: Likewise.
26604         * modules/unictype/property-ideographic: Likewise.
26605         * modules/unictype/property-ids-binary-operator: Likewise.
26606         * modules/unictype/property-ids-trinary-operator: Likewise.
26607         * modules/unictype/property-ignorable-control: Likewise.
26608         * modules/unictype/property-iso-control: Likewise.
26609         * modules/unictype/property-join-control: Likewise.
26610         * modules/unictype/property-left-of-pair: Likewise.
26611         * modules/unictype/property-line-separator: Likewise.
26612         * modules/unictype/property-logical-order-exception: Likewise.
26613         * modules/unictype/property-lowercase: Likewise.
26614         * modules/unictype/property-math: Likewise.
26615         * modules/unictype/property-non-break: Likewise.
26616         * modules/unictype/property-not-a-character: Likewise.
26617         * modules/unictype/property-numeric: Likewise.
26618         * modules/unictype/property-other-alphabetic: Likewise.
26619         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
26620         * modules/unictype/property-other-grapheme-extend: Likewise.
26621         * modules/unictype/property-other-id-continue: Likewise.
26622         * modules/unictype/property-other-id-start: Likewise.
26623         * modules/unictype/property-other-lowercase: Likewise.
26624         * modules/unictype/property-other-math: Likewise.
26625         * modules/unictype/property-other-uppercase: Likewise.
26626         * modules/unictype/property-paired-punctuation: Likewise.
26627         * modules/unictype/property-paragraph-separator: Likewise.
26628         * modules/unictype/property-pattern-syntax: Likewise.
26629         * modules/unictype/property-pattern-white-space: Likewise.
26630         * modules/unictype/property-private-use: Likewise.
26631         * modules/unictype/property-punctuation: Likewise.
26632         * modules/unictype/property-quotation-mark: Likewise.
26633         * modules/unictype/property-radical: Likewise.
26634         * modules/unictype/property-sentence-terminal: Likewise.
26635         * modules/unictype/property-soft-dotted: Likewise.
26636         * modules/unictype/property-space: Likewise.
26637         * modules/unictype/property-terminal-punctuation: Likewise.
26638         * modules/unictype/property-test: Likewise.
26639         * modules/unictype/property-titlecase: Likewise.
26640         * modules/unictype/property-unassigned-code-value: Likewise.
26641         * modules/unictype/property-unified-ideograph: Likewise.
26642         * modules/unictype/property-uppercase: Likewise.
26643         * modules/unictype/property-variation-selector: Likewise.
26644         * modules/unictype/property-white-space: Likewise.
26645         * modules/unictype/property-xid-continue: Likewise.
26646         * modules/unictype/property-xid-start: Likewise.
26647         * modules/unictype/property-zero-width: Likewise.
26648         * modules/unictype/scripts: Likewise.
26649         * modules/unictype/syntax-c-ident: Likewise.
26650         * modules/unictype/syntax-c-whitespace: Likewise.
26651         * modules/unictype/syntax-java-ident: Likewise.
26652         * modules/unictype/syntax-java-whitespace: Likewise.
26653         * modules/unilbrk/u8-possible-linebreaks: Likewise.
26654         * modules/unilbrk/u8-width-linebreaks: Likewise.
26655         * modules/unilbrk/u16-possible-linebreaks: Likewise.
26656         * modules/unilbrk/u16-width-linebreaks: Likewise.
26657         * modules/unilbrk/u32-possible-linebreaks: Likewise.
26658         * modules/unilbrk/u32-width-linebreaks: Likewise.
26659         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
26660         * modules/unilbrk/ulc-width-linebreaks: Likewise.
26661         * modules/uniname/uniname: Likewise.
26662         * modules/uninorm/canonical-decomposition: Likewise.
26663         * modules/uninorm/composition: Likewise.
26664         * modules/uninorm/decomposing-form: Likewise.
26665         * modules/uninorm/decomposition: Likewise.
26666         * modules/uninorm/filter: Likewise.
26667         * modules/uninorm/nfc: Likewise.
26668         * modules/uninorm/nfd: Likewise.
26669         * modules/uninorm/nfkc: Likewise.
26670         * modules/uninorm/nfkd: Likewise.
26671         * modules/uninorm/u8-normalize: Likewise.
26672         * modules/uninorm/u8-normcmp: Likewise.
26673         * modules/uninorm/u8-normcoll: Likewise.
26674         * modules/uninorm/u8-normxfrm: Likewise.
26675         * modules/uninorm/u16-normalize: Likewise.
26676         * modules/uninorm/u16-normcmp: Likewise.
26677         * modules/uninorm/u16-normcoll: Likewise.
26678         * modules/uninorm/u16-normxfrm: Likewise.
26679         * modules/uninorm/u32-normalize: Likewise.
26680         * modules/uninorm/u32-normcmp: Likewise.
26681         * modules/uninorm/u32-normcoll: Likewise.
26682         * modules/uninorm/u32-normxfrm: Likewise.
26683         * modules/unistdio/u8-asnprintf: Likewise.
26684         * modules/unistdio/u8-asprintf: Likewise.
26685         * modules/unistdio/u8-snprintf: Likewise.
26686         * modules/unistdio/u8-sprintf: Likewise.
26687         * modules/unistdio/u8-u8-asnprintf: Likewise.
26688         * modules/unistdio/u8-u8-asprintf: Likewise.
26689         * modules/unistdio/u8-u8-snprintf: Likewise.
26690         * modules/unistdio/u8-u8-sprintf: Likewise.
26691         * modules/unistdio/u8-u8-vasnprintf: Likewise.
26692         * modules/unistdio/u8-u8-vasprintf: Likewise.
26693         * modules/unistdio/u8-u8-vsnprintf: Likewise.
26694         * modules/unistdio/u8-u8-vsprintf: Likewise.
26695         * modules/unistdio/u8-vasnprintf: Likewise.
26696         * modules/unistdio/u8-vasprintf: Likewise.
26697         * modules/unistdio/u8-vsnprintf: Likewise.
26698         * modules/unistdio/u8-vsprintf: Likewise.
26699         * modules/unistdio/u16-asnprintf: Likewise.
26700         * modules/unistdio/u16-asprintf: Likewise.
26701         * modules/unistdio/u16-snprintf: Likewise.
26702         * modules/unistdio/u16-sprintf: Likewise.
26703         * modules/unistdio/u16-u16-asnprintf: Likewise.
26704         * modules/unistdio/u16-u16-asprintf: Likewise.
26705         * modules/unistdio/u16-u16-snprintf: Likewise.
26706         * modules/unistdio/u16-u16-sprintf: Likewise.
26707         * modules/unistdio/u16-u16-vasnprintf: Likewise.
26708         * modules/unistdio/u16-u16-vasprintf: Likewise.
26709         * modules/unistdio/u16-u16-vsnprintf: Likewise.
26710         * modules/unistdio/u16-u16-vsprintf: Likewise.
26711         * modules/unistdio/u16-vasnprintf: Likewise.
26712         * modules/unistdio/u16-vasprintf: Likewise.
26713         * modules/unistdio/u16-vsnprintf: Likewise.
26714         * modules/unistdio/u16-vsprintf: Likewise.
26715         * modules/unistdio/u32-asnprintf: Likewise.
26716         * modules/unistdio/u32-asprintf: Likewise.
26717         * modules/unistdio/u32-snprintf: Likewise.
26718         * modules/unistdio/u32-sprintf: Likewise.
26719         * modules/unistdio/u32-u32-asnprintf: Likewise.
26720         * modules/unistdio/u32-u32-asprintf: Likewise.
26721         * modules/unistdio/u32-u32-snprintf: Likewise.
26722         * modules/unistdio/u32-u32-sprintf: Likewise.
26723         * modules/unistdio/u32-u32-vasnprintf: Likewise.
26724         * modules/unistdio/u32-u32-vasprintf: Likewise.
26725         * modules/unistdio/u32-u32-vsnprintf: Likewise.
26726         * modules/unistdio/u32-u32-vsprintf: Likewise.
26727         * modules/unistdio/u32-vasnprintf: Likewise.
26728         * modules/unistdio/u32-vasprintf: Likewise.
26729         * modules/unistdio/u32-vsnprintf: Likewise.
26730         * modules/unistdio/u32-vsprintf: Likewise.
26731         * modules/unistdio/ulc-asnprintf: Likewise.
26732         * modules/unistdio/ulc-asprintf: Likewise.
26733         * modules/unistdio/ulc-fprintf: Likewise.
26734         * modules/unistdio/ulc-snprintf: Likewise.
26735         * modules/unistdio/ulc-sprintf: Likewise.
26736         * modules/unistdio/ulc-vasnprintf: Likewise.
26737         * modules/unistdio/ulc-vasprintf: Likewise.
26738         * modules/unistdio/ulc-vfprintf: Likewise.
26739         * modules/unistdio/ulc-vsnprintf: Likewise.
26740         * modules/unistdio/ulc-vsprintf: Likewise.
26741         * modules/unistr/u8-check: Likewise.
26742         * modules/unistr/u8-chr: Likewise.
26743         * modules/unistr/u8-cmp: Likewise.
26744         * modules/unistr/u8-cmp2: Likewise.
26745         * modules/unistr/u8-cpy: Likewise.
26746         * modules/unistr/u8-cpy-alloc: Likewise.
26747         * modules/unistr/u8-endswith: Likewise.
26748         * modules/unistr/u8-mblen: Likewise.
26749         * modules/unistr/u8-mbsnlen: Likewise.
26750         * modules/unistr/u8-mbtouc: Likewise.
26751         * modules/unistr/u8-mbtouc-unsafe: Likewise.
26752         * modules/unistr/u8-mbtoucr: Likewise.
26753         * modules/unistr/u8-move: Likewise.
26754         * modules/unistr/u8-next: Likewise.
26755         * modules/unistr/u8-prev: Likewise.
26756         * modules/unistr/u8-set: Likewise.
26757         * modules/unistr/u8-startswith: Likewise.
26758         * modules/unistr/u8-stpcpy: Likewise.
26759         * modules/unistr/u8-stpncpy: Likewise.
26760         * modules/unistr/u8-strcat: Likewise.
26761         * modules/unistr/u8-strchr: Likewise.
26762         * modules/unistr/u8-strcmp: Likewise.
26763         * modules/unistr/u8-strcoll: Likewise.
26764         * modules/unistr/u8-strcpy: Likewise.
26765         * modules/unistr/u8-strcspn: Likewise.
26766         * modules/unistr/u8-strdup: Likewise.
26767         * modules/unistr/u8-strlen: Likewise.
26768         * modules/unistr/u8-strmblen: Likewise.
26769         * modules/unistr/u8-strmbtouc: Likewise.
26770         * modules/unistr/u8-strncat: Likewise.
26771         * modules/unistr/u8-strncmp: Likewise.
26772         * modules/unistr/u8-strncpy: Likewise.
26773         * modules/unistr/u8-strnlen: Likewise.
26774         * modules/unistr/u8-strpbrk: Likewise.
26775         * modules/unistr/u8-strrchr: Likewise.
26776         * modules/unistr/u8-strspn: Likewise.
26777         * modules/unistr/u8-strstr: Likewise.
26778         * modules/unistr/u8-strtok: Likewise.
26779         * modules/unistr/u8-to-u16: Likewise.
26780         * modules/unistr/u8-to-u32: Likewise.
26781         * modules/unistr/u8-uctomb: Likewise.
26782         * modules/unistr/u16-check: Likewise.
26783         * modules/unistr/u16-chr: Likewise.
26784         * modules/unistr/u16-cmp: Likewise.
26785         * modules/unistr/u16-cmp2: Likewise.
26786         * modules/unistr/u16-cpy: Likewise.
26787         * modules/unistr/u16-cpy-alloc: Likewise.
26788         * modules/unistr/u16-endswith: Likewise.
26789         * modules/unistr/u16-mblen: Likewise.
26790         * modules/unistr/u16-mbsnlen: Likewise.
26791         * modules/unistr/u16-mbtouc: Likewise.
26792         * modules/unistr/u16-mbtouc-unsafe: Likewise.
26793         * modules/unistr/u16-mbtoucr: Likewise.
26794         * modules/unistr/u16-move: Likewise.
26795         * modules/unistr/u16-next: Likewise.
26796         * modules/unistr/u16-prev: Likewise.
26797         * modules/unistr/u16-set: Likewise.
26798         * modules/unistr/u16-startswith: Likewise.
26799         * modules/unistr/u16-stpcpy: Likewise.
26800         * modules/unistr/u16-stpncpy: Likewise.
26801         * modules/unistr/u16-strcat: Likewise.
26802         * modules/unistr/u16-strchr: Likewise.
26803         * modules/unistr/u16-strcmp: Likewise.
26804         * modules/unistr/u16-strcoll: Likewise.
26805         * modules/unistr/u16-strcpy: Likewise.
26806         * modules/unistr/u16-strcspn: Likewise.
26807         * modules/unistr/u16-strdup: Likewise.
26808         * modules/unistr/u16-strlen: Likewise.
26809         * modules/unistr/u16-strmblen: Likewise.
26810         * modules/unistr/u16-strmbtouc: Likewise.
26811         * modules/unistr/u16-strncat: Likewise.
26812         * modules/unistr/u16-strncmp: Likewise.
26813         * modules/unistr/u16-strncpy: Likewise.
26814         * modules/unistr/u16-strnlen: Likewise.
26815         * modules/unistr/u16-strpbrk: Likewise.
26816         * modules/unistr/u16-strrchr: Likewise.
26817         * modules/unistr/u16-strspn: Likewise.
26818         * modules/unistr/u16-strstr: Likewise.
26819         * modules/unistr/u16-strtok: Likewise.
26820         * modules/unistr/u16-to-u32: Likewise.
26821         * modules/unistr/u16-to-u8: Likewise.
26822         * modules/unistr/u16-uctomb: Likewise.
26823         * modules/unistr/u32-check: Likewise.
26824         * modules/unistr/u32-chr: Likewise.
26825         * modules/unistr/u32-cmp: Likewise.
26826         * modules/unistr/u32-cmp2: Likewise.
26827         * modules/unistr/u32-cpy: Likewise.
26828         * modules/unistr/u32-cpy-alloc: Likewise.
26829         * modules/unistr/u32-endswith: Likewise.
26830         * modules/unistr/u32-mblen: Likewise.
26831         * modules/unistr/u32-mbsnlen: Likewise.
26832         * modules/unistr/u32-mbtouc: Likewise.
26833         * modules/unistr/u32-mbtouc-unsafe: Likewise.
26834         * modules/unistr/u32-mbtoucr: Likewise.
26835         * modules/unistr/u32-move: Likewise.
26836         * modules/unistr/u32-next: Likewise.
26837         * modules/unistr/u32-prev: Likewise.
26838         * modules/unistr/u32-set: Likewise.
26839         * modules/unistr/u32-startswith: Likewise.
26840         * modules/unistr/u32-stpcpy: Likewise.
26841         * modules/unistr/u32-stpncpy: Likewise.
26842         * modules/unistr/u32-strcat: Likewise.
26843         * modules/unistr/u32-strchr: Likewise.
26844         * modules/unistr/u32-strcmp: Likewise.
26845         * modules/unistr/u32-strcoll: Likewise.
26846         * modules/unistr/u32-strcpy: Likewise.
26847         * modules/unistr/u32-strcspn: Likewise.
26848         * modules/unistr/u32-strdup: Likewise.
26849         * modules/unistr/u32-strlen: Likewise.
26850         * modules/unistr/u32-strmblen: Likewise.
26851         * modules/unistr/u32-strmbtouc: Likewise.
26852         * modules/unistr/u32-strncat: Likewise.
26853         * modules/unistr/u32-strncmp: Likewise.
26854         * modules/unistr/u32-strncpy: Likewise.
26855         * modules/unistr/u32-strnlen: Likewise.
26856         * modules/unistr/u32-strpbrk: Likewise.
26857         * modules/unistr/u32-strrchr: Likewise.
26858         * modules/unistr/u32-strspn: Likewise.
26859         * modules/unistr/u32-strstr: Likewise.
26860         * modules/unistr/u32-strtok: Likewise.
26861         * modules/unistr/u32-to-u16: Likewise.
26862         * modules/unistr/u32-to-u8: Likewise.
26863         * modules/unistr/u32-uctomb: Likewise.
26864         * modules/uniwbrk/u8-wordbreaks: Likewise.
26865         * modules/uniwbrk/u16-wordbreaks: Likewise.
26866         * modules/uniwbrk/u32-wordbreaks: Likewise.
26867         * modules/uniwbrk/ulc-wordbreaks: Likewise.
26868         * modules/uniwbrk/wordbreak-property: Likewise.
26869         * modules/uniwidth/u8-strwidth: Likewise.
26870         * modules/uniwidth/u8-width: Likewise.
26871         * modules/uniwidth/u16-strwidth: Likewise.
26872         * modules/uniwidth/u16-width: Likewise.
26873         * modules/uniwidth/u32-strwidth: Likewise.
26874         * modules/uniwidth/u32-width: Likewise.
26875         * modules/uniwidth/width: Likewise.
26876         * modules/unicase/cased-tests (Makefile.am): Link all test programs
26877         with $(LIBUNISTRING).
26878         * modules/unicase/ignorable-tests: Likewise.
26879         * modules/unicase/locale-language-tests: Likewise.
26880         * modules/unicase/tolower-tests: Likewise.
26881         * modules/unicase/totitle-tests: Likewise.
26882         * modules/unicase/toupper-tests: Likewise.
26883         * modules/unicase/u8-casecmp-tests: Likewise.
26884         * modules/unicase/u8-casecoll-tests: Likewise.
26885         * modules/unicase/u8-casefold-tests: Likewise.
26886         * modules/unicase/u8-is-cased-tests: Likewise.
26887         * modules/unicase/u8-is-casefolded-tests: Likewise.
26888         * modules/unicase/u8-is-lowercase-tests: Likewise.
26889         * modules/unicase/u8-is-titlecase-tests: Likewise.
26890         * modules/unicase/u8-is-uppercase-tests: Likewise.
26891         * modules/unicase/u8-tolower-tests: Likewise.
26892         * modules/unicase/u8-totitle-tests: Likewise.
26893         * modules/unicase/u8-toupper-tests: Likewise.
26894         * modules/unicase/u16-casecmp-tests: Likewise.
26895         * modules/unicase/u16-casecoll-tests: Likewise.
26896         * modules/unicase/u16-casefold-tests: Likewise.
26897         * modules/unicase/u16-is-cased-tests: Likewise.
26898         * modules/unicase/u16-is-casefolded-tests: Likewise.
26899         * modules/unicase/u16-is-lowercase-tests: Likewise.
26900         * modules/unicase/u16-is-titlecase-tests: Likewise.
26901         * modules/unicase/u16-is-uppercase-tests: Likewise.
26902         * modules/unicase/u16-tolower-tests: Likewise.
26903         * modules/unicase/u16-totitle-tests: Likewise.
26904         * modules/unicase/u16-toupper-tests: Likewise.
26905         * modules/unicase/u32-casecmp-tests: Likewise.
26906         * modules/unicase/u32-casecoll-tests: Likewise.
26907         * modules/unicase/u32-casefold-tests: Likewise.
26908         * modules/unicase/u32-is-cased-tests: Likewise.
26909         * modules/unicase/u32-is-casefolded-tests: Likewise.
26910         * modules/unicase/u32-is-lowercase-tests: Likewise.
26911         * modules/unicase/u32-is-titlecase-tests: Likewise.
26912         * modules/unicase/u32-is-uppercase-tests: Likewise.
26913         * modules/unicase/u32-tolower-tests: Likewise.
26914         * modules/unicase/u32-totitle-tests: Likewise.
26915         * modules/unicase/u32-toupper-tests: Likewise.
26916         * modules/unicase/ulc-casecmp-tests: Likewise.
26917         * modules/unicase/ulc-casecoll-tests: Likewise.
26918         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
26919         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
26920         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
26921         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
26922         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
26923         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
26924         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
26925         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
26926         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
26927         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
26928         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
26929         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
26930         * modules/unictype/bidicategory-byname-tests: Likewise.
26931         * modules/unictype/bidicategory-name-tests: Likewise.
26932         * modules/unictype/bidicategory-of-tests: Likewise.
26933         * modules/unictype/bidicategory-test-tests: Likewise.
26934         * modules/unictype/block-list-tests: Likewise.
26935         * modules/unictype/block-of-tests: Likewise.
26936         * modules/unictype/block-test-tests: Likewise.
26937         * modules/unictype/category-C-tests: Likewise.
26938         * modules/unictype/category-Cc-tests: Likewise.
26939         * modules/unictype/category-Cf-tests: Likewise.
26940         * modules/unictype/category-Cn-tests: Likewise.
26941         * modules/unictype/category-Co-tests: Likewise.
26942         * modules/unictype/category-Cs-tests: Likewise.
26943         * modules/unictype/category-L-tests: Likewise.
26944         * modules/unictype/category-Ll-tests: Likewise.
26945         * modules/unictype/category-Lm-tests: Likewise.
26946         * modules/unictype/category-Lo-tests: Likewise.
26947         * modules/unictype/category-Lt-tests: Likewise.
26948         * modules/unictype/category-Lu-tests: Likewise.
26949         * modules/unictype/category-M-tests: Likewise.
26950         * modules/unictype/category-Mc-tests: Likewise.
26951         * modules/unictype/category-Me-tests: Likewise.
26952         * modules/unictype/category-Mn-tests: Likewise.
26953         * modules/unictype/category-N-tests: Likewise.
26954         * modules/unictype/category-Nd-tests: Likewise.
26955         * modules/unictype/category-Nl-tests: Likewise.
26956         * modules/unictype/category-No-tests: Likewise.
26957         * modules/unictype/category-P-tests: Likewise.
26958         * modules/unictype/category-Pc-tests: Likewise.
26959         * modules/unictype/category-Pd-tests: Likewise.
26960         * modules/unictype/category-Pe-tests: Likewise.
26961         * modules/unictype/category-Pf-tests: Likewise.
26962         * modules/unictype/category-Pi-tests: Likewise.
26963         * modules/unictype/category-Po-tests: Likewise.
26964         * modules/unictype/category-Ps-tests: Likewise.
26965         * modules/unictype/category-S-tests: Likewise.
26966         * modules/unictype/category-Sc-tests: Likewise.
26967         * modules/unictype/category-Sk-tests: Likewise.
26968         * modules/unictype/category-Sm-tests: Likewise.
26969         * modules/unictype/category-So-tests: Likewise.
26970         * modules/unictype/category-Z-tests: Likewise.
26971         * modules/unictype/category-Zl-tests: Likewise.
26972         * modules/unictype/category-Zp-tests: Likewise.
26973         * modules/unictype/category-Zs-tests: Likewise.
26974         * modules/unictype/category-and-not-tests: Likewise.
26975         * modules/unictype/category-and-tests: Likewise.
26976         * modules/unictype/category-byname-tests: Likewise.
26977         * modules/unictype/category-name-tests: Likewise.
26978         * modules/unictype/category-none-tests: Likewise.
26979         * modules/unictype/category-of-tests: Likewise.
26980         * modules/unictype/category-or-tests: Likewise.
26981         * modules/unictype/category-test-withtable-tests: Likewise.
26982         * modules/unictype/combining-class-tests: Likewise.
26983         * modules/unictype/ctype-alnum-tests: Likewise.
26984         * modules/unictype/ctype-alpha-tests: Likewise.
26985         * modules/unictype/ctype-blank-tests: Likewise.
26986         * modules/unictype/ctype-cntrl-tests: Likewise.
26987         * modules/unictype/ctype-digit-tests: Likewise.
26988         * modules/unictype/ctype-graph-tests: Likewise.
26989         * modules/unictype/ctype-lower-tests: Likewise.
26990         * modules/unictype/ctype-print-tests: Likewise.
26991         * modules/unictype/ctype-punct-tests: Likewise.
26992         * modules/unictype/ctype-space-tests: Likewise.
26993         * modules/unictype/ctype-upper-tests: Likewise.
26994         * modules/unictype/ctype-xdigit-tests: Likewise.
26995         * modules/unictype/decimal-digit-tests: Likewise.
26996         * modules/unictype/digit-tests: Likewise.
26997         * modules/unictype/mirror-tests: Likewise.
26998         * modules/unictype/numeric-tests: Likewise.
26999         * modules/unictype/property-alphabetic-tests: Likewise.
27000         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
27001         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
27002         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
27003         * modules/unictype/property-bidi-block-separator-tests: Likewise.
27004         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
27005         * modules/unictype/property-bidi-common-separator-tests: Likewise.
27006         * modules/unictype/property-bidi-control-tests: Likewise.
27007         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
27008         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
27009         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
27010         * modules/unictype/property-bidi-european-digit-tests: Likewise.
27011         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
27012         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
27013         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
27014         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
27015         * modules/unictype/property-bidi-pdf-tests: Likewise.
27016         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
27017         * modules/unictype/property-bidi-whitespace-tests: Likewise.
27018         * modules/unictype/property-byname-tests: Likewise.
27019         * modules/unictype/property-combining-tests: Likewise.
27020         * modules/unictype/property-composite-tests: Likewise.
27021         * modules/unictype/property-currency-symbol-tests: Likewise.
27022         * modules/unictype/property-dash-tests: Likewise.
27023         * modules/unictype/property-decimal-digit-tests: Likewise.
27024         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
27025         * modules/unictype/property-deprecated-tests: Likewise.
27026         * modules/unictype/property-diacritic-tests: Likewise.
27027         * modules/unictype/property-extender-tests: Likewise.
27028         * modules/unictype/property-format-control-tests: Likewise.
27029         * modules/unictype/property-grapheme-base-tests: Likewise.
27030         * modules/unictype/property-grapheme-extend-tests: Likewise.
27031         * modules/unictype/property-grapheme-link-tests: Likewise.
27032         * modules/unictype/property-hex-digit-tests: Likewise.
27033         * modules/unictype/property-hyphen-tests: Likewise.
27034         * modules/unictype/property-id-continue-tests: Likewise.
27035         * modules/unictype/property-id-start-tests: Likewise.
27036         * modules/unictype/property-ideographic-tests: Likewise.
27037         * modules/unictype/property-ids-binary-operator-tests: Likewise.
27038         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
27039         * modules/unictype/property-ignorable-control-tests: Likewise.
27040         * modules/unictype/property-iso-control-tests: Likewise.
27041         * modules/unictype/property-join-control-tests: Likewise.
27042         * modules/unictype/property-left-of-pair-tests: Likewise.
27043         * modules/unictype/property-line-separator-tests: Likewise.
27044         * modules/unictype/property-logical-order-exception-tests: Likewise.
27045         * modules/unictype/property-lowercase-tests: Likewise.
27046         * modules/unictype/property-math-tests: Likewise.
27047         * modules/unictype/property-non-break-tests: Likewise.
27048         * modules/unictype/property-not-a-character-tests: Likewise.
27049         * modules/unictype/property-numeric-tests: Likewise.
27050         * modules/unictype/property-other-alphabetic-tests: Likewise.
27051         * modules/unictype/property-other-default-ignorable-code-point-tests:
27052         Likewise.
27053         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
27054         * modules/unictype/property-other-id-continue-tests: Likewise.
27055         * modules/unictype/property-other-id-start-tests: Likewise.
27056         * modules/unictype/property-other-lowercase-tests: Likewise.
27057         * modules/unictype/property-other-math-tests: Likewise.
27058         * modules/unictype/property-other-uppercase-tests: Likewise.
27059         * modules/unictype/property-paired-punctuation-tests: Likewise.
27060         * modules/unictype/property-paragraph-separator-tests: Likewise.
27061         * modules/unictype/property-pattern-syntax-tests: Likewise.
27062         * modules/unictype/property-pattern-white-space-tests: Likewise.
27063         * modules/unictype/property-private-use-tests: Likewise.
27064         * modules/unictype/property-punctuation-tests: Likewise.
27065         * modules/unictype/property-quotation-mark-tests: Likewise.
27066         * modules/unictype/property-radical-tests: Likewise.
27067         * modules/unictype/property-sentence-terminal-tests: Likewise.
27068         * modules/unictype/property-soft-dotted-tests: Likewise.
27069         * modules/unictype/property-space-tests: Likewise.
27070         * modules/unictype/property-terminal-punctuation-tests: Likewise.
27071         * modules/unictype/property-test-tests: Likewise.
27072         * modules/unictype/property-titlecase-tests: Likewise.
27073         * modules/unictype/property-unassigned-code-value-tests: Likewise.
27074         * modules/unictype/property-unified-ideograph-tests: Likewise.
27075         * modules/unictype/property-uppercase-tests: Likewise.
27076         * modules/unictype/property-variation-selector-tests: Likewise.
27077         * modules/unictype/property-white-space-tests: Likewise.
27078         * modules/unictype/property-xid-continue-tests: Likewise.
27079         * modules/unictype/property-xid-start-tests: Likewise.
27080         * modules/unictype/property-zero-width-tests: Likewise.
27081         * modules/unictype/scripts-tests: Likewise.
27082         * modules/unictype/syntax-c-ident-tests: Likewise.
27083         * modules/unictype/syntax-c-whitespace-tests: Likewise.
27084         * modules/unictype/syntax-java-ident-tests: Likewise.
27085         * modules/unictype/syntax-java-whitespace-tests: Likewise.
27086         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
27087         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
27088         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
27089         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
27090         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
27091         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
27092         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
27093         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
27094         * modules/uniname/uniname-tests: Likewise.
27095         * modules/uninorm/canonical-decomposition-tests: Likewise.
27096         * modules/uninorm/compat-decomposition-tests: Likewise.
27097         * modules/uninorm/composition-tests: Likewise.
27098         * modules/uninorm/decomposing-form-tests: Likewise.
27099         * modules/uninorm/decomposition-tests: Likewise.
27100         * modules/uninorm/filter-tests: Likewise.
27101         * modules/uninorm/nfc-tests: Likewise.
27102         * modules/uninorm/nfd-tests: Likewise.
27103         * modules/uninorm/nfkc-tests: Likewise.
27104         * modules/uninorm/nfkd-tests: Likewise.
27105         * modules/uninorm/u8-normcmp-tests: Likewise.
27106         * modules/uninorm/u8-normcoll-tests: Likewise.
27107         * modules/uninorm/u16-normcmp-tests: Likewise.
27108         * modules/uninorm/u16-normcoll-tests: Likewise.
27109         * modules/uninorm/u32-normcmp-tests: Likewise.
27110         * modules/uninorm/u32-normcoll-tests: Likewise.
27111         * modules/unistdio/u8-asnprintf-tests: Likewise.
27112         * modules/unistdio/u8-vasnprintf-tests: Likewise.
27113         * modules/unistdio/u8-vasprintf-tests: Likewise.
27114         * modules/unistdio/u8-vsnprintf-tests: Likewise.
27115         * modules/unistdio/u8-vsprintf-tests: Likewise.
27116         * modules/unistdio/u16-asnprintf-tests: Likewise.
27117         * modules/unistdio/u16-vasnprintf-tests: Likewise.
27118         * modules/unistdio/u16-vasprintf-tests: Likewise.
27119         * modules/unistdio/u16-vsnprintf-tests: Likewise.
27120         * modules/unistdio/u16-vsprintf-tests: Likewise.
27121         * modules/unistdio/u32-asnprintf-tests: Likewise.
27122         * modules/unistdio/u32-vasnprintf-tests: Likewise.
27123         * modules/unistdio/u32-vasprintf-tests: Likewise.
27124         * modules/unistdio/u32-vsnprintf-tests: Likewise.
27125         * modules/unistdio/u32-vsprintf-tests: Likewise.
27126         * modules/unistdio/ulc-asnprintf-tests: Likewise.
27127         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
27128         * modules/unistdio/ulc-vasprintf-tests: Likewise.
27129         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
27130         * modules/unistdio/ulc-vsprintf-tests: Likewise.
27131         * modules/unistr/u8-check-tests: Likewise.
27132         * modules/unistr/u8-chr-tests: Likewise.
27133         * modules/unistr/u8-cmp-tests: Likewise.
27134         * modules/unistr/u8-cmp2-tests: Likewise.
27135         * modules/unistr/u8-cpy-alloc-tests: Likewise.
27136         * modules/unistr/u8-cpy-tests: Likewise.
27137         * modules/unistr/u8-mblen-tests: Likewise.
27138         * modules/unistr/u8-mbsnlen-tests: Likewise.
27139         * modules/unistr/u8-mbtouc-tests: Likewise.
27140         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
27141         * modules/unistr/u8-mbtoucr-tests: Likewise.
27142         * modules/unistr/u8-move-tests: Likewise.
27143         * modules/unistr/u8-next-tests: Likewise.
27144         * modules/unistr/u8-prev-tests: Likewise.
27145         * modules/unistr/u8-set-tests: Likewise.
27146         * modules/unistr/u8-stpcpy-tests: Likewise.
27147         * modules/unistr/u8-stpncpy-tests: Likewise.
27148         * modules/unistr/u8-strcat-tests: Likewise.
27149         * modules/unistr/u8-strcmp-tests: Likewise.
27150         * modules/unistr/u8-strcoll-tests: Likewise.
27151         * modules/unistr/u8-strcpy-tests: Likewise.
27152         * modules/unistr/u8-strdup-tests: Likewise.
27153         * modules/unistr/u8-strlen-tests: Likewise.
27154         * modules/unistr/u8-strmblen-tests: Likewise.
27155         * modules/unistr/u8-strmbtouc-tests: Likewise.
27156         * modules/unistr/u8-strncat-tests: Likewise.
27157         * modules/unistr/u8-strncmp-tests: Likewise.
27158         * modules/unistr/u8-strncpy-tests: Likewise.
27159         * modules/unistr/u8-strnlen-tests: Likewise.
27160         * modules/unistr/u8-to-u16-tests: Likewise.
27161         * modules/unistr/u8-to-u32-tests: Likewise.
27162         * modules/unistr/u8-uctomb-tests: Likewise.
27163         * modules/unistr/u16-check-tests: Likewise.
27164         * modules/unistr/u16-chr-tests: Likewise.
27165         * modules/unistr/u16-cmp-tests: Likewise.
27166         * modules/unistr/u16-cmp2-tests: Likewise.
27167         * modules/unistr/u16-cpy-alloc-tests: Likewise.
27168         * modules/unistr/u16-cpy-tests: Likewise.
27169         * modules/unistr/u16-mblen-tests: Likewise.
27170         * modules/unistr/u16-mbsnlen-tests: Likewise.
27171         * modules/unistr/u16-mbtouc-tests: Likewise.
27172         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
27173         * modules/unistr/u16-mbtoucr-tests: Likewise.
27174         * modules/unistr/u16-move-tests: Likewise.
27175         * modules/unistr/u16-next-tests: Likewise.
27176         * modules/unistr/u16-prev-tests: Likewise.
27177         * modules/unistr/u16-set-tests: Likewise.
27178         * modules/unistr/u16-stpcpy-tests: Likewise.
27179         * modules/unistr/u16-stpncpy-tests: Likewise.
27180         * modules/unistr/u16-strcat-tests: Likewise.
27181         * modules/unistr/u16-strcmp-tests: Likewise.
27182         * modules/unistr/u16-strcoll-tests: Likewise.
27183         * modules/unistr/u16-strcpy-tests: Likewise.
27184         * modules/unistr/u16-strdup-tests: Likewise.
27185         * modules/unistr/u16-strlen-tests: Likewise.
27186         * modules/unistr/u16-strmblen-tests: Likewise.
27187         * modules/unistr/u16-strmbtouc-tests: Likewise.
27188         * modules/unistr/u16-strncat-tests: Likewise.
27189         * modules/unistr/u16-strncmp-tests: Likewise.
27190         * modules/unistr/u16-strncpy-tests: Likewise.
27191         * modules/unistr/u16-strnlen-tests: Likewise.
27192         * modules/unistr/u16-to-u32-tests: Likewise.
27193         * modules/unistr/u16-to-u8-tests: Likewise.
27194         * modules/unistr/u16-uctomb-tests: Likewise.
27195         * modules/unistr/u32-check-tests: Likewise.
27196         * modules/unistr/u32-chr-tests: Likewise.
27197         * modules/unistr/u32-cmp-tests: Likewise.
27198         * modules/unistr/u32-cmp2-tests: Likewise.
27199         * modules/unistr/u32-cpy-alloc-tests: Likewise.
27200         * modules/unistr/u32-cpy-tests: Likewise.
27201         * modules/unistr/u32-mblen-tests: Likewise.
27202         * modules/unistr/u32-mbsnlen-tests: Likewise.
27203         * modules/unistr/u32-mbtouc-tests: Likewise.
27204         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
27205         * modules/unistr/u32-mbtoucr-tests: Likewise.
27206         * modules/unistr/u32-move-tests: Likewise.
27207         * modules/unistr/u32-next-tests: Likewise.
27208         * modules/unistr/u32-prev-tests: Likewise.
27209         * modules/unistr/u32-set-tests: Likewise.
27210         * modules/unistr/u32-stpcpy-tests: Likewise.
27211         * modules/unistr/u32-stpncpy-tests: Likewise.
27212         * modules/unistr/u32-strcat-tests: Likewise.
27213         * modules/unistr/u32-strcmp-tests: Likewise.
27214         * modules/unistr/u32-strcoll-tests: Likewise.
27215         * modules/unistr/u32-strcpy-tests: Likewise.
27216         * modules/unistr/u32-strdup-tests: Likewise.
27217         * modules/unistr/u32-strlen-tests: Likewise.
27218         * modules/unistr/u32-strmblen-tests: Likewise.
27219         * modules/unistr/u32-strmbtouc-tests: Likewise.
27220         * modules/unistr/u32-strncat-tests: Likewise.
27221         * modules/unistr/u32-strncmp-tests: Likewise.
27222         * modules/unistr/u32-strncpy-tests: Likewise.
27223         * modules/unistr/u32-strnlen-tests: Likewise.
27224         * modules/unistr/u32-to-u16-tests: Likewise.
27225         * modules/unistr/u32-to-u8-tests: Likewise.
27226         * modules/unistr/u32-uctomb-tests: Likewise.
27227         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
27228         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
27229         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
27230         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
27231         * modules/uniwidth/u8-strwidth-tests: Likewise.
27232         * modules/uniwidth/u8-width-tests: Likewise.
27233         * modules/uniwidth/u16-strwidth-tests: Likewise.
27234         * modules/uniwidth/u16-width-tests: Likewise.
27235         * modules/uniwidth/u32-strwidth-tests: Likewise.
27236         * modules/uniwidth/u32-width-tests: Likewise.
27237         * modules/uniwidth/width-tests: Likewise.
27238
27239 2010-05-18  Richard Jones  <rjones@redhat.com>
27240
27241         doc: users.txt: list hivex
27242         * users.txt: Add hivex.
27243
27244 2010-05-18  Richard Jones  <rjones@redhat.com>
27245
27246         doc: users.txt: list febootstrap
27247         * users.txt: Add febootstrap.
27248
27249 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
27250
27251         bootstrap: fix an error when gnulib is not used as a git submodule
27252         * build-aux/bootstrap (gnulib_path): If its length is zero then
27253         assign "gnulib" to it.
27254         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
27255
27256 2010-05-16  Bruno Haible  <bruno@clisp.org>
27257
27258         Avoid autoconf warnings about AM_ICONV.
27259         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
27260         2.64.
27261
27262 2010-05-16  Bruno Haible  <bruno@clisp.org>
27263
27264         absolute-header: Make the macro usable in more situations.
27265         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
27266         from gl_ABSOLUTE_HEADER.
27267         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
27268
27269 2010-05-16  James Youngman  <jay@gnu.org>
27270
27271         doc: update users.txt
27272         * users.txt: Add CSSC.
27273
27274 2010-05-16  Jim Meyering  <meyering@redhat.com>
27275
27276         init.sh: fix an error in the previous change; add more comments
27277         * tests/init.sh: Compare exit code in loop against 9, not 2.
27278         Patch by Bruno Haible.
27279         Make the two tests more similar by adding an empty "then" clause.
27280         Add comments.
27281
27282         init.sh: avoid unnecessary shell re-exec
27283         * tests/init.sh: Improve the re-exec-required check to first test the
27284         current shell.  If it passes the test, do not search for a shell that
27285         does pass, and do not re-exec.  This test is particularly contorted to
27286         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
27287         of $(...) evokes a syntax error and causes immediate shell exit with
27288         status 2.  Bruno Haible reported that the re-exec made it impossible
27289         to single-step through any init.sh-using script.
27290
27291 2010-05-16  Bruno Haible  <bruno@clisp.org>
27292
27293         Fix collision between gnulib's and libintl's printf replacements.
27294         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
27295         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
27296         (printf): When using GNU C, map the __printf__ function to rpl_printf
27297         via __asm__. When not using GNU C, define rpl_printf instead of
27298         __printf__.
27299         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
27300         commit.
27301         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
27302         commit.
27303         * m4/asm-underscore.m4: New file.
27304         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
27305         * modules/stdio (Files): Add m4/asm-underscore.m4.
27306         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
27307         Reported by Ben Pfaff.
27308
27309 2010-05-16  Bruno Haible  <bruno@clisp.org>
27310
27311         verify: Avoid skipping the test on openSUSE 11.0.
27312         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
27313
27314 2010-05-13  Bruno Haible  <bruno@clisp.org>
27315
27316         Avoid useless warnings from G++.
27317         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
27318         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
27319         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
27320
27321 2010-05-11  Jim Meyering  <meyering@redhat.com>
27322
27323         maint.mk: tweak preceding change
27324         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
27325         regexps tighter by anchoring at EOL, and make the new group "shy"
27326         for slightly decreased overhead.
27327
27328 2010-05-11  Eric Blake  <eblake@redhat.com>
27329
27330         maint.mk: gnulib doesn't guarantee NSIG
27331         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
27332
27333 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27334
27335         test-pwrite.c: Remove unused variable declaration.
27336         * tests/test-pwrite.c (main): Remove read_buf declaration.
27337
27338         Remove useless test-pwrite.sh file.
27339         * tests/test-pwrite.sh: Delete file.
27340         * modules/pwrite-tests: Remove references.
27341         Reported by Bruno Haible.
27342
27343 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
27344
27345         init.sh: fix a typo
27346         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
27347
27348 2010-05-10  Jim Meyering  <meyering@redhat.com>
27349
27350         maint.mk: avoid using a temporary file in the always-defined-macros check
27351         * top/maint.mk (.re-defmac): Remove rule.
27352         (gl_trap_): Remove definition.
27353         (sc_prohibit_always-defined_macros): Rewrite not to create and
27354         depend on a temporary file.  Instead, depend on GNU grep's ability
27355         to read a list of regular expressions from stdin when given "-f -".
27356
27357 2010-05-09  Bruno Haible  <bruno@clisp.org>
27358
27359         Update to GNU gettext 0.18, part 1.
27360         * m4/gettext.m4: Update to GNU gettext 0.18.
27361         * m4/intl.m4: Likewise.
27362         * m4/po.m4: Likewise.
27363         * modules/gettext (Files): Add m4/fcntl-o.m4.
27364         (configure.ac): Require gettext infrastructure from version 0.18.
27365
27366 2010-05-09  Jim Meyering  <meyering@redhat.com>
27367
27368         init.sh: enable MALLOC_PERTURB_
27369         * tests/init.sh: Enable glibc's malloc-perturbing option.
27370
27371         maint.mk: improve sc_cross_check_PATH_usage_in_tests
27372         With my recent change in init.sh from the two-line form:
27373             -#   : ${srcdir=.}
27374             -#   . "$srcdir/init.sh"; path_prepend_ .
27375             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
27376         I noticed that using the one-line form would cause this test
27377         to fail with a false-positive, or to stop working altogether,
27378         depending on whether help-version changed or all the tests did.
27379         * top/maint.mk (_hv_regex): Remove this definition.
27380         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
27381         (_hv_regex_strong): Use a stronger regex to check for conformance.
27382         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
27383         Give a separate diagnostic for lack of conforming use.
27384
27385         maint.mk: prohibit definition of symbols defined by gnulib
27386         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
27387         definition of symbols defined by gnulib.
27388
27389 2010-05-09  Bruno Haible  <bruno@clisp.org>
27390
27391         acl: Avoid test failure on Cygwin-hosted mingw.
27392         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
27393
27394 2010-05-09  Bruno Haible  <bruno@clisp.org>
27395
27396         error: Use system's fcntl function.
27397         * lib/error.c (fcntl): Undefine.
27398
27399 2010-05-09  Jim Meyering  <meyering@redhat.com>
27400
27401         verify: adjust formatting to be more consistent
27402         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
27403         argument-list '('s, and after one comma.
27404
27405 2010-05-09  Bruno Haible  <bruno@clisp.org>
27406
27407         error: More reliable output on mingw.
27408         * lib/error.c: Include <windows.h>.
27409         (is_open): New function.
27410         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
27411         defined.
27412
27413 2010-05-09  Bruno Haible  <bruno@clisp.org>
27414
27415         vasnprintf: Fix syntax errors in libintl build on mingw.
27416         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
27417         pad_ourselves and prec_ourselves after use.
27418
27419 2010-05-08  Bruno Haible  <bruno@clisp.org>
27420
27421         * lib/config.charset: Update comments for Cygwin 1.7.
27422         * lib/localcharset.c: Likewise.
27423
27424 2010-05-07  Jim Meyering  <meyering@redhat.com>
27425
27426         init.sh: improve comments
27427         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
27428         . "${srcdir=.}/init.sh"; path_prepend_ .
27429         Add a note about path_prepend_ and the alternative of using
27430         TESTS_ENVIRONMENT.
27431
27432 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
27433
27434         exclude: Unescape hashed patterns in wildcard mode.
27435         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
27436         to the hash list.
27437         * tests/test-exclude8.sh: New test case.
27438         * modules/exclude-tests: Add new test.
27439
27440 2010-05-05  Eric Blake  <eblake@redhat.com>
27441
27442         verify: automate tests
27443         * modules/verify-tests: New module.
27444         * tests/test-verify.sh: New file.
27445         * tests/test-verify.c: Guard each negative test with a unique id.
27446         Also avoid warning about unused left hand of comma expressions.
27447
27448 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
27449
27450         Further improvements to verify.h, suggested by Eric Blake.
27451         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
27452         the GL_* versions, to avoid collision with OpenGL.
27453         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
27454         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
27455         than testing merely whether it's defined.
27456
27457         Modify verify.h to pacify gcc -Wredundant_decls.
27458         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
27459         These use the prefix "GL_" since they're likely to be useful elsewhere.
27460         We may need to break them out into a different .h file.
27461         (__COUNTER__): Define to 0 if the compiler doesn't support it.
27462         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
27463         of verify_function__.
27464
27465 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27466
27467         Tests for module pwrite.
27468         * modules/pwrite-tests: New file.
27469         * tests/test-pwrite.sh: New file.
27470         * tests/test-pwrite.c: New file.
27471
27472         New module pwrite.
27473         * lib/unistd.in.h (pwrite): New declaration.
27474         * lib/pwrite.c: New file, from glibc with modifications.
27475         * m4/pwrite.m4: New file.
27476         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
27477         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
27478         REPLACE_PWRITE.
27479         * modules/pwrite: New file.
27480         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
27481         REPLACE_PWRITE.
27482         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
27483         * doc/posix-functions/pwrite.texi: Mention the new module.
27484
27485 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
27486
27487         pread: Update documentation.
27488         * doc/posix-functions/pread.texi: Mention the 'pread' module.
27489
27490 2010-05-04  Eric Blake  <eblake@redhat.com>
27491
27492         docs: update cygwin progress
27493         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
27494         this bug.
27495         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
27496         Added in cygwin 1.7.2.
27497         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
27498         Likewise.
27499         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
27500         Likewise.
27501         * doc/glibc-functions/dup3.texi (dup3): Likewise.
27502         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
27503         * doc/glibc-functions/accept4.texi (accept4): Likewise.
27504         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
27505         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
27506         Mention nproc module.
27507         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
27508         bug in cygwin 1.7.5 addition.
27509         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
27510         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
27511         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
27512         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
27513         1.7.5.
27514         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
27515         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
27516         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
27517         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
27518         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
27519         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
27520         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
27521         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
27522         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
27523         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
27524         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
27525         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
27526         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
27527         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
27528         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
27529         Likewise.
27530         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
27531         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
27532         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
27533         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
27534         Likewise.
27535         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
27536         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
27537         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
27538         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
27539         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
27540         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
27541         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
27542         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
27543         Likewise.
27544         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
27545         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
27546         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
27547         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
27548         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
27549         Likewise.
27550         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
27551         Likewise.
27552         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
27553         Likewise.
27554         * doc/glibc-functions/xdrrec_endofrecord.texi
27555         (xdrrec_endofrecord): Likewise.
27556         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
27557         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
27558         Likewise.
27559         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
27560         Likewise.
27561
27562 2010-05-04  Jim Meyering  <meyering@redhat.com>
27563
27564         gendocs.sh: make its "-s FILE" option more useful
27565         * build-aux/gendocs.sh: When honoring the -s FILE option, update
27566         $PACKAGE to reflect the probably-different basename of "FILE".
27567
27568 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
27569
27570         bootstrap: don't ignore download_po_files failure
27571         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
27572         failure.
27573
27574 2010-05-03  Jim Meyering  <meyering@redhat.com>
27575
27576         maint.mk: allow to pass options to gendocs.sh
27577         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
27578         (gendocs_options_): New overridable variable.
27579
27580         gnu-web-doc-update: don't ignore configure or build failure
27581         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
27582
27583         announce-gen: backslash-escape '@'s in --help output
27584         * build-aux/announce-gen: Fix syntax errors.
27585
27586         maint.mk, announce-gen: allow project-specific announcement mail headers
27587         * top/maint.mk (translation_project_): Define default.
27588         (announcement_Cc_, announcement_mail_headers_): Likewise.
27589         (announcement): Invoke announce-gen with new --mail-headers option.
27590         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
27591
27592         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
27593         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
27594         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
27595         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
27596         line in the "err2" output file when running "make check" in verbose
27597         mode (i.e., with set -x enabled).
27598
27599 2010-05-03  Bruno Haible  <bruno@clisp.org>
27600
27601         wctob: Fix for weird platforms.
27602         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
27603         argument value.
27604
27605 2010-05-03  Jim Meyering  <meyering@redhat.com>
27606
27607         maint.mk: prohibit unwarranted use of <strings.h>
27608         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
27609         strings.h in a file that does not also use strcasecmp, strncasecmp,
27610         ffs or ffsll.
27611
27612         maint.mk: remove obsolete comments
27613         * top/maint.mk: Remove stale, commented-out rules.
27614
27615 2010-05-02  Bruno Haible  <bruno@clisp.org>
27616
27617         wcwidth: Declare also when it's aliased.
27618         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
27619         macro.
27620
27621 2010-05-02  Bruno Haible  <bruno@clisp.org>
27622
27623         Fix regression from 2010-04-25.
27624         * gnulib-tool (func_modules_transitive_closure): Check the status of
27625         all modules, not only of the tests that are of the form foo-tests where
27626         foo is a module.
27627
27628 2010-05-02  Bruno Haible  <bruno@clisp.org>
27629
27630         wctob: Work around nasty Cygwin 1.7.2 bug.
27631         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
27632         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
27633
27634 2010-05-01  Bruno Haible  <bruno@clisp.org>
27635
27636         fpurge: Sharper test.
27637         * tests/test-fpurge.c (main): Add one more ftell check.
27638         * modules/fpurge-tests (Depends-on): Add ftell.
27639         Suggested by Eric Blake.
27640
27641 2010-05-01  Bruno Haible  <bruno@clisp.org>
27642
27643         ftello: Another test.
27644         * tests/test-ftello3.c: New file.
27645         * modules/ftello-tests (Files): Add it.
27646         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
27647         MOSTLYCLEANFILES.
27648
27649         ftell: Another test.
27650         * tests/test-ftell3.c: New file.
27651         * modules/ftell-tests (Files): Add it.
27652         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
27653         MOSTLYCLEANFILES.
27654
27655 2010-05-01  Bruno Haible  <bruno@clisp.org>
27656
27657         ftell, ftello: Work around Solaris bug.
27658         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
27659         * lib/ftello.c: Include stdio-impl.h.
27660         (ftello): On Solaris, when _IOWRT is set, compute the result without
27661         looking at _IOREAD.
27662         * modules/ftello (Files): Add lib/stdio-impl.h.
27663         * doc/posix-functions/ftell.texi: Mention Solaris bug.
27664         * doc/posix-functions/ftello.texi: Likewise.
27665         Reported by Eric Blake.
27666
27667 2010-05-01  Bruno Haible  <bruno@clisp.org>
27668
27669         freading: Adapt to special meaning of _IOREAD flag on Solaris.
27670         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
27671         the _IOWRT flag is also set.
27672
27673 2010-05-01  Bruno Haible  <bruno@clisp.org>
27674
27675         Fix doc about a HP-UX stdio bug.
27676         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
27677         * doc/posix-functions/ftello.texi: Likewise.
27678
27679 2010-05-01  Bruno Haible  <bruno@clisp.org>
27680
27681         lseek test: Fix failure on Solaris.
27682         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
27683         output.
27684
27685 2010-04-30  Jim Meyering  <meyering@redhat.com>
27686
27687         bootstrap: don't ignore failure to generate po*/Makevars
27688         * build-aux/bootstrap (with_gettext): Don't ignore failure
27689         to create po/Makevars or runtime-po/Makevars.
27690
27691 2010-04-29  Eric Blake  <eblake@redhat.com>
27692
27693         headers: relax license to LGPLv2+
27694         * modules/fcntl-h (License): Relax license.
27695         * modules/getopt-posix (License): Likewise.
27696         * modules/locale (License): Likewise.
27697         * modules/math (License): Likewise.
27698         * modules/pty (License): Likewise.
27699         * modules/sched (License): Likewise.
27700         * modules/search (License): Likewise.
27701         * modules/spawn (License): Likewise.
27702         * modules/stdarg (License): Likewise.
27703         * modules/sysexits (License): Likewise.
27704
27705 2010-04-29  Jim Meyering  <meyering@redhat.com>
27706
27707         inttypes: relax license to LGPLv2+
27708         * modules/inttypes (License): Relax license.
27709
27710 2010-04-29  Simon Josefsson  <simon@josefsson.org>
27711
27712         * top/maint.mk (indent): Run twice to produce idempotent results.
27713
27714 2010-04-28  Bruno Haible  <bruno@clisp.org>
27715
27716         getdate: Generate getdate.c in the source directory.
27717         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
27718         MOSTLYCLEANFILES.
27719         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
27720
27721 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
27722
27723         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
27724         is not declared as a const *; avoid warnings in that case.
27725
27726 2010-04-28  Eric Blake  <eblake@redhat.com>
27727
27728         canonicalize-lgpl: avoid compiler warning
27729         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
27730         declaration' / 'extraneous semicolon' warning with some compilers.
27731         Reported by Andreas Gruenbacher.
27732
27733 2010-04-28  Jim Meyering  <meyering@redhat.com>
27734
27735         init.sh: ensure a more reliable exit status when exiting via trap
27736         * tests/init.sh (setup_): Don't rely on $? in signal handler.
27737         Inspired by patches from Dmitry V. Levin.
27738         Also trap on signal 3 (SIGQUIT).
27739
27740 2010-04-27  Bruno Haible  <bruno@clisp.org>
27741
27742         Update doc about utimes().
27743         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
27744         'utimens' module.
27745         Reported by Andreas Gruenbacher <agruen@suse.de>.
27746
27747 2010-04-27  Eric Blake  <eblake@redhat.com>
27748
27749         full-read, full-write: relax license
27750         * modules/full-read (License): Drop to LGPLv2+.
27751         * modules/full-write (License): Likewise.
27752         * modules/safe-read (License): Likewise.
27753         * modules/safe-write (License): Likewise.
27754
27755         pthread: mention library for linking
27756         * modules/pthread (Link): Mention $(LIB_PTHREAD).
27757
27758 2010-04-27  Jim Meyering  <meyering@redhat.com>
27759
27760         maint.mk: fix a bug introduced in last change
27761         * top/maint.mk (gl_assured_headers_): Now that all names are on
27762         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
27763         is not anchored to end of word, it should be adequate.
27764
27765         maint.mk: avoid side-effect in latest syntax-check
27766         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
27767         to run commands via $(shell...), and hence to incur cost only when
27768         the new rule is actually run.
27769
27770         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
27771         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
27772         and use that to create a regexp used to detect all #if HAVE_..._H uses.
27773         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
27774         (gl_assured_headers_, az_, AZ_): Define.
27775         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
27776
27777 2010-04-26  Jim Meyering  <jim@meyering.net>
27778             Bruno Haible  <bruno@clisp.org>
27779
27780         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
27781         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
27782         Prompted by an exchange with Gilles Espinasse.
27783
27784 2010-04-26  Jim Meyering  <meyering@redhat.com>
27785
27786         git-version-gen: aesthetic tweak
27787         * build-aux/git-version-gen: Use "$nl" rather than a literal,
27788         so that the command remains on a single line.
27789
27790 2010-04-26  Eric Blake  <eblake@redhat.com>
27791
27792         git-version-gen: allow use on EBCDIC hosts
27793         * build-aux/git-version-gen (dirty): Use literal rather than tying
27794         ourselves to ascii.
27795         Reported by Steve Goetze.
27796
27797 2010-04-25  Bruno Haible  <bruno@clisp.org>
27798
27799         netdb: Add support for GNULIB_POSIXCHECK.
27800         * lib/netdb.in.h: Include warn-on-use.h.
27801         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
27802         functions are used when GNULIB_POSIXCHECK is defined and the
27803         getaddrinfo module is not in use.
27804         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
27805         freeaddrinfo, gai_strerror, getnameinfo are declared.
27806         * modules/netdb (Depends-on): Add warn-on-use.
27807         (Makefile.am): Include warn-on-use.h in netdb.h.
27808
27809 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
27810
27811         build: avoid "make check" failure without .git/ directory
27812         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
27813         there is no .git/ directory.
27814
27815 2010-04-25  Bruno Haible  <bruno@clisp.org>
27816
27817         ptsname: Fix misuse of ttyname_r.
27818         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
27819         of errno.
27820
27821 2010-04-25  Bruno Haible  <bruno@clisp.org>
27822
27823         ttyname_r: Make it work on Solaris 10.
27824         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
27825         if the system function has the POSIX declaration. Test whether the
27826         function fails if the buffer is less than 128 bytes large.
27827         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
27828         system's ttyname_r function. Provide a reasonably large buffer.
27829         * modules/ttyname_r (Depends-on): Add extensions.
27830         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
27831
27832 2010-04-25  Bruno Haible  <bruno@clisp.org>
27833
27834         Use the 'extensions' module for some more functions on Solaris.
27835         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
27836         module.
27837         * doc/posix-functions/ctime_r.texi: Likewise.
27838         * doc/posix-functions/getgrgid_r.texi: Likewise.
27839         * doc/posix-functions/getgrnam_r.texi: Likewise.
27840         * doc/posix-functions/getpwnam_r.texi: Likewise.
27841         * doc/posix-functions/getpwuid_r.texi: Likewise.
27842         * doc/posix-functions/readdir_r.texi: Likewise.
27843         * doc/posix-functions/sigwait.texi: Likewise.
27844         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
27845         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
27846
27847 2010-04-25  Bruno Haible  <bruno@clisp.org>
27848
27849         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
27850         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
27851         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
27852         * lib/ttyname_r.c: Include <limits.h>.
27853         (ttyname_r): Define using the system's ttyname_r function, if it exists
27854         and not on Solaris.
27855         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
27856         set.
27857         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
27858         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
27859         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
27860         Reported by Simon Josefsson.
27861
27862 2010-04-25  Bruno Haible  <bruno@clisp.org>
27863
27864         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
27865         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
27866         * doc/posix-functions/ctime_r.texi: Likewise.
27867         * doc/posix-functions/getgrgid_r.texi: Likewise.
27868         * doc/posix-functions/getgrnam_r.texi: Likewise.
27869         * doc/posix-functions/getlogin_r.texi: Likewise.
27870         * doc/posix-functions/getpwnam_r.texi: Likewise.
27871         * doc/posix-functions/getpwuid_r.texi: Likewise.
27872         * doc/posix-functions/readdir_r.texi: Likewise.
27873         * doc/posix-functions/sigwait.texi: Likewise.
27874         * doc/posix-functions/ttyname_r.texi: Likewise.
27875         Reported by Simon Josefsson.
27876
27877 2010-04-25  Bruno Haible  <bruno@clisp.org>
27878
27879         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
27880         * gnulib-tool (func_usage): Document that --with-*-tests options apply
27881         also to --create-testdir.
27882         (func_acceptable): Don't consider the status of *-tests modules here.
27883         (func_modules_transitive_closure): Consider it here, before including a
27884         test module.
27885         (func_import, func_create_testdir): Set inc_all_direct_tests,
27886         inc_all_indirect_tests.
27887         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
27888         --create-testdir and --create-megatestdir.
27889
27890 2010-04-25  Bruno Haible  <bruno@clisp.org>
27891
27892         gnulib-tool: Add --without-*-tests options.
27893         * gnulib-tool (func_usage): Document the --without-*-tests options.
27894         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
27895         excl_unportable_tests): New variables.
27896         Fail if they are specified with --import or --update.
27897         (func_acceptable): Respect the excl_*_tests variables.
27898         (func_import): Set the excl_*_tests variables to empty.
27899
27900 2010-04-25  Simon Josefsson  <simon@josefsson.org>
27901             Bruno Haible  <bruno@clisp.org>
27902
27903         Work around a MacOS X 10.4 bug with openpty.
27904         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
27905         * tests/test-openpty.c (main): Close the master side explicitly.
27906
27907 2010-04-25  Bruno Haible  <bruno@clisp.org>
27908
27909         strnlen: Fix a C++ test error on MacOS X and Solaris.
27910         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
27911         the function is not declared.
27912         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
27913         Simon Josefsson.
27914
27915 2010-04-24  Bruno Haible  <bruno@clisp.org>
27916
27917         Avoid a gcc warning.
27918         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
27919         of correct type for %08lx directive.
27920         Reported by Eric Blake.
27921
27922 2010-04-24  Bruno Haible  <bruno@clisp.org>
27923
27924         vasnprintf: Correct errno value in case of out-of-memory.
27925         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
27926         or sprintf. Use the errno value from SNPRINTF or sprintf.
27927         Reported by Ian Beckwith <ianb@erislabs.net>.
27928
27929 2010-04-24  Bruno Haible  <bruno@clisp.org>
27930
27931         ansi-c++-opt: Find correct compiler when cross-compiling.
27932         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
27933         AC_CHECK_PROGS.
27934         Reported by Simon Josefsson.
27935
27936 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
27937
27938         vc-list-files: Add support for subversion
27939         * build-aux/vc-list-files: Use "svn list" to generate the list of
27940         files controlled by subversion.
27941
27942 2010-04-23  Jim Meyering  <meyering@redhat.com>
27943
27944         vc-list-files tests: convert to use init.sh
27945         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
27946         path_prepend_.
27947         Use Exit, not exit.
27948         Use skip_ rather than open coding it.
27949         Remove trap set-up and compare definitions.
27950         * tests/test-vc-list-files-git.sh: Likewise.
27951         * modules/vc-list-files-tests (Files): Add tests/init.sh.
27952
27953 2010-04-22  Simon Josefsson  <simon@josefsson.org>
27954
27955         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
27956         backup files.
27957
27958 2010-04-21  Simon Josefsson  <simon@josefsson.org>
27959
27960         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
27961
27962 2010-04-20  Eric Blake  <eblake@redhat.com>
27963
27964         tests: be robust to ignored SIGPIPE
27965         * tests/test-select-in.sh: Consume all output.
27966         * tests/test-lseek.sh: Check correct exit status, while avoiding
27967         EPIPE.
27968
27969 2010-04-20  Simon Josefsson  <simon@josefsson.org>
27970             Bruno Haible  <bruno@clisp.org>
27971
27972         visibility: Don't use -fvisibility if it leads to a warning.
27973         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
27974         yes, don't pretend that visibility works if it leads to a warning.
27975         Reported by Mike Gran <spk121@yahoo.com>.
27976
27977 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
27978
27979         * build-aux/bootstrap: Use "git -h" for testing for supported options
27980         instead of "git --help".  The short-form option only shows a summary,
27981         and doesn't layout the full man page.  Grep for the full option name
27982         in the summary, too.
27983
27984 2010-04-19  Bruno Haible  <bruno@clisp.org>
27985
27986         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
27987         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
27988         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
27989         mention of RELOCATABLE_STRIP.
27990         Reported by Sylvain Beucler <beuc@beuc.net>.
27991
27992 2010-04-19  Bruno Haible  <bruno@clisp.org>
27993
27994         * lib/diffseq.h: Fix typo in comment.
27995         Reported by Eric Blake.
27996
27997 2010-04-19  Bruno Haible  <bruno@clisp.org>
27998
27999         ioctl: Move autoconf macro to a .m4 file.
28000         * m4/ioctl.m4: New file, extracted from modules/ioctl.
28001         * modules/ioctl (Files): Add it.
28002         (configure.ac): Simply invoke gl_FUNC_IOCTL.
28003         Reported by Ian Beckwith <ianb@erislabs.net>.
28004
28005 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
28006             Bruno Haible  <bruno@clisp.org>
28007
28008         diffseq: Accommodate use-case with abstract arrays.
28009         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
28010         is not defined.
28011         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
28012         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
28013
28014 2010-04-18  Bruno Haible  <bruno@clisp.org>
28015
28016         * doc/posix-headers/stdbool.texi: More precise wording.
28017
28018 2010-04-17  Jim Meyering  <meyering@redhat.com>
28019
28020         maint.mk: use gnu-style indentation in an embedded perl script
28021         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
28022         Rename variable: s/two/last_two_bytes/
28023
28024 2010-04-16  Eric Blake  <eblake@redhat.com>
28025
28026         test-stdbool: skip test that fails with Solaris CC
28027         * tests/test-stdbool.c (f): Skip test that causes compilation
28028         error under buggy C++ compiler.
28029         * lib/stdbool.in.h: Document the limitation.
28030         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
28031
28032         setenv: allow compilation with C++
28033         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
28034         register keyword.
28035
28036         stdint: allow test to pass with C++
28037         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
28038
28039         getopt: allow compilation with C++
28040         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
28041         struct.
28042         * lib/getopt.c (_getopt_internal_r): Use correct type.
28043         Reported by Dagobert Michelson, via Joel E. Denny.
28044
28045 2010-04-16  Bruno Haible  <bruno@clisp.org>
28046
28047         Override netdb.h always.
28048         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
28049         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
28050         Reported by Ludovic Courtès <ludo@gnu.org>.
28051
28052 2010-04-15  Bruno Haible  <bruno@clisp.org>
28053
28054         openpty: Fix mistake from 2010-03-21.
28055         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
28056         Reported by Simon Josefsson.
28057
28058 2010-04-15  Eric Blake  <eblake@redhat.com>
28059
28060         test-forkpty: fix expected signature
28061         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
28062         Reported by Simon Josefsson.
28063
28064 2010-04-15  Jim Meyering  <meyering@redhat.com>
28065
28066         maint.mk: texinfo_suffix_re_: correct the default regexp
28067         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
28068
28069         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
28070         make it configurable via texinfo_suffix_re_.
28071
28072 2010-04-14  Eric Blake  <eblake@redhat.com>
28073
28074         strtok_r: relax license to LGPLv2+
28075         * modules/strtok_r (License): Relax license.
28076         Reported by Matthias Bolte.
28077
28078 2010-04-14  Simon Josefsson  <simon@josefsson.org>
28079
28080         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
28081         version 1.4.4 by default instead of requiring the libgcrypt
28082         version used during build.  This makes it possible to use the
28083         application with older but still binary compatible libgcrypt
28084         versions.
28085
28086 2010-04-13  Eric Blake  <eblake@redhat.com>
28087
28088         getopt-gnu: match recent glibc fixes and posix ruling
28089         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
28090         '+' handling, when requesting extensions.
28091         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
28092         'W;' handling.
28093         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
28094         * doc/posix-functions/getopt.texi (getopt): Document this.
28095         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28096         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28097         Likewise.
28098
28099         getopt: merge bug fixes from glibc
28100         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
28101         diagnostics.  Honor '+:' correctly.  Reject ';'.
28102
28103         getopt-posix: detect MacOS bug
28104         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
28105         optind when missing a required argument.
28106         * doc/posix-functions/getopt.texi (getopt): Document the bug.
28107         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
28108         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
28109         Likewise.
28110
28111         getopt-posix: avoid spurious failure on Solaris
28112         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
28113         an indicator that setting optind=1 is sufficient for reset.
28114
28115         getopt-posix: avoid spurious failure on FreeBSD
28116         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
28117         in POSIX mode, since the m4 test uses it.
28118
28119         gnulib-tool: silence warning on BSD sh
28120         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
28121
28122 2010-04-13  Jim Meyering  <meyering@redhat.com>
28123
28124         doc: users.txt: GNU patch now uses gnulib
28125         * users.txt: Add patch.
28126
28127 2010-04-12  Jim Meyering  <meyering@redhat.com>
28128
28129         maint.mk: generate more concise timing data for syntax-check rules
28130         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
28131         " done" from each line that reports a syntax-check test duration.
28132
28133 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
28134
28135         git-version-gen: use "git update-index..." rather than "git status"
28136         * build-aux/git-version-gen: Use git update-index --refresh, not
28137         "git status".  With some versions of git, "git status" would fail
28138         to update the index and result in an unwarranted "-dirty" suffix.
28139
28140 2010-04-11  Jim Meyering  <meyering@redhat.com>
28141
28142         openat: correct formatting (no semantic change)
28143         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
28144         Suggested by Bruno Haible.
28145
28146 2010-04-11  Bruno Haible  <bruno@clisp.org>
28147
28148         Stricter declaration checking in testdirs.
28149         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
28150         If for_tests is true, augment AM_CPPFLAGS to define
28151         GNULIB_STRICT_CHECKING.
28152         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
28153         GNULIB_STRICT_CHECKING is defined, verify that the function is
28154         declared.
28155
28156 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
28157             Bruno Haible  <bruno@clisp.org>
28158
28159         libunistring: Improve configure output.
28160         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
28161         Don't say "consider installing GNU libunistring" when checking again
28162         with libiconv.
28163
28164 2010-04-11  Bruno Haible  <bruno@clisp.org>
28165
28166         libunistring: Correct value of $LTLIBUNISTRING.
28167         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
28168         correct the value of $LTLIBUNISTRING.
28169
28170 2010-04-11  Bruno Haible  <bruno@clisp.org>
28171
28172         havelib: Add static libraries to LIBS in the right order.
28173         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
28174         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
28175
28176 2010-04-11  Bruno Haible  <bruno@clisp.org>
28177
28178         libunistring: Detect libunistring also when it depends on libiconv.
28179         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
28180         the second AC_LIB_HAVE_LINKFLAGS invocation.
28181
28182 2010-04-11  James Youngman  <jay@gnu.org>
28183
28184         close-stream: declare local scalars to be "const"
28185         * lib/close-stream.c (close_stream): Make boolean variables const
28186         to document the fact that we set but do not change them.
28187
28188 2010-04-11  Bruno Haible  <bruno@clisp.org>
28189
28190         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
28191
28192 2010-04-11  Jim Meyering  <meyering@redhat.com>
28193
28194         maint.mk: don't include dist-check.mk
28195         * top/maint.mk: Remove bogus include directive.
28196
28197         maint.mk: improve empty-line-at-EOF check
28198         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
28199         solution, rather than tail+Perl-based one.  The latter would read
28200         a few kilobytes from the end of each file, and did not handle empty
28201         files properly.
28202
28203         maint.mk: print the elapsed time for each syntax-check rule
28204         * top/maint.mk (sc_m_rules_): Save start time in a file.
28205         (sc_z_rules_): New rules: remove temp file and print elapsed time.
28206         (local-check): Interpose the .z rules
28207
28208 2010-04-11  Jim Meyering  <meyering@redhat.com>
28209
28210         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
28211         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
28212         empty file with one that ends in an empty line.
28213
28214 2010-04-10  Bruno Haible  <bruno@clisp.org>
28215
28216         mkdir: Make it work on mingw64.
28217         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
28218         * lib/mkdir.c: Update comment.
28219         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
28220
28221 2010-04-10  Bruno Haible  <bruno@clisp.org>
28222
28223         Don't override improved macro from newer autoconf.
28224         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
28225         autoconf >= 2.62.
28226         Reported by Joel E. Denny <jdenny@clemson.edu>.
28227
28228 2010-04-10  Jim Meyering  <meyering@redhat.com>
28229
28230         maint.mk: new syntax-check rule: prohibit empty lines at end of file
28231         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
28232
28233         maint.mk: correct a diagnostic
28234         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
28235         in diagnostic; now use $prohibit.
28236
28237 2010-04-10  Bruno Haible  <address@hidden>
28238
28239         fchownat: Fix a C++ test error on Solaris 8.
28240         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
28241         the function does not exist.
28242
28243 2010-04-10  Bruno Haible  <bruno@clisp.org>
28244
28245         vasnprintf: Add more tests.
28246         * tests/test-vasnprintf-posix.c: Include <errno.h>.
28247         (test_function): Test converting an invalid wide string.
28248
28249         vasnprintf: Correct handling of unconvertible wide string arguments.
28250         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
28251         VASNPRINTF.
28252         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
28253         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
28254         smaller than the expected maximum need for the directive. Set errno to
28255         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
28256         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
28257         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
28258         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
28259         * modules/vasnprintf (Files): Add m4/printf.m4.
28260         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28261
28262 2010-04-10  Bruno Haible  <bruno@clisp.org>
28263
28264         vasnprintf: Fix crash in %ls directive.
28265         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
28266         string is passed as argument to %ls, with no precision and no width.
28267         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28268
28269 2010-04-10  Bruno Haible  <bruno@clisp.org>
28270
28271         vasnprintf: Fix multiple test failures on mingw.
28272         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
28273         _snprintf, or snwprintf, not _snwprintf.
28274
28275 2010-04-10  Bruno Haible  <bruno@clisp.org>
28276
28277         write: Fix a C++ test error on mingw.
28278         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
28279
28280 2010-04-10  Bruno Haible  <bruno@clisp.org>
28281
28282         vasnprintf test: Reduce code duplication.
28283         * tests/test-vasnprintf.c (test_function): New function, extracted from
28284         test_vasnprintf.
28285         (test_vasnprintf, test_asnprintf): Invoke it.
28286
28287 2010-04-10  Bruno Haible  <bruno@clisp.org>
28288
28289         strnlen: Fix warning in C++ mode on MacOS X.
28290         * lib/string.in.h (strnlen): Use the modern idiom.
28291         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
28292         defining strnlen as a macro already in <config.h>.
28293         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28294         REPLACE_STRNLEN.
28295         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
28296         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28297
28298 2010-04-08  James Youngman  <jay@gnu.org>
28299
28300         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
28301         the example.
28302
28303 2010-04-09  Jim Meyering  <meyering@redhat.com>
28304
28305         maint.mk: print better diagnostic when there is no $(_hv_file)
28306         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
28307         announce that when $(_hv_file) (aka help-version) does not exist.
28308
28309         init.sh: run tr in the "C" locale to avoid multibyte interpretation
28310         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
28311         not try to interpret its random input bytes.  Jarno Rajahalme reported
28312         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
28313         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
28314         (mktempd_): Likewise, just in case.
28315
28316         ftruncate: add two years to projected module removal date: 2012
28317         * m4/ftruncate.m4: Adjust comments.
28318
28319         ftruncate: mark module as obsolete; even MinGW provides it, now
28320         * modules/ftruncate (Status): Obsolete.
28321         (Notice): Say that.
28322         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
28323         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
28324
28325 2010-04-08  Bruno Haible  <bruno@clisp.org>
28326
28327         Fix side effects from tests-related modules.
28328         * modules/dprintf-posix (Comment): New section.
28329         * modules/fprintf-posix (Comment): Likewise.
28330         * modules/obstack-printf-posix (Comment): Likewise.
28331         * modules/printf-posix (Comment): Likewise.
28332         * modules/snprintf-posix (Comment): Likewise.
28333         * modules/sprintf-posix (Comment): Likewise.
28334         * modules/vasnprintf-posix (Comment): Likewise.
28335         * modules/vasprintf-posix (Comment): Likewise.
28336         * modules/vdprintf-posix (Comment): Likewise.
28337         * modules/vfprintf-posix (Comment): Likewise.
28338         * modules/vprintf-posix (Comment): Likewise.
28339         * modules/vsnprintf-posix (Comment): Likewise.
28340         * modules/vsprintf-posix (Comment): Likewise.
28341         * modules/xprintf-posix (Comment): Likewise.
28342         * modules/xvasprintf-posix (Comment): Likewise.
28343         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
28344         * modules/floorf-tests (Depends-on): Likewise.
28345         * modules/round-tests (Depends-on): Likewise.
28346         * modules/roundf-tests (Depends-on): Likewise.
28347         * modules/trunc-tests (Depends-on): Likewise.
28348         * modules/truncf-tests (Depends-on): Likewise.
28349         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
28350         'fprintf-posix' module is not present.
28351         * tests/test-floorf2.c (check): Likewise.
28352         * tests/test-trunc2.c (check): Likewise.
28353         * tests/test-truncf2.c (check): Likewise.
28354         * tests/test-round2.c (equal): Likewise.
28355         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
28356
28357 2010-04-07  Karl Berry  <karl@gnu.org>
28358
28359         * config/srclist.txt,
28360         * config/srclistvars.sh,
28361         * config/srclist-update: doc fixes.
28362
28363 2010-04-07  Jim Meyering  <meyering@redhat.com>
28364
28365         maint.mk: add a PATH crosschecking syntax-check rule
28366         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
28367         Useful if you use a test like the one in help-version (coreutils,
28368         diffutils, grep, gzip) that ensures $(VERSION) matches what is
28369         printed by prog --version.
28370
28371 2010-04-06  Bruno Haible  <bruno@clisp.org>
28372
28373         Fix link error on mingw.
28374         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
28375         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
28376
28377 2010-04-06  Bruno Haible  <bruno@clisp.org>
28378
28379         Assume rmdir exists.
28380         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
28381
28382 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
28383
28384         doc: update users.txt
28385         * users.txt: Add gcal.
28386
28387 2010-04-06  Jim Meyering  <meyering@redhat.com>
28388
28389         init.sh: simply unset TMPDIR rather than risking env -i
28390         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
28391         although it probably works fine on all Unix-based systems, some
28392         systems (Cygwin?) cannot tolerate a totally cleared environment.
28393         Suggestion from Eric Blake.
28394
28395 2010-04-06  Jim Meyering  <meyering@redhat.com>
28396
28397         init.sh: portability fix: use env's POSIX-specified -i option not -u
28398         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
28399         than unportable env -u.  Solaris 5.11's env lacks support for -u.
28400
28401 2010-04-05  Bruno Haible  <bruno@clisp.org>
28402
28403         btowc: Work around Cygwin 1.7.2 bug.
28404         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
28405         does not map NUL to 0.
28406         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
28407
28408 2010-04-05  Bruno Haible  <bruno@clisp.org>
28409
28410         Make the multithread modules work on Cygwin 1.7.2.
28411         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
28412         imported symbols can be declared weak, so that it returns "no" on
28413         Cygwin 1.7.2.
28414
28415 2010-04-05  Bruno Haible  <bruno@clisp.org>
28416
28417         Use the module 'strncat'.
28418         * modules/unistr/u8-strncat (Depends-on): Add strncat.
28419
28420         Tests for module 'strncat'.
28421         * modules/strncat-tests: New file.
28422         * tests/test-strncat.c: New file.
28423
28424         New module 'strncat'.
28425         * lib/string.in.h (strncat): New declaration.
28426         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
28427         * m4/strncat.m4: New file, based on m4/memchr.m4.
28428         * modules/strncat: New file.
28429         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
28430         is declared.
28431         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
28432         REPLACE_STRNCAT.
28433         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
28434         REPLACE_STRNCAT.
28435         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
28436         module.
28437         * tests/test-string-c++.cc: Check signature of strncat.
28438
28439 2010-04-05  Jim Meyering  <meyering@redhat.com>
28440
28441         xstrtoumax-tests: convert to use init.sh
28442         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
28443         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28444         Use Exit, not exit.
28445         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28446
28447         xstrtoimax-tests: convert to use init.sh
28448         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
28449         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28450         Use Exit, not exit.
28451         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28452
28453 2010-04-05  Bruno Haible  <bruno@clisp.org>
28454
28455         sys_socket: Avoid #define replacements in C++ mode.
28456         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
28457         warning to the function if possible, rather than #defining the symbol
28458         to a dysfunctional alias.
28459
28460 2010-04-05  Bruno Haible  <bruno@clisp.org>
28461
28462         fseeko: Fix C++ test error on mingw.
28463         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
28464         gl_FUNC_FSEEKO.
28465         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
28466         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
28467         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
28468         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
28469
28470 2010-04-05  Bruno Haible  <bruno@clisp.org>
28471
28472         duplocale: Improve test output.
28473         * tests/test-duplocale.c (main): Print reason for skipped test.
28474
28475 2010-04-05  Bruno Haible  <bruno@clisp.org>
28476
28477         Assume rmdir exists.
28478         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
28479         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
28480
28481 2010-04-05  Bruno Haible  <bruno@clisp.org>
28482
28483         Fix link error on Solaris 8 with cc.
28484         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
28485
28486 2010-04-05  Bruno Haible  <bruno@clisp.org>
28487
28488         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28489         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
28490
28491 2010-04-05  Bruno Haible  <bruno@clisp.org>
28492
28493         vasprintf: Update documentation.
28494         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
28495
28496 2010-04-05  Bruno Haible  <bruno@clisp.org>
28497
28498         ptsname: Improve test.
28499         * tests/test-ptsname.c (main): Also try the various master names of BSD
28500         systems.
28501
28502 2010-04-05  Bruno Haible  <bruno@clisp.org>
28503
28504         memchr: Avoid a possible C++ test error.
28505         * lib/string.in.h (memchr): Provide declaration if function is missing.
28506         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
28507         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
28508         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
28509         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
28510
28511 2010-04-05  Bruno Haible  <bruno@clisp.org>
28512
28513         strtok_r: Improve idiom.
28514         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
28515         AC_LIBOBJ is used.
28516
28517 2010-04-05  Bruno Haible  <bruno@clisp.org>
28518
28519         strdup: Improve idiom.
28520         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
28521         AC_LIBOBJ is used.
28522         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
28523         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
28524         when AC_LIBOBJ is used.
28525
28526 2010-04-05  Bruno Haible  <bruno@clisp.org>
28527
28528         mbsinit, mbrtowc, wcrtomb: Improve idioms.
28529         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
28530         don't set REPLACE_MBSINIT to 1.
28531         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
28532         don't set REPLACE_MBRTOWC to 1.
28533         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
28534         exist, don't set REPLACE_MBSRTOWCS to 1.
28535         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
28536         exist, don't set REPLACE_MBSNRTOWCS to 1.
28537         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
28538         don't set REPLACE_WCRTOMB to 1.
28539         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
28540         exist, don't set REPLACE_WCSRTOMBS to 1.
28541         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
28542         exist, don't set REPLACE_WCSNRTOMBS to 1.
28543
28544 2010-04-05  Bruno Haible  <bruno@clisp.org>
28545
28546         ldexpl: Improve idiom.
28547         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
28548         make sure to set HAVE_DECL_LDEXPL to 0.
28549
28550 2010-04-05  Jim Meyering  <meyering@redhat.com>
28551
28552         xstrtol-tests: convert to use init.sh
28553         * modules/xstrtol-tests (Files): Add tests/init.sh.
28554         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28555         Use Exit, not exit.
28556         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28557
28558         atexit-tests: convert to use init.sh
28559         * modules/atexit-tests (Files): Add tests/init.sh.
28560         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
28561         Use Exit, not exit.
28562         Remove uses of $EXEEXT and "./" to run a program in the current dir.
28563
28564         init.sh: fix typo
28565         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
28566
28567         init.sh: make it easier for a test script to write to the tty, ...
28568         when using automake's parallel-tests mode.
28569         * tests/init.sh (stderr_fileno_): Define overridable variable.
28570         (warn_): New function, to use it.
28571         (fail_, skip_, framework_failure_): Use warn_.
28572
28573 2010-04-04  Bruno Haible  <bruno@clisp.org>
28574
28575         btowc: Avoid warning.
28576         * lib/btowc.c: Include <stdlib.h>.
28577         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
28578
28579 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28580             Bruno Haible  <bruno@clisp.org>
28581
28582         wchar: Port to NetBSD 1.5.
28583         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
28584         * lib/wctype.in.h (WEOF): Likewise.
28585
28586 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
28587             Bruno Haible  <bruno@clisp.org>
28588
28589         Port extended stdio to NetBSD 1.5.
28590         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
28591         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
28592         older.
28593
28594 2010-04-04  Bruno Haible  <bruno@clisp.org>
28595
28596         string: Remove unused substitution.
28597         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
28598         HAVE_DECL_STRERROR.
28599         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
28600
28601 2010-04-04  Bruno Haible  <bruno@clisp.org>
28602
28603         strtod: Avoid a possible C++ test error.
28604         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
28605         set REPLACE_STRTOD.
28606
28607 2010-04-04  Bruno Haible  <bruno@clisp.org>
28608
28609         strerror: Update documentation.
28610         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
28611
28612 2010-04-04  Bruno Haible  <bruno@clisp.org>
28613
28614         stdio: Fix some C++ test errors on Solaris 8 with GCC.
28615         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
28616         _GL_CXXALIAS_SYS_CAST.
28617
28618 2010-04-04  Bruno Haible  <bruno@clisp.org>
28619
28620         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
28621         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
28622         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
28623         REPLACE_FREXPL to 1.
28624         * doc/posix-functions/frexpl.texi: Update documentation.
28625
28626 2010-04-04  Bruno Haible  <bruno@clisp.org>
28627
28628         math: Fix some C++ test errors on Solaris 8 and Cygwin.
28629         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
28630
28631 2010-04-04  Bruno Haible  <bruno@clisp.org>
28632
28633         Implement nanosleep for native Windows.
28634         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
28635
28636 2010-04-04  Bruno Haible  <bruno@clisp.org>
28637
28638         math: Fix some C++ test errors on Solaris 8.
28639         * lib/math.in.h (truncf, trunc): Use simpler idiom.
28640
28641 2010-04-04  Bruno Haible  <bruno@clisp.org>
28642
28643         math: Fix some C++ test errors on Cygwin.
28644         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
28645         truncl): Provide declaration if the system does not have it.
28646         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
28647         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
28648         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
28649         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
28650         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
28651         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
28652         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
28653         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
28654         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
28655         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
28656         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
28657         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
28658         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
28659         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
28660         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
28661         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
28662         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
28663         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
28664         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
28665         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
28666         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
28667         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
28668
28669 2010-04-04  Bruno Haible  <bruno@clisp.org>
28670
28671         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
28672         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
28673         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
28674         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
28675         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
28676         * m4/isinf.m4 (gl_ISINF): Likewise.
28677         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
28678
28679 2010-04-04  Bruno Haible  <bruno@clisp.org>
28680
28681         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
28682         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
28683
28684 2010-04-04  Bruno Haible  <bruno@clisp.org>
28685
28686         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
28687         * modules/tmpfile (configure.ac): Update.
28688
28689         tmpfile: Fix C++ test error on mingw.
28690         * lib/stdio.in.h (tmpfile): New declaration.
28691         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
28692         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
28693         * modules/tmpfile (Depends-on): Add stdio.
28694         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
28695         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
28696         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
28697         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
28698         REPLACE_TMPFILE.
28699         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
28700
28701 2010-04-04  Bruno Haible  <bruno@clisp.org>
28702
28703         ioctl: Fix C++ test error on mingw.
28704         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
28705         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
28706         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
28707
28708 2010-04-03  Bruno Haible  <bruno@clisp.org>
28709
28710         wcwidth: Fix C++ test error on mingw.
28711         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
28712         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
28713         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
28714
28715 2010-04-03  Bruno Haible  <bruno@clisp.org>
28716
28717         nanosleep: Fix C++ test error on mingw.
28718         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
28719         * lib/time.in.h (nanosleep): Use modern idiom.
28720         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
28721         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
28722         REPLACE_NANOSLEEP to 1.
28723         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
28724         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
28725
28726 2010-04-03  Bruno Haible  <bruno@clisp.org>
28727
28728         strptime: Fix C++ test error on mingw.
28729         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
28730         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
28731         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
28732         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
28733         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
28734         not REPLACE_STRPTIME.
28735         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
28736         REPLACE_STRPTIME.
28737
28738 2010-04-03  Bruno Haible  <bruno@clisp.org>
28739
28740         timegm: Fix C++ test error on mingw.
28741         * lib/time.in.h (timegm): Use modern idiom.
28742         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
28743         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
28744         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
28745         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
28746
28747 2010-04-03  Bruno Haible  <bruno@clisp.org>
28748
28749         timegm: Assume declaration if function exists.
28750         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
28751         if it exists. Don't clobber ac_cv_func_timegm.
28752
28753 2010-04-03  Bruno Haible  <bruno@clisp.org>
28754
28755         time_r: Fix C++ test error on mingw.
28756         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
28757         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
28758         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
28759         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
28760         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
28761
28762 2010-04-03  Bruno Haible  <bruno@clisp.org>
28763
28764         time_r: Minor updates.
28765         * modules/time_r (Description): Mention the provided functions.
28766         * lib/time_r.c: Don't include <string.h>.
28767         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
28768         * doc/posix-functions/localtime_r.texi: Likewise.
28769
28770 2010-04-03  Bruno Haible  <bruno@clisp.org>
28771
28772         time: Fix regression introduced on 2010-03-08.
28773         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
28774         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
28775
28776 2010-04-03  Jim Meyering  <meyering@redhat.com>
28777
28778         maint.mk: don't silently disable project-specific syntax-check rules
28779         * top/maint.mk (_prohibit_regexp): Define, to help people realize
28780         that they need to convert their project-specific syntax-check rules
28781         to use the new _sc_search_regexp.
28782
28783 2010-04-03  Bruno Haible  <bruno@clisp.org>
28784
28785         fchdir: Fix regression introduced on 2010-03-08.
28786         * lib/unistd.in.h (fchdir): Fix declaration.
28787         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
28788         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
28789         REPLACE_FCHDIR.
28790         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
28791         REPLACE_FCHDIR.
28792
28793 2010-04-03  Bruno Haible  <bruno@clisp.org>
28794
28795         getpagesize: Fix C++ test error on mingw.
28796         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
28797         system does not declare the function.
28798         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
28799         declared.
28800         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28801         HAVE_DECL_GETPAGESIZE.
28802         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
28803
28804 2010-04-03  Bruno Haible  <bruno@clisp.org>
28805
28806         stdio: Make C++ tests work on mingw.
28807         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
28808         does not declare the function.
28809
28810 2010-04-03  Bruno Haible  <bruno@clisp.org>
28811
28812         ftello: Fix C++ test error on mingw.
28813         * lib/stdio.in.h (ftello): Use modern idiom.
28814         * lib/ftello.c (ftello): Renamed from rpl_ftello.
28815         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
28816         is missing and that it needs to be replaced.
28817         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
28818         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
28819         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
28820
28821 2010-04-03  Bruno Haible  <bruno@clisp.org>
28822
28823         fseeko: Fix C++ test error on mingw.
28824         * lib/stdio.in.h (fseeko): Use modern idiom.
28825         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
28826         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
28827         is missing and that it needs to be replaced.
28828         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
28829         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
28830         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
28831
28832 2010-04-03  Bruno Haible  <bruno@clisp.org>
28833
28834         mkstemp: Fix C++ test error on mingw.
28835         * lib/stdlib.in.h (mkstemp): Use modern idiom.
28836         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
28837         function is missing and that it needs to be replaced.
28838         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
28839         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
28840
28841 2010-04-03  Bruno Haible  <bruno@clisp.org>
28842
28843         stpncpy: Fix C++ test error on mingw.
28844         * lib/string.in.h (stpncpy): Use modern idiom.
28845         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
28846         function is missing and that it needs to be replaced.
28847         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
28848         REPLACE_STPNCPY.
28849         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
28850
28851 2010-04-03  Bruno Haible  <bruno@clisp.org>
28852
28853         sys_stat: Fix C++ test error on mingw.
28854         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
28855         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
28856
28857 2010-04-03  Bruno Haible  <bruno@clisp.org>
28858
28859         pty: Update doc.
28860         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
28861
28862 2010-04-03  Bruno Haible  <bruno@clisp.org>
28863
28864         unistd: Fix C++ test error on mingw.
28865         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
28866
28867 2010-04-03  Bruno Haible  <bruno@clisp.org>
28868
28869         Update doc regarding mingw.
28870         * doc/glibc-functions/openpty.texi: Update regarding mingw.
28871         * doc/glibc-functions/login_tty.texi: Likewise.
28872         * doc/glibc-functions/forkpty.texi: Likewise.
28873
28874 2010-04-03  Bruno Haible  <bruno@clisp.org>
28875
28876         stdlib: Avoid compilation failure of c-strtold on mingw.
28877         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
28878
28879 2010-04-03  Bruno Haible  <bruno@clisp.org>
28880
28881         locale: Make C++ tests work on Cygwin and mingw.
28882         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
28883         cannot provide the function.
28884         Reported by Simon Josefsson.
28885
28886 2010-04-03  Bruno Haible  <bruno@clisp.org>
28887
28888         localename: Port to MacOS X 10.6.
28889         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
28890         memory layout of the locales in MacOS X 10.6 as well.
28891         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
28892
28893 2010-04-02  Bruno Haible  <bruno@clisp.org>
28894
28895         gnulib-tool: Ensure that long-running tests are executed last.
28896         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
28897         running tests after the one for the other tests.
28898
28899 2010-04-02  Bruno Haible  <bruno@clisp.org>
28900
28901         gnulib-tool: Ensure the tests in the main directory are executed first.
28902         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
28903         start with the current directory.
28904
28905 2010-04-02  Bruno Haible  <bruno@clisp.org>
28906
28907         Tests for module 'havelib', moved here from GNU gettext.
28908         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
28909         modifications.
28910         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
28911         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
28912         with modifications.
28913         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
28914         modifications.
28915         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
28916         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
28917         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
28918         with modifications.
28919         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
28920         with modifications.
28921         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
28922         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
28923         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
28924         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
28925         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
28926         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
28927         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
28928         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
28929         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
28930         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
28931         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
28932         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
28933         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
28934         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
28935         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
28936         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
28937         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
28938         with modifications.
28939         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
28940         with modifications.
28941         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
28942         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
28943         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
28944         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
28945         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
28946         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
28947         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
28948         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
28949         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
28950         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
28951         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
28952         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
28953         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
28954         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
28955         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
28956         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
28957         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
28958         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
28959         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
28960         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
28961         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
28962         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
28963         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
28964         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
28965         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
28966         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
28967         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
28968         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
28969         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
28970         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
28971         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
28972         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
28973         * tests/havelib/rpathx/rpathx.c: New file, from
28974         gettext/autoconf-lib-link.
28975         * tests/havelib/rpathx/Makefile.am: New file, from
28976         gettext/autoconf-lib-link.
28977         * tests/havelib/rpathx/configure.ac: New file, from
28978         gettext/autoconf-lib-link with modifications.
28979         * tests/havelib/rpathy/rpathy.c: New file, from
28980         gettext/autoconf-lib-link.
28981         * tests/havelib/rpathy/Makefile.am: New file, from
28982         gettext/autoconf-lib-link.
28983         * tests/havelib/rpathy/configure.ac: New file, from
28984         gettext/autoconf-lib-link with modifications.
28985         * tests/havelib/rpathz/rpathz.c: New file, from
28986         gettext/autoconf-lib-link.
28987         * tests/havelib/rpathz/Makefile.am: New file, from
28988         gettext/autoconf-lib-link.
28989         * tests/havelib/rpathz/configure.ac: New file, from
28990         gettext/autoconf-lib-link with modifications.
28991         * tests/havelib/rpathlx/usex.c: New file, from
28992         gettext/autoconf-lib-link.
28993         * tests/havelib/rpathlx/Makefile.am: New file, from
28994         gettext/autoconf-lib-link.
28995         * tests/havelib/rpathlx/configure.ac: New file, from
28996         gettext/autoconf-lib-link with modifications.
28997         * tests/havelib/rpathly/usey.c: New file, from
28998         gettext/autoconf-lib-link.
28999         * tests/havelib/rpathly/Makefile.am: New file, from
29000         gettext/autoconf-lib-link.
29001         * tests/havelib/rpathly/configure.ac: New file, from
29002         gettext/autoconf-lib-link with modifications.
29003         * tests/havelib/rpathlz/usez.c: New file, from
29004         gettext/autoconf-lib-link.
29005         * tests/havelib/rpathlz/Makefile.am: New file, from
29006         gettext/autoconf-lib-link.
29007         * tests/havelib/rpathlz/configure.ac: New file, from
29008         gettext/autoconf-lib-link with modifications.
29009         * tests/havelib/rpathlyx/usey.c: New file, from
29010         gettext/autoconf-lib-link.
29011         * tests/havelib/rpathlyx/Makefile.am: New file, from
29012         gettext/autoconf-lib-link.
29013         * tests/havelib/rpathlyx/configure.ac: New file, from
29014         gettext/autoconf-lib-link with modifications.
29015         * tests/havelib/rpathlzyx/usez.c: New file, from
29016         gettext/autoconf-lib-link.
29017         * tests/havelib/rpathlzyx/Makefile.am: New file, from
29018         gettext/autoconf-lib-link.
29019         * tests/havelib/rpathlzyx/configure.ac: New file, from
29020         gettext/autoconf-lib-link with modifications.
29021         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
29022         with modifications.
29023
29024 2010-04-02  Bruno Haible  <bruno@clisp.org>
29025
29026         gnulib-tool: Create distributed built sources also for the tests.
29027         * gnulib-tool (func_create_testdir): Also generate distributed built
29028         sources in the tests directory.
29029
29030 2010-04-02  Bruno Haible  <bruno@clisp.org>
29031
29032         gnulib-tool: Obey user's environment variables.
29033         * gnulib-tool (func_create_testdir): When creating built sources,
29034         respect the environment variables for autoconf, automake, etc. given by
29035         the user.
29036
29037 2010-04-02  Bruno Haible  <bruno@clisp.org>
29038
29039         gnulib-tool: Provide the value of --m4-base to modules.
29040         * gnulib-tool (func_import, func_create_testdir): Emit a definition
29041         of gl_m4_base.
29042
29043 2010-04-02  Eric Blake  <eblake@redhat.com>
29044
29045         maint.mk: fix some fallout
29046         * NEWS: Document the incompatible change, and its effect on cfg.mk.
29047         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
29048
29049 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29050
29051         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
29052         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
29053         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
29054         (sc_cast_of_x_alloc_return_value): Likewise.
29055         (sc_cast_of_alloca_return_value): Likewise.
29056         (sc_space_tab): Likewise.
29057         (sc_prohibit_atoi_atof): Likewise.
29058         (sc_prohibit_magic_number_exit): Likewise.
29059         (sc_error_exit_success): Likewise.
29060         (sc_file_system): Likewise.
29061         (sc_prohibit_have_config_h): Likewise.
29062         (sc_require_config_h): Likewise.
29063         (sc_prohibit_HAVE_MBRTOWC): Likewise.
29064         (sc_obsolete_symbols): Likewise.
29065         (sc_changelog): Likewise.
29066         (sc_program_name): Likewise.
29067         (sc_the_the): Likewise.
29068         (sc_trailing_blank): Likewise.
29069         (sc_two_space_separator_in_usage): Likewise.
29070         (sc_useless_cpp_parens): Likewise.
29071         (sc_GPL_version): Likewise.
29072         (sc_GFDL_version): Likewise.
29073         (sc_texinfo_acronym): Likewise.
29074         (sc_prohibit_cvs_keyword): Likewise.
29075         (sc_prohibit_stat_st_blocks): Likewise.
29076         (sc_prohibit_S_IS_definition): Likewise.
29077         (sc_redundant_const): Likewise.
29078         (sc_makefile_TAB_only_indentation): Likewise.
29079         (sc_m4_quote_check): Likewise.
29080         (sc_makefile_path_separator_check): Likewise.
29081         (sc_copyright_check): Likewise.
29082         (sc_Wundef_boolean): Likewise.
29083         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29084
29085         maint.mk: match 0 or more whitespace-before-function-call '('
29086         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
29087         that have zero or two-and-more spaces between the function name
29088         and the open parenthesis.
29089         (sc_error_message_warn_fatal): Likewise.
29090         (sc_error_message_uppercase): Likewise.
29091         (sc_error_message_period): Likewise.
29092
29093 2010-03-31  Eric Blake  <eblake@redhat.com>
29094
29095         maint.mk: check for [ as well as test
29096         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
29097         Based on a libvirt report by Matthias Bolte.
29098
29099         gnumakefile: don't squelch _version output
29100         * top/GNUmakefile (_version): Create one-shot dependency rather
29101         than using $(shell) when version must be regenerated.
29102         (_autoreconf): Run verbosely, by default.
29103
29104         sys_time: avoid compiler warnings
29105         * lib/sys_time.in.h (includes): Ensure gcc pragma is
29106         unconditional, fixing regression from 2010-03-29.
29107         Reported by Simon Josefsson.
29108
29109 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
29110
29111         maint.mk: s/_header_without_use/_sc_header_without_use/
29112         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
29113         (sc_prohibit_assert_without_use): Use the new name.
29114         (sc_prohibit_close_stream_without_use): Likewise.
29115         (sc_prohibit_getopt_without_use): Likewise.
29116         (sc_prohibit_quotearg_without_use): Likewise.
29117         (sc_prohibit_quote_without_use): Likewise.
29118         (sc_prohibit_long_options_without_use): Likewise.
29119         (sc_prohibit_inttostr_without_use): Likewise.
29120         (sc_prohibit_ignore_value_without_use): Likewise.
29121         (sc_prohibit_error_without_use): Likewise.
29122         (sc_prohibit_xalloc_without_use): Likewise.
29123         (sc_prohibit_hash_without_use): Likewise.
29124         (sc_prohibit_hash_pjw_without_use): Likewise.
29125         (sc_prohibit_safe_read_without_use): Likewise.
29126         (sc_prohibit_argmatch_without_use): Likewise.
29127         (sc_prohibit_canonicalize_without_use): Likewise.
29128         (sc_prohibit_root_dev_ino_without_use): Likewise.
29129         (sc_prohibit_openat_without_use): Likewise.
29130         (sc_prohibit_c_ctype_without_use): Likewise.
29131         (sc_prohibit_signal_without_use): Likewise.
29132         (sc_prohibit_intprops_without_use): Likewise.
29133
29134 2010-03-30  Eric Blake  <eblake@redhat.com>
29135
29136         maint: improve module indicators
29137         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
29138         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
29139         columns, and avoid extra macro expansion.
29140
29141         fdopendir: work around FreeBSD bug
29142         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
29143         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
29144         * modules/dirent (Makefile.am): Substitute it.
29145         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
29146         declaration.
29147         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
29148         fix.
29149         Reported by Christian Weisgerber <naddy@mips.inka.de>.
29150
29151 2010-03-29  Bruno Haible  <bruno@clisp.org>
29152
29153         Emit #pragma system_header after the inclusion guard, not before.
29154         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
29155         guard that spans the entire file, not before. This enables an
29156         optimization in GCC's preprocessor.
29157         * lib/ctype.in.h: Likewise.
29158         * lib/dirent.in.h: Likewise.
29159         * lib/errno.in.h: Likewise.
29160         * lib/float.in.h: Likewise.
29161         * lib/getopt.in.h: Likewise.
29162         * lib/iconv.in.h: Likewise.
29163         * lib/langinfo.in.h: Likewise.
29164         * lib/locale.in.h: Likewise.
29165         * lib/math.in.h: Likewise.
29166         * lib/netdb.in.h: Likewise.
29167         * lib/netinet_in.in.h: Likewise.
29168         * lib/pty.in.h: Likewise.
29169         * lib/sched.in.h: Likewise.
29170         * lib/se-selinux.in.h: Likewise.
29171         * lib/search.in.h: Likewise.
29172         * lib/spawn.in.h: Likewise.
29173         * lib/stdarg.in.h: Likewise.
29174         * lib/stdint.in.h: Likewise.
29175         * lib/string.in.h: Likewise.
29176         * lib/strings.in.h: Likewise.
29177         * lib/sys_file.in.h: Likewise.
29178         * lib/sys_ioctl.in.h: Likewise.
29179         * lib/sys_time.in.h: Likewise.
29180         * lib/sys_times.in.h: Likewise.
29181         * lib/sys_utsname.in.h: Likewise.
29182         * lib/sys_wait.in.h: Likewise.
29183         * lib/sysexits.in.h: Likewise.
29184         * lib/wctype.in.h: Likewise.
29185
29186 2010-03-28  James Youngman  <jay@gnu.org>
29187
29188         save-cwd: don't leak a file descriptor when the caller execs.
29189         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
29190         saved file descriptor.
29191         * modules/save-cwd (Depends-on): Depend on cloexec.
29192
29193 2010-03-29  Bruno Haible  <bruno@clisp.org>
29194
29195         Remove vestiges of fts-lgpl module.
29196         * lib/fts_.h: Assume GNULIB_FTS is 1.
29197         * lib/fts.c: Likewise.
29198         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29199
29200 2010-03-28  Bruno Haible  <bruno@clisp.org>
29201
29202         Fix definition of tests witness macro.
29203         * gnulib-tool (func_import): Fix definition of witness macro.
29204
29205 2010-03-28  Bruno Haible  <bruno@clisp.org>
29206
29207         Fix ioctl's protoype on glibc systems.
29208         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
29209         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
29210         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
29211         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
29212         signature. If not, arrange to replace the ioctl function.
29213         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
29214         REPLACE_IOCTL.
29215         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
29216         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
29217         Reported by Ludovic Courtès <ludo@gnu.org>.
29218
29219 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
29220
29221         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
29222         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
29223         made it so grep -r --include=GLOB* ... did not work.
29224
29225 2010-03-26  Jim Meyering  <meyering@redhat.com>
29226             Eric Blake  <eblake@redhat.com>
29227
29228         maint.mk: prohibit use of test's -o and -a operators
29229         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
29230
29231 2010-03-28  Bruno Haible  <bruno@clisp.org>
29232
29233         Remove unused GNULIB_XYZ macro definitions.
29234         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
29235         invocation.
29236
29237 2010-03-28  Bruno Haible  <bruno@clisp.org>
29238
29239         Mark privileged tests modules.
29240         * modules/idpriv-drop-tests (Status): New section.
29241         * modules/idpriv-droptemp-tests (Status): New section.
29242
29243 2010-03-28  Bruno Haible  <bruno@clisp.org>
29244
29245         Split C++ tests into separate tests modules.
29246         * modules/dirent-c++-tests: New file, extracted from
29247         modules/dirent-tests.
29248         * modules/dirent-tests: Depend on it.
29249         * modules/fcntl-h-c++-tests: New file, extracted from
29250         modules/fcntl-h-tests.
29251         * modules/fcntl-h-tests: Depend on it.
29252         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
29253         * modules/glob-tests: Depend on it.
29254         * modules/iconv-h-c++-tests: New file, extracted from
29255         modules/iconv-h-tests.
29256         * modules/iconv-h-tests: Depend on it.
29257         * modules/langinfo-c++-tests: New file, extracted from
29258         modules/langinfo-tests.
29259         * modules/langinfo-tests: Depend on it.
29260         * modules/locale-c++-tests: New file, extracted from
29261         modules/locale-tests.
29262         * modules/locale-tests: Depend on it.
29263         * modules/math-c++-tests: New file, extracted from modules/math-tests.
29264         * modules/math-tests: Depend on it.
29265         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
29266         * modules/pty-tests: Depend on it.
29267         * modules/search-c++-tests: New file, extracted from
29268         modules/search-tests.
29269         * modules/search-tests: Depend on it.
29270         * modules/signal-c++-tests: New file, extracted from
29271         modules/signal-tests.
29272         * modules/signal-tests: Depend on it.
29273         * modules/spawn-c++-tests: New file, extracted from
29274         modules/spawn-tests.
29275         * modules/spawn-tests: Depend on it.
29276         * modules/stdio-c++-tests: New file, extracted from
29277         modules/stdio-tests.
29278         * modules/stdio-tests: Depend on it.
29279         * modules/stdlib-c++-tests: New file, extracted from
29280         modules/stdlib-tests.
29281         * modules/stdlib-tests: Depend on it.
29282         * modules/string-c++-tests: New file, extracted from
29283         modules/string-tests.
29284         * modules/string-tests: Depend on it.
29285         * modules/sys_ioctl-c++-tests: New file, extracted from
29286         modules/sys_ioctl-tests.
29287         * modules/sys_ioctl-tests: Depend on it.
29288         * modules/sys_select-c++-tests: New file, extracted from
29289         modules/sys_select-tests.
29290         * modules/sys_select-tests: Depend on it.
29291         * modules/sys_socket-c++-tests: New file, extracted from
29292         modules/sys_socket-tests.
29293         * modules/sys_socket-tests: Depend on it.
29294         * modules/sys_stat-c++-tests: New file, extracted from
29295         modules/sys_stat-tests.
29296         * modules/sys_stat-tests: Depend on it.
29297         * modules/sys_time-c++-tests: New file, extracted from
29298         modules/sys_time-tests.
29299         * modules/sys_time-tests: Depend on it.
29300         * modules/time-c++-tests: New file, extracted from modules/time-tests.
29301         * modules/time-tests: Depend on it.
29302         * modules/unistd-c++-tests: New file, extracted from
29303         modules/unistd-tests.
29304         * modules/unistd-tests: Depend on it.
29305         * modules/wchar-c++-tests: New file, extracted from
29306         modules/wchar-tests.
29307         * modules/wchar-tests: Depend on it.
29308         * modules/wctype-c++-tests: New file, extracted from
29309         modules/wctype-tests.
29310         * modules/wctype-tests: Depend on it.
29311         Reported by Simon Josefsson.
29312
29313 2010-03-28  Bruno Haible  <bruno@clisp.org>
29314
29315         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
29316         * gnulib-tool (func_exists_module): New function, extracted from
29317         func_verify_module.
29318         (func_verify_module): Use it.
29319         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
29320         'foo' only if 'foo' exists.
29321         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
29322         module.
29323
29324 2010-03-28  Bruno Haible  <bruno@clisp.org>
29325
29326         gnulib-tool: Add support for special categories of tests.
29327         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
29328         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
29329         (func_usage): Document them.
29330         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
29331         inc_unportable_tests, inc_all_tests): New variables.
29332         (func_acceptable): Consider these variables.
29333         (func_modules_transitive_closure): Make it work when the 'Status' field
29334         consists of multiple words.
29335         (func_import): Store and restore the values of inc_cxx_tests,
29336         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
29337         inc_all_tests in gnulib-comp.m4.
29338         (func_create_testdir): Set inc_all_tests to true.
29339         * doc/gnulib.texi (Extra tests modules): New section.
29340         Suggested by Jim Meyering.
29341
29342 2010-03-28  Bruno Haible  <bruno@clisp.org>
29343
29344         ansi-c++-opt: Allow turning off the C++ build by default.
29345         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
29346         gl_CXX_CHOICE_DEFAULT_NO is defined.
29347         Requested by Eric Blake.
29348
29349 2010-03-28  Bruno Haible  <bruno@clisp.org>
29350
29351         unistd: Avoid #define replacements in C++ mode.
29352         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
29353         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
29354         setsockopt, shutdown, select): In C++, attach a warning to the function
29355         if possible, rather than #defining the symbol to a dysfunctional alias.
29356         Reported by John W. Eaton <jwe@gnu.org>.
29357
29358 2010-03-28  Bruno Haible  <bruno@clisp.org>
29359
29360         Fix link errors on mingw.
29361         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
29362         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
29363         $(LIBSOCKET).
29364         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
29365         $(LIBSOCKET).
29366
29367 2010-03-28  Bruno Haible  <bruno@clisp.org>
29368             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
29369
29370         lib-ignore: Determine different options for different compilers.
29371         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
29372         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
29373         Add comments.
29374         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
29375         * NEWS: Mention the change.
29376
29377 2010-03-27  Bruno Haible  <bruno@clisp.org>
29378
29379         Remove unused GNULIB_XYZ macro definitions.
29380         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
29381         * modules/fseek (configure.ac): Likewise.
29382         * modules/ioctl (configure.ac): Likewise.
29383         * modules/open (configure.ac): Likewise.
29384         * modules/stdlib-safer (configure.ac): Likewise.
29385
29386 2010-03-27  Bruno Haible  <bruno@clisp.org>
29387
29388         Add a remark about certain modules.
29389         * modules/malloc (Comment): New section.
29390         * modules/realloc (Comment): Likewise.
29391         * modules/sigpipe (Comment): Likewise.
29392
29393 2010-03-27  Bruno Haible  <bruno@clisp.org>
29394
29395         Resolve conflict between the two kinds of module indicators.
29396         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
29397         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
29398         * modules/canonicalize (configure.ac): Invoke
29399         gl_MODULE_INDICATOR_FOR_TESTS.
29400         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
29401         GNULIB_XYZ.
29402         * tests/test-dirent-c++.cc: Likewise.
29403         * tests/test-dirent-safer.c: Likewise.
29404         * tests/test-dup2.c: Likewise.
29405         * tests/test-fchdir.c: Likewise.
29406         * tests/test-fcntl-h-c++.cc: Likewise.
29407         * tests/test-getopt.c: Likewise.
29408         * tests/test-getopt.h: Likewise.
29409         * tests/test-langinfo-c++.cc: Likewise.
29410         * tests/test-locale-c++.cc: Likewise.
29411         * tests/test-math-c++.cc: Likewise.
29412         * tests/test-pty-c++.cc: Likewise.
29413         * tests/test-search-c++.cc: Likewise.
29414         * tests/test-signal-c++.cc: Likewise.
29415         * tests/test-spawn-c++.cc: Likewise.
29416         * tests/test-stdio-c++.cc: Likewise.
29417         * tests/test-stdlib-c++.cc: Likewise.
29418         * tests/test-string-c++.cc: Likewise.
29419         * tests/test-sys_ioctl-c++.cc: Likewise.
29420         * tests/test-sys_select-c++.cc: Likewise.
29421         * tests/test-sys_socket-c++.cc: Likewise.
29422         * tests/test-sys_stat-c++.cc: Likewise.
29423         * tests/test-sys_time-c++.cc: Likewise.
29424         * tests/test-time-c++.cc: Likewise.
29425         * tests/test-unistd-c++.cc: Likewise.
29426         * tests/test-wchar-c++.cc: Likewise.
29427         * tests/uninorm/test-u8-nfc.c: Likewise.
29428         * tests/uninorm/test-u8-nfd.c: Likewise.
29429         * tests/uninorm/test-u8-nfkc.c: Likewise.
29430         * tests/uninorm/test-u8-nfkd.c: Likewise.
29431         * tests/uninorm/test-u16-nfc.c: Likewise.
29432         * tests/uninorm/test-u16-nfd.c: Likewise.
29433         * tests/uninorm/test-u16-nfkc.c: Likewise.
29434         * tests/uninorm/test-u16-nfkd.c: Likewise.
29435         * tests/uninorm/test-u32-nfc.c: Likewise.
29436         * tests/uninorm/test-u32-nfc-big.c: Likewise.
29437         * tests/uninorm/test-u32-nfd.c: Likewise.
29438         * tests/uninorm/test-u32-nfd-big.c: Likewise.
29439         * tests/uninorm/test-u32-nfkc.c: Likewise.
29440         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
29441         * tests/uninorm/test-u32-nfkd.c: Likewise.
29442         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
29443         * tests/uninorm/test-u32-normalize-big.c: Likewise.
29444
29445 2010-03-27  Bruno Haible  <bruno@clisp.org>
29446
29447         Distinguish two kinds of module indicators.
29448         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
29449         gl_MODULE_INDICATOR.
29450         (gl_MODULE_INDICATOR): New macro.
29451         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
29452         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
29453         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29454         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29455         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29456         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29457         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29458         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29459         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29460         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29461         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29462         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29463         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29464         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29465         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29466         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29467         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29468         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29469         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29470         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29471         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29472         * modules/cloexec (configure.ac): Likewise.
29473         * modules/getopt-gnu (configure.ac): Likewise.
29474         * modules/uninorm/u8-normalize (configure.ac): Likewise.
29475         * modules/uninorm/u16-normalize (configure.ac): Likewise.
29476         * modules/uninorm/u32-normalize (configure.ac): Likewise.
29477         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
29478
29479 2010-03-27  Bruno Haible  <bruno@clisp.org>
29480
29481         New module description field 'Comment'.
29482         * gnulib-tool: New option --extract-comment.
29483         (func_usage): Document it.
29484         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
29485         (func_get_comment): New function.
29486         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
29487
29488 2010-03-27  Bruno Haible  <bruno@clisp.org>
29489
29490         Addendum to 2010-02-07 commit.
29491         * gnulib-tool (func_usage): Document --extract-applicability option.
29492
29493 2010-03-27  Bruno Haible  <bruno@clisp.org>
29494
29495         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
29496         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
29497         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
29498         rather than link errors.
29499
29500 2010-03-27  Bruno Haible  <bruno@clisp.org>
29501
29502         Avoid side effects from tests-related modules on the compilation of lib.
29503         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
29504         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
29505         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
29506         parameter. Emit into AM_CPPFLAGS a definition of the designated C
29507         macro.
29508         (func_import): Define a witness macro. Assign it a value that depends
29509         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
29510         tests-related modules.
29511         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
29512         Reported by Jim Meyering.
29513
29514 2010-03-27  Bruno Haible  <bruno@clisp.org>
29515
29516         Factorize common .m4 code.
29517         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
29518         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
29519         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
29520         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
29521         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
29522         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
29523         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
29524         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
29525         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
29526         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
29527         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
29528         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
29529         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
29530         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
29531         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
29532         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
29533         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
29534         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
29535         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
29536         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
29537         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
29538         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
29539         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
29540         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
29541         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
29542         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
29543         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
29544         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
29545         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
29546         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
29547         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
29548         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
29549
29550 2010-03-27  Bruno Haible  <bruno@clisp.org>
29551
29552         Fix a compilation error on Cygwin with g++ >= 4.3.
29553         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
29554         if it is undefined or if we alias it to chmod.
29555         (lstat): Don't warn about the use of this function if it is undefined
29556         or if we alias it to stat.
29557         Reported by Simon Josefsson.
29558
29559 2010-03-27  Bruno Haible  <bruno@clisp.org>
29560
29561         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
29562         * modules/getlogin (configure.ac): Update.
29563
29564         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
29565         * modules/getlogin_r (configure.ac): Update.
29566
29567         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
29568         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
29569         * modules/inet_ntop (configure.ac): Update.
29570
29571         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
29572         * modules/inet_pton (configure.ac): Update.
29573
29574         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
29575         * modules/mbslen (configure.ac): Update.
29576
29577         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
29578         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
29579         * modules/forkpty (configure.ac): Update.
29580         * modules/openpty (configure.ac): Update.
29581
29582 2010-03-26  Simon Josefsson  <simon@josefsson.org>
29583
29584         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
29585         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
29586
29587 2010-03-25  Eric Blake  <eblake@redhat.com>
29588
29589         maint: use pragma consistently across replacement headers
29590         * lib/ctype.in.h (system_header): Hoist for consistent placement.
29591         * lib/dirent.in.h (system_header): Likewise.
29592         * lib/errno.in.h (system_header): Likewise.
29593         * lib/float.in.h (system_header): Likewise.
29594         * lib/getopt.in.h (system_header): Likewise.
29595         * lib/iconv.in.h (system_header): Likewise.
29596         * lib/inttypes.in.h (system_header): Likewise.
29597         * lib/langinfo.in.h (system_header): Likewise.
29598         * lib/locale.in.h (system_header): Likewise.
29599         * lib/math.in.h (system_header): Likewise.
29600         * lib/netdb.in.h (system_header): Likewise.
29601         * lib/netinet_in.in.h (system_header): Likewise.
29602         * lib/pty.in.h (system_header): Likewise.
29603         * lib/sched.in.h (system_header): Likewise.
29604         * lib/se-selinux.in.h (system_header): Likewise.
29605         * lib/search.in.h (system_header): Likewise.
29606         * lib/spawn.in.h (system_header): Likewise.
29607         * lib/stdarg.in.h (system_header): Likewise.
29608         * lib/stdint.in.h (system_header): Likewise.
29609         * lib/string.in.h (system_header): Likewise.
29610         * lib/strings.in.h (system_header): Likewise.
29611         * lib/sys_file.in.h (system_header): Likewise.
29612         * lib/sys_ioctl.in.h (system_header): Likewise.
29613         * lib/sys_socket.in.h (system_header): Likewise.
29614         * lib/sys_times.in.h (system_header): Likewise.
29615         * lib/sys_utsname.in.h (system_header): Likewise.
29616         * lib/sys_wait.in.h (system_header): Likewise.
29617         * lib/sysexits.in.h (system_header): Likewise.
29618         * lib/unistd.in.h (system_header): Likewise.
29619         * lib/wctype.in.h (system_header): Likewise.
29620
29621         arpa/inet: fix mingw compilation warning
29622         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
29623         Reported by Matthew Bolte.
29624
29625 2010-03-25  Bruno Haible  <bruno@clisp.org>
29626
29627         Avoid collision between gnulib wrapper and libintl wrapper.
29628         * lib/printf.c (printf): Don't define if a printf wrapper is already
29629         defined in intl/printf.c.
29630         Reported by Michel Boaventura <michel@michelboaventura.com>.
29631
29632 2010-03-25  Bruno Haible  <bruno@clisp.org>
29633
29634         Use ANSI C.
29635         * lib/readutmp.h (getutent): Provide ANSI C prototype.
29636
29637 2010-03-25  Bruno Haible  <bruno@clisp.org>
29638
29639         Minor formatting changes.
29640         * lib/acosl.c: Insert space before function argument list.
29641         * lib/argz.c: Likewise.
29642         * lib/asinl.c: Likewise.
29643         * lib/expl.c: Likewise.
29644         * lib/gen-uni-tables.c: Likewise.
29645         * lib/gettext.h: Likewise.
29646         * lib/glthread/lock.h: Likewise.
29647         * lib/tanl.c: Likewise.
29648         * lib/uniname/uniname.c: Likewise.
29649         * tests/test-idpriv-drop.c: Likewise.
29650         * tests/test-idpriv-droptemp.c: Likewise.
29651         * tests/test-lock.c: Likewise.
29652         * tests/test-tls.c: Likewise.
29653         * lib/argp-help.c: Insert space before function-like macro argument
29654         list.
29655         * lib/memcmp.c: Likewise.
29656         * tests/test-base64.c: Likewise.
29657         * lib/localename.c: Insert space before sizeof's argument list.
29658         * lib/safe-alloc.h: Likewise.
29659         * lib/file-set.h: Insert space before macro argument list.
29660         * tests/test-argp.c: Likewise.
29661         * lib/argp-namefrob.h: Insert space before function parameter list.
29662         * lib/getaddrinfo.c: Likewise.
29663         * lib/netdb.in.h: Likewise.
29664         * lib/parse-duration.h: Likewise.
29665         * lib/parse-duration.c: Likewise.
29666         * lib/poll.c: Likewise.
29667         * lib/select.c: Likewise.
29668         * lib/trim.h: Likewise.
29669         * tests/test-usleep.c: Likewise.
29670         * lib/ldexpl.c: Insert space before function parameter list and before
29671         function argument list.
29672         * lib/logl.c: Likewise.
29673         * lib/sqrtl.c: Likewise.
29674         * lib/trim.c: Likewise.
29675         * lib/cosl.c: Use GNU style indentation. Insert space before function
29676         argument list.
29677         * lib/sinl.c: Likewise.
29678         * lib/tsearch.c: Insert space after 'for'.
29679         Reported by Jim Meyering.
29680
29681 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
29682
29683         * maint.mk (sc_Wundef_boolean): Check for the presence of the
29684         config header before grepping, as it's not present before
29685         autoreconf/configure are run.  Reported by Simon Josefsson.
29686
29687 2010-03-23  Bruno Haible  <bruno@clisp.org>
29688
29689         pt_chown: Make it work with automake < 1.11.
29690         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
29691         Reported by Simon Josefsson.
29692
29693 2010-03-23  Bruno Haible  <bruno@clisp.org>
29694
29695         pt_chown: Don't depend on GPLed modules.
29696         * lib/pt_chown.c: Don't include idpriv.h.
29697         (main): Don't drop privileges.
29698         * modules/pt_chown (Depends-on): Remove idpriv-drop.
29699         Reported by Simon Josefsson.
29700
29701 2010-03-24  Simon Josefsson  <simon@josefsson.org>
29702
29703         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
29704         suggestions from karl@freefriends.org (Karl Berry).
29705
29706 2010-03-22  Eric Blake  <eblake@redhat.com>
29707
29708         gethostname: further tweaks
29709         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
29710         are overriding gethostname.
29711         Suggested by Bruno Haible.
29712
29713 2010-03-21  Bruno Haible  <bruno@clisp.org>
29714
29715         Fix comments.
29716         * lib/forkpty.c (rpl_forkpty): Fix comment.
29717         * lib/openpty.c (rpl_openpty): Likewise.
29718         Reported by Eric Blake.
29719
29720 2010-03-22  Eric Blake  <eblake@redhat.com>
29721
29722         gethostname: fix build on mingw
29723         * lib/unistd.in.h (includes): Work around fact that mingw
29724         <winsock2.h> re-includes <unistd.h>, by avoiding any
29725         redeclarations if we are being included by <winsock2.h>.
29726         Reported by Matthias Bolte.
29727
29728 2010-03-21  Bruno Haible  <bruno@clisp.org>
29729
29730         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
29731         * lib/forkpty.c (forkpty): New replacement function, from glibc with
29732         modifications.
29733         * lib/pty.in.h (forkpty): Update declaration. Add comments.
29734         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
29735         provide the replacement.
29736         * modules/forkpty (Depends-on): Add openpty, login_tty.
29737         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
29738         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
29739         * doc/glibc-functions/forkpty.texi: More supported platforms.
29740         * config/srclist.txt: Add forkpty.c (commented).
29741
29742 2010-03-21  Bruno Haible  <bruno@clisp.org>
29743
29744         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
29745         (Makefile.am): Verify that PTY_LIB is defined.
29746
29747         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
29748
29749 2010-03-21  Bruno Haible  <bruno@clisp.org>
29750
29751         Tests for module 'login_tty'.
29752         * modules/login_tty-tests: New file.
29753         * tests/test-login_tty.c: New file.
29754
29755         New module 'login_tty'.
29756         * lib/login_tty.c: New file.
29757         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
29758         * modules/login_tty: New file.
29759         * doc/glibc-functions/login_tty.texi: Mention the new module.
29760
29761 2010-03-21  Bruno Haible  <bruno@clisp.org>
29762
29763         login_tty: Documentation.
29764         * doc/glibc-functions/login_tty.texi: New file.
29765         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
29766
29767 2010-03-21  Bruno Haible  <bruno@clisp.org>
29768
29769         pty: Consistent macro naming.
29770         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
29771         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
29772         * modules/pty (configure.ac): Update.
29773
29774 2010-03-21  Bruno Haible  <bruno@clisp.org>
29775
29776         Tests for openpty: Make stricter.
29777         * tests/test-openpty.c (main): Add test of canonical processing and
29778         erase.
29779         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
29780
29781         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
29782         * lib/openpty.c (openpty): New replacement function.
29783         * lib/pty.in.h: Include <termios.h>.
29784         (openpty): Update declaration. Add comments.
29785         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
29786         is not declared, arrange to provide the replacement. Check for _getpty
29787         and posix_openpt.
29788         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
29789         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
29790         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
29791         * modules/pty-tests (test_pty_c___LDADD): New variable.
29792         * doc/glibc-functions/openpty.texi: More supported platforms.
29793
29794 2010-03-21  Bruno Haible  <bruno@clisp.org>
29795
29796         setenv: Tweaks.
29797         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
29798         the test program.
29799         * doc/posix-functions/setenv.texi: Update platforms list.
29800
29801 2010-03-21  Bruno Haible  <bruno@clisp.org>
29802
29803         New module 'unlockpt'.
29804         * lib/unlockpt.c: New file, from glibc with modifications.
29805         * m4/unlockpt.m4: New file.
29806         * modules/unlockpt: New file.
29807         * lib/stdlib.in.h (unlockpt): New declaration.
29808         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
29809         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
29810         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
29811         HAVE_UNLOCKPT.
29812         * doc/posix-functions/unlockpt.texi: Mention the new module.
29813         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
29814         * config/srclist.txt: Add unlockpt.c (commented).
29815
29816 2010-03-21  Jim Meyering  <meyering@redhat.com>
29817
29818         maint.mk: prohibit inclusion of "intprops.h" without use
29819         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
29820
29821 2010-03-21  Bruno Haible  <bruno@clisp.org>
29822
29823         New module 'grantpt'.
29824         * lib/grantpt.c: New file, from glibc with modifications.
29825         * m4/grantpt.m4: New file.
29826         * modules/grantpt: New file.
29827         * lib/stdlib.in.h (grantpt): New declaration.
29828         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
29829         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
29830         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
29831         HAVE_GRANTPT.
29832         * doc/posix-functions/grantpt.texi: Mention the new module.
29833         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
29834         * config/srclist.txt: Add grantpt.c (commented).
29835
29836 2010-03-21  Bruno Haible  <bruno@clisp.org>
29837
29838         New module 'pt_chown'.
29839         * lib/pt_chown.c: New file, from glibc with modifications.
29840         * lib/pty-private.h: New file, from glibc with modifications.
29841         * modules/pt_chown: New file.
29842         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
29843
29844 2010-03-21  Bruno Haible  <bruno@clisp.org>
29845
29846         Tests for module 'ptsname'.
29847         * modules/ptsname-tests: New file.
29848         * tests/test-ptsname.c: New file.
29849
29850         New module 'ptsname'.
29851         * lib/ptsname.c: New file, from glibc with modifications.
29852         * m4/ptsname.m4: New file.
29853         * modules/ptsname: New file.
29854         * lib/stdlib.in.h (ptsname): New declaration.
29855         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
29856         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
29857         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
29858         HAVE_PTSNAME.
29859         * doc/posix-functions/ptsname.texi: Mention the new module.
29860         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
29861         * config/srclist.txt: Add ptsname.c (commented).
29862
29863 2010-03-21  Bruno Haible  <bruno@clisp.org>
29864
29865         Tests for module 'ttyname_r'.
29866         * modules/ttyname_r-tests: New file.
29867         * tests/test-ttyname_r.c: New file.
29868
29869         New module 'ttyname_r'.
29870         * lib/ttyname_r.c: New file.
29871         * m4/ttyname_r.m4: New file.
29872         * modules/ttyname_r: New file.
29873         * lib/unistd.in.h (ttyname_r): New declaration.
29874         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
29875         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
29876         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
29877         HAVE_TTYNAME_R.
29878         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
29879         * doc/posix-functions/ttyname_r.texi: Mention the new module.
29880
29881 2010-03-20  Bruno Haible  <bruno@clisp.org>
29882
29883         signal: Undefine macro definitions in C++ mode.
29884         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
29885         sigfillset): Undefine macro definitions from the system header in C++
29886         mode.
29887         Reported by John W. Eaton <jwe@gnu.org>.
29888
29889 2010-03-20  Bruno Haible  <bruno@clisp.org>
29890
29891         Ensure no #include statements inside extern "C" { ... }.
29892         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
29893         contain #include statements.
29894         * lib/time.in.h: Likewise.
29895
29896 2010-03-20  Bruno Haible  <bruno@clisp.org>
29897
29898         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
29899         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
29900         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
29901         Reported by John W. Eaton <jwe@gnu.org>.
29902
29903 2010-03-20  Bruno Haible  <bruno@clisp.org>
29904
29905         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
29906         Reported by Jim Meyering.
29907
29908 2010-03-20  Bruno Haible  <bruno@clisp.org>
29909
29910         pipe: Set errno upon failure.
29911         * lib/pipe.h: Specify that when -1 is returned, errno is set.
29912         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
29913         errno value in error message.
29914
29915 2010-03-20  Bruno Haible  <bruno@clisp.org>
29916             Jim Meyering  <meyering@redhat.com>
29917
29918         lchown: Avoid "unused variable" warning.
29919         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
29920
29921 2010-03-20  Bruno Haible  <bruno@clisp.org>
29922
29923         Work around unlink() bug on MacOS X 10.5.6.
29924         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
29925         attempting to unlink a parent directory.
29926         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
29927         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
29928         activate for the replacement function.
29929         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
29930
29931 2010-03-20  Bruno Haible  <bruno@clisp.org>
29932
29933         Fix link errors on Solaris 8.
29934         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
29935         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
29936
29937 2010-03-19  Jim Meyering  <meyering@redhat.com>
29938
29939         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
29940         The _LIBC implementation of build_range_exp correctly honors the
29941         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
29942         However, the non-_LIBC implementation would ignore that syntax-bit
29943         flag and return REG_ERANGE unconditionally.
29944         This change makes it honor that flag.
29945         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
29946         Make two pointer parameters "const".
29947         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
29948         (parse_bracket_exp): Update caller.
29949
29950         regex.m4: correct the reversed range endpoint ([b-a]) test
29951         * m4/regex.m4: When requiring that [b-a] evoke failure,
29952         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
29953         test pass once again for x86-based systems.
29954
29955 2010-03-19  Bruno Haible  <bruno@clisp.org>
29956
29957         scandir: Fix link error on Solaris 8.
29958         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
29959         macros.
29960
29961 2010-03-19  Bruno Haible  <bruno@clisp.org>
29962
29963         getusershell: Fix documentation.
29964         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
29965         module.
29966         * doc/glibc-functions/setusershell.texi: Likewise.
29967
29968         getusershell: Provide declaration, missing on Solaris 9.
29969         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
29970         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
29971         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
29972         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
29973         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
29974         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
29975         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
29976         HAVE_GETUSERSHELL.
29977         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
29978
29979 2010-03-19  Bruno Haible  <bruno@clisp.org>
29980
29981         wctype: Provide iswblank function.
29982         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
29983         exists and is fine.
29984         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
29985         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
29986         * tests/test-wctype.c (main): Re-enable the iswblank tests.
29987         * doc/posix-functions/iswblank.texi: Update.
29988
29989 2010-03-19  Bruno Haible  <bruno@clisp.org>
29990
29991         Tests of module 'pty' in C++ mode.
29992         * modules/pty-tests: New file.
29993         * tests/test-pty-c++.cc: New file.
29994         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
29995
29996 2010-03-19  Eric Blake  <eblake@redhat.com>
29997
29998         logb: fix documentation
29999         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
30000         1.5 declaration bug.
30001
30002         forkpty, openpty: prefer glibc's const-safe prototype
30003         * lib/forkpty.c (rpl_forkpty): New file.
30004         * lib/openpty.c (rpl_openpty): Likewise.
30005         * modules/forkpty (Files): Distribute it.
30006         * modules/openpty (Files): Likewise.
30007         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
30008         check...
30009         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
30010         replacement for for non-const BSD signature.
30011         * modules/pty (Makefile.am): Substitute witnesses.
30012         * lib/pty.in.h (forkpty, openpty): Declare replacements.
30013         * tests/test-forkpty.c: Update signature check.
30014         * tests/test-openpty.c: Likewise.
30015         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
30016         * doc/glibc-functions/openpty.texi (openpty): Likewise.
30017
30018         forkpty, openpty: split functions into new modules
30019         * modules/pty (Makefile.am): Substitute new witnesses.
30020         (Libraries): Move library detection...
30021         * modules/forkpty: ...into new module.
30022         * modules/openpty: Another new module.
30023         * modules/pty-tests: Rename and split...
30024         * modules/forkpty-tests: ...to this...
30025         * modules/openpty-tests: ...and this.
30026         * tests/test-pty.c: Rename and split...
30027         * tests/test-forkpty.c: ...to this...
30028         * tests/test-openpty.c: ...and this.
30029         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
30030         (gl_PTY): Split library searching...
30031         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
30032         (gl_FORKPTY, gl_OPENPTY): New macros.
30033         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
30034         * NEWS: Mention the split.
30035         * MODULES.html.sh (Misc): Document the modules.
30036         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
30037         * doc/glibc-functions/openpty.texi (openpty): Likewise.
30038
30039         pty: improve replacement header
30040         * lib/pty.in.h: New file.
30041         * modules/pty (Files): Ship it.
30042         (Makefile.am): Always build replacement.
30043         * m4/pty.m4: Rename...
30044         * m4/pty_h.m4: ...to this.
30045         (gl_PTY): Modernize setting of witness macros; update check of
30046         forkpty to take proper advantage of cache.
30047         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
30048
30049         getopt: avoid compiler warning
30050         * lib/getopt.c (attribute_hidden): Remove unused macro.
30051
30052 2010-03-18  Bruno Haible  <bruno@clisp.org>
30053
30054         Fix link errors on Solaris 8.
30055         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
30056         * modules/search-tests (test_search_c___LDADD): Likewise.
30057         * modules/signal-tests (test_signal_c___LDADD): Likewise.
30058         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
30059         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
30060         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
30061         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
30062         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
30063         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
30064
30065 2010-03-18  Bruno Haible  <bruno@clisp.org>
30066
30067         Fix bug introduced on 2010-03-14.
30068         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
30069         (gl_SPAWN_H): Require it.
30070         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
30071         Reported by Simon Josefsson.
30072
30073 2010-03-18  Bruno Haible  <bruno@clisp.org>
30074
30075         Fix typo introduced on 2009-12-31.
30076         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
30077         posix_spawn_file_actions_adddup2.
30078
30079 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
30080         and Eric Blake  <eblake@redhat.com>
30081
30082         test-vc-list-files-git: make more robust
30083         * tests/test-vc-list-files-git.sh: Unset problematic environment
30084         variables.  Chain commands together.
30085
30086 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
30087
30088         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
30089         `AC_CHECK_DECL' invocation.
30090
30091 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
30092
30093         * lib/inttostr.c (inttostr): Make sure the invocation of verify
30094         appears before executable statements. Suggested by Petr Sumbera
30095         <Petr.Sumbera@Sun.COM>.
30096
30097 2010-03-14  Bruno Haible  <bruno@clisp.org>
30098
30099         * tests/test-flock.c (test_exclusive): Comment out a test that causes
30100         portability problems. Instead use a simpler test.
30101         (main): Check that invalid arguments are rejected only on Linux.
30102
30103 2010-03-14  Bruno Haible  <bruno@clisp.org>
30104
30105         Fix bug introduced on 2009-12-31.
30106         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
30107         gl_PREREQ_SYS_H_WINSOCK2 always.
30108         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
30109         SYS_SOCKET_H variable.
30110         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
30111         Update comments.
30112         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
30113         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
30114         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
30115         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
30116         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
30117
30118 2010-03-14  Bruno Haible  <bruno@clisp.org>
30119
30120         Fix values returned by sinl, cosl.
30121         * lib/trigl.h: Add specification comments.
30122         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
30123         that combines the values from the precomputed table with the values of
30124         the Chebyshev polynomials.
30125
30126 2010-03-14  Bruno Haible  <bruno@clisp.org>
30127
30128         Fix compilation error when modules 'posix_spawn[p]' are not used.
30129         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
30130         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
30131
30132 2010-03-14  Bruno Haible  <bruno@clisp.org>
30133
30134         Fix compilation error on mingw when module 'time_r' is not used.
30135         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
30136         is 1.
30137         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
30138         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30139         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
30140         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
30141
30142 2010-03-14  Bruno Haible  <bruno@clisp.org>
30143
30144         Fix compilation error with Sun C.
30145         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
30146         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
30147         instead of GCC specific ULONG_LONG_MAX.
30148         * lib/xstrtoll.c: Likewise.
30149         * lib/xstrtoull.c: Likewise.
30150
30151 2010-03-13  Bruno Haible  <bruno@clisp.org>
30152
30153         Allow the user to disable C++ code and tests.
30154         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
30155         (gl_PROG_ANSI_CXX): Require it.
30156
30157 2010-03-13  Bruno Haible  <bruno@clisp.org>
30158
30159         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
30160         cases.
30161
30162 2010-03-13  Bruno Haible  <bruno@clisp.org>
30163
30164         Test that gnulib does not break the standard C++ headers.
30165         * tests/test-locale-c++2.cc: New file.
30166         * modules/locale-tests (Files): Add it.
30167         (Makefile.am): Compile it for test-locale-c++.
30168         * tests/test-math-c++2.cc: New file.
30169         * modules/math-tests (Files): Add it.
30170         (Makefile.am): Compile it for test-math-c++.
30171         * tests/test-signal-c++2.cc: New file.
30172         * modules/signal-tests (Files): Add it.
30173         (Makefile.am): Compile it for test-signal-c++.
30174         * tests/test-stdio-c++2.cc: New file.
30175         * modules/stdio-tests (Files): Add it.
30176         (Makefile.am): Compile it for test-stdio-c++.
30177         * tests/test-stdlib-c++2.cc: New file.
30178         * modules/stdlib-tests (Files): Add it.
30179         (Makefile.am): Compile it for test-stdlib-c++.
30180         * tests/test-string-c++2.cc: New file.
30181         * modules/string-tests (Files): Add it.
30182         (Makefile.am): Compile it for test-string-c++.
30183         * tests/test-time-c++2.cc: New file.
30184         * modules/time-tests (Files): Add it.
30185         (Makefile.am): Compile it for test-time-c++.
30186         Reported by John W. Eaton <jwe@gnu.org>.
30187
30188 2010-03-13  Bruno Haible  <bruno@clisp.org>
30189
30190         * gnulib-tool (func_usage): Clarify which options are available for
30191         --create-testdir and --create-megatestdir.
30192
30193 2010-03-13  Bruno Haible  <bruno@clisp.org>
30194
30195         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
30196         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
30197         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
30198         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
30199         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
30200         when appropriate.
30201         Reported by Jim Meyering.
30202
30203 2010-03-12  Simon Josefsson  <simon@josefsson.org>
30204
30205         * gnulib-tool (func_import): Explain origin of code.
30206
30207 2010-03-12  Bruno Haible  <bruno@clisp.org>
30208
30209         Fix problem with automake's definition of CXXLINK.
30210         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
30211         Reported by Simon Josefsson and Ludovic Courtès.
30212
30213 2010-03-12  Bruno Haible  <bruno@clisp.org>
30214
30215         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
30216         stable releases.
30217
30218 2010-03-11  Bruno Haible  <bruno@clisp.org>
30219
30220         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
30221         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
30222         whether the system provides one variant or multiple variants of the
30223         function.
30224         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
30225         C++ compilers.
30226         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
30227         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
30228         Reported by Jim Meyering.
30229
30230 2010-03-09  Simon Josefsson  <simon@josefsson.org>
30231
30232         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
30233
30234 2010-03-08  Bruno Haible  <bruno@clisp.org>
30235
30236         gnulib-tool: Add support for --libtool in --create-testdir.
30237         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
30238         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
30239
30240 2010-03-08  Eric Blake  <eblake@redhat.com>
30241
30242         gnulib-tool.texi: mention possibility of git submodule
30243         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
30244         submodules.
30245         * doc/.gitignore: Ignore another generated file.
30246
30247 2010-03-08  Karl Berry  <karl@gnu.org>
30248
30249         * doc/gnulib-tool.texi (VCS Issues): Mention third option
30250         of committing gnulib files while skipping others.
30251
30252 2010-03-07  Bruno Haible  <bruno@clisp.org>
30253
30254         Tests of module 'wctype' in C++ mode.
30255         * tests/test-wctype-c++.cc: New file.
30256         * modules/wctype-tests (Files): Add it and tests/signature.h.
30257         (Depends-on): Add ansi-c++-opt.
30258         (Makefile.am): Arrange to compile and run test-wctype-c++.
30259
30260         Tests of module 'wchar' in C++ mode.
30261         * tests/test-wchar-c++.cc: New file.
30262         * modules/wchar-tests (Files): Add it and tests/signature.h.
30263         (Depends-on): Add ansi-c++-opt.
30264         (Makefile.am): Arrange to compile and run test-wchar-c++.
30265         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
30266         gl_MODULE_INDICATOR.
30267
30268         Tests of module 'unistd' in C++ mode.
30269         * tests/test-unistd-c++.cc: New file.
30270         * modules/unistd-tests (Files): Add it and tests/signature.h.
30271         (Depends-on): Add ansi-c++-opt.
30272         (Makefile.am): Arrange to compile and run test-unistd-c++.
30273         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
30274         gl_MODULE_INDICATOR.
30275
30276         Tests of module 'time' in C++ mode.
30277         * tests/test-time-c++.cc: New file.
30278         * modules/time-tests (Files): Add it and tests/signature.h.
30279         (Depends-on): Add ansi-c++-opt.
30280         (Makefile.am): Arrange to compile and run test-time-c++.
30281         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30282
30283         Tests of module 'sys_time' in C++ mode.
30284         * tests/test-sys_time-c++.cc: New file.
30285         * modules/sys_time-tests (Files): Add it and tests/signature.h.
30286         (Depends-on): Add ansi-c++-opt.
30287         (Makefile.am): Arrange to compile and run test-sys_time-c++.
30288         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
30289         gl_MODULE_INDICATOR.
30290
30291         Tests of module 'sys_stat' in C++ mode.
30292         * tests/test-sys_stat-c++.cc: New file.
30293         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
30294         (Depends-on): Add ansi-c++-opt.
30295         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
30296         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
30297         gl_MODULE_INDICATOR.
30298
30299         Tests of module 'sys_socket' in C++ mode.
30300         * tests/test-sys_socket-c++.cc: New file.
30301         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
30302         (Depends-on): Add ansi-c++-opt.
30303         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
30304         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
30305         gl_MODULE_INDICATOR.
30306
30307         Tests of module 'sys_select' in C++ mode.
30308         * tests/test-sys_select-c++.cc: New file.
30309         * modules/sys_select-tests (Files): Add it and tests/signature.h.
30310         (Depends-on): Add ansi-c++-opt.
30311         (Makefile.am): Arrange to compile and run test-sys_select-c++.
30312         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
30313         gl_MODULE_INDICATOR.
30314
30315         Tests of module 'sys_ioctl' in C++ mode.
30316         * tests/test-sys_ioctl-c++.cc: New file.
30317         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
30318         (Depends-on): Add ansi-c++-opt.
30319         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
30320         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
30321         gl_MODULE_INDICATOR.
30322
30323         Tests of module 'string' in C++ mode.
30324         * tests/test-string-c++.cc: New file.
30325         * modules/string-tests (Files): Add it and tests/signature.h.
30326         (Depends-on): Add ansi-c++-opt.
30327         (Makefile.am): Arrange to compile and run test-string-c++.
30328         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
30329         gl_MODULE_INDICATOR.
30330
30331         Tests of module 'stdlib' in C++ mode.
30332         * tests/test-stdlib-c++.cc: New file.
30333         * modules/stdlib-tests (Files): Add it and tests/signature.h.
30334         (Depends-on): Add ansi-c++-opt.
30335         (Makefile.am): Arrange to compile and run test-stdlib-c++.
30336         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
30337         gl_MODULE_INDICATOR.
30338
30339         Tests of module 'stdio' in C++ mode.
30340         * tests/test-stdio-c++.cc: New file.
30341         * modules/stdio-tests (Files): Add it and tests/signature.h.
30342         (Depends-on): Add ansi-c++-opt.
30343         (Makefile.am): Arrange to compile and run test-stdio-c++.
30344         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
30345         gl_MODULE_INDICATOR.
30346
30347         Tests of module 'spawn' in C++ mode.
30348         * tests/test-spawn-c++.cc: New file.
30349         * modules/spawn-tests (Files): Add it and tests/signature.h.
30350         (Depends-on): Add ansi-c++-opt.
30351         (Makefile.am): Arrange to compile and run test-spawn-c++.
30352         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
30353         gl_MODULE_INDICATOR.
30354
30355         Tests of module 'signal' in C++ mode.
30356         * tests/test-signal-c++.cc: New file.
30357         * modules/signal-tests (Files): Add it and tests/signature.h.
30358         (Depends-on): Add ansi-c++-opt.
30359         (Makefile.am): Arrange to compile and run test-signal-c++.
30360         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
30361         gl_MODULE_INDICATOR.
30362
30363         Tests of module 'search' in C++ mode.
30364         * tests/test-search-c++.cc: New file.
30365         * modules/search-tests (Files): Add it and tests/signature.h.
30366         (Depends-on): Add ansi-c++-opt.
30367         (Makefile.am): Arrange to compile and run test-search-c++.
30368         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
30369         gl_MODULE_INDICATOR.
30370
30371         Tests of module 'math' in C++ mode.
30372         * tests/test-math-c++.cc: New file.
30373         * modules/math-tests (Files): Add it and tests/signature.h.
30374         (Depends-on): Add ansi-c++-opt.
30375         (Makefile.am): Arrange to compile and run test-math-c++.
30376         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
30377
30378         Tests of module 'locale' in C++ mode.
30379         * tests/test-locale-c++.cc: New file.
30380         * modules/locale-tests (Files): Add it and tests/signature.h.
30381         (Depends-on): Add ansi-c++-opt.
30382         (Makefile.am): Arrange to compile and run test-locale-c++.
30383         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
30384         gl_MODULE_INDICATOR.
30385
30386         Tests of module 'langinfo' in C++ mode.
30387         * tests/test-langinfo-c++.cc: New file.
30388         * modules/langinfo-tests (Files): Add it and tests/signature.h.
30389         (Depends-on): Add ansi-c++-opt.
30390         (Makefile.am): Arrange to compile and run test-langinfo-c++.
30391         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
30392         gl_MODULE_INDICATOR.
30393
30394         Tests of module 'iconv-h' in C++ mode.
30395         * tests/test-iconv-h-c++.cc: New file.
30396         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
30397         (Depends-on): Add ansi-c++-opt.
30398         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
30399
30400         Tests of module 'glob' in C++ mode.
30401         * tests/test-glob-c++.cc: New file.
30402         * modules/glob-tests (Files): Add it.
30403         (Depends-on): Add ansi-c++-opt.
30404         (Makefile.am): Arrange to compile and run test-glob-c++.
30405
30406         Tests of module 'fcntl-h' in C++ mode.
30407         * tests/test-fcntl-h-c++.cc: New file.
30408         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
30409         (Depends-on): Add ansi-c++-opt.
30410         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
30411         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
30412         gl_MODULE_INDICATOR.
30413
30414         Tests of module 'dirent' in C++ mode.
30415         * tests/test-dirent-c++.cc: New file.
30416         * modules/dirent-tests (Files): Add it and tests/signature.h.
30417         (Depends-on): Add ansi-c++-opt.
30418         (Makefile.am): Arrange to compile and run test-dirent-c++.
30419         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
30420         gl_MODULE_INDICATOR.
30421
30422         New module 'ansi-c++-opt'.
30423         * modules/ansi-c++-opt: New file.
30424         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
30425
30426         Document C++ namespace mode.
30427         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
30428
30429         wctype: Avoid #define replacements in C++ mode.
30430         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
30431         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
30432         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
30433         In C++, define a namespaced alias symbol.
30434         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
30435         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
30436         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
30437         rule.
30438
30439         wchar: Avoid #define replacements in C++ mode.
30440         * lib/wchar.in.h: Include c++defs.h.
30441         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
30442         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
30443         symbol.
30444         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
30445         * modules/wchar (Depends-on): Add c++defs.
30446         (Makefile.am): Update wchar.h rule.
30447
30448         unistd: Avoid #define replacements in C++ mode.
30449         * lib/unistd.in.h: Include c++defs.h.
30450         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
30451         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
30452         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
30453         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
30454         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
30455         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
30456         symbol.
30457         (environ): Update.
30458         * modules/unistd (Depends-on): Add c++defs.
30459         (Makefile.am): Update unistd.h rule.
30460
30461         time: Avoid #define replacements in C++ mode.
30462         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
30463         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
30464         define a namespaced alias symbol.
30465         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
30466         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
30467         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
30468         * modules/time (Depends-on): Add c++defs, warn-on-use.
30469         (Makefile.am): Update time.h rule.
30470         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
30471         * modules/nanosleep (configure.ac): Likewise.
30472         * modules/strptime (configure.ac): Likewise.
30473         * modules/timegm (configure.ac): Likewise.
30474
30475         sys_time: Avoid #define replacements in C++ mode.
30476         * lib/sys_time.in.h: Include c++defs.h.
30477         (gettimeofday): In C++, define a namespaced alias symbol.
30478         * modules/sys_time (Depends-on): Add c++defs.
30479         (Makefile.am): Update sys/time.h rule.
30480
30481         sys_stat: Avoid #define replacements in C++ mode.
30482         * lib/sys_stat.in.h: Include c++defs.h.
30483         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
30484         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
30485         namespaced alias symbol.
30486         In C++, define a namespaced alias symbol.
30487         * modules/sys_stat (Depends-on): Add c++defs.
30488         (Makefile.am): Update sys/stat.h rule.
30489
30490         sys_socket: Avoid #define replacements in C++ mode.
30491         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
30492         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
30493         definitions also when the system has a <sys/socket.h>.
30494         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
30495         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
30496         In C++, define a namespaced alias symbol.
30497         * modules/sys_socket (Depends-on): Add c++defs.
30498         (Makefile.am): Update sys/socket.h rule.
30499
30500         sys_select: Avoid #define replacements in C++ mode.
30501         * lib/sys_select.in.h: Include c++defs.h. Enable the function
30502         definitions also when the system has a <sys/select.h>.
30503         (select): In C++, define a namespaced alias symbol.
30504         * modules/sys_select (Depends-on): Add c++defs.
30505         (Makefile.am): Update sys/select.h rule.
30506
30507         sys_ioctl: Avoid #define replacements in C++ mode.
30508         * lib/sys_ioctl.in.h: Include c++defs.h.
30509         (ioctl): In C++, define a namespaced alias symbol.
30510         * modules/sys_ioctl (Depends-on): Add c++defs.
30511         (Makefile.am): Update sys/ioctl.h rule.
30512
30513         string: Avoid #define replacements in C++ mode.
30514         * lib/string.in.h: Include c++defs.h.
30515         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
30516         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
30517         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
30518         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
30519         strsignal, strverscmp): In C++, define a namespaced alias symbol.
30520         * modules/string (Depends-on): Add c++defs.
30521         (Makefile.am): Update string.h rule.
30522
30523         stdlib: Avoid #define replacements in C++ mode.
30524         * lib/stdlib.in.h: Include c++defs.h.
30525         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
30526         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
30527         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
30528         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
30529         symbol.
30530         * modules/stdlib (Depends-on): Add c++defs.
30531         (Makefile.am): Update stdlib.h rule.
30532
30533         stdio: Avoid #define replacements in C++ mode.
30534         * lib/stdio.in.h: Include c++defs.h.
30535         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
30536         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
30537         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
30538         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
30539         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
30540         namespaced alias symbol.
30541         * modules/stdio (Depends-on): Add c++defs.
30542         (Makefile.am): Update stdio.h rule.
30543
30544         spawn: Avoid #define replacements in C++ mode.
30545         * lib/spawn.in.h: Include c++defs.h.
30546         (posix_spawn, posix_spawnp, posix_spawnattr_init,
30547         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
30548         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
30549         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
30550         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
30551         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
30552         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
30553         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
30554         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
30555         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
30556         In C++, define a namespaced alias symbol.
30557         * modules/spawn (Depends-on): Add c++defs.
30558         (Makefile.am): Update spawn.h rule.
30559
30560         signal: Avoid #define replacements in C++ mode.
30561         * lib/signal.in.h: Include c++defs.h.
30562         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
30563         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
30564         namespaced alias symbol.
30565         * modules/signal (Depends-on): Add c++defs.
30566         (Makefile.am): Update signal.h rule.
30567
30568         search: Avoid #define replacements in C++ mode.
30569         * lib/search.in.h: Include c++defs.h.
30570         (_gl_search_compar_fn, _gl_search_action_fn): New types.
30571         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
30572         symbol.
30573         * modules/search (Depends-on): Add c++defs.
30574         (Makefile.am): Update search.h rule.
30575
30576         math: Avoid #define replacements in C++ mode.
30577         * lib/math.in.h: Include c++defs.h.
30578         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
30579         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
30580         trunc, truncl): In C++, define a namespaced alias symbol.
30581         * modules/math (Depends-on): Add c++defs.
30582         (Makefile.am): Update math.h rule.
30583
30584         locale: Avoid #define replacements in C++ mode.
30585         * lib/locale.in.h: Include c++defs.h.
30586         (duplocale): In C++, define a namespaced alias symbol.
30587         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
30588         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
30589         * modules/locale (Depends-on): Add c++defs.
30590         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
30591
30592         langinfo: Avoid #define replacements in C++ mode.
30593         * lib/langinfo.in.h: Include c++defs.h.
30594         (nl_langinfo): In C++, define a namespaced alias symbol.
30595         * modules/langinfo (Depends-on): Add c++defs.
30596         (Makefile.am): Update langinfo.h rule.
30597
30598         iconv-h: Avoid #define replacements in C++ mode.
30599         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
30600         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
30601         symbol.
30602         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
30603         whenever iconv is present.
30604         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
30605         (Makefile.am): Update iconv.h rule.
30606
30607         glob: Avoid #define replacements in C++ mode.
30608         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
30609         (_gl_glob_errfunc_fn): New type.
30610         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
30611         symbol.
30612         * modules/glob (Depends-on): Add c++defs, warn-on-use.
30613         (Makefile.am): Update glob.h rule.
30614
30615         fcntl-h: Avoid #define replacements in C++ mode.
30616         * lib/fcntl.in.h: Include c++defs.h.
30617         (fcntl, open, openat): In C++, define a namespaced alias symbol.
30618         * modules/fcntl-h (Depends-on): Add c++defs.
30619         (Makefile.am): Update fcntl.h rule.
30620
30621         dirent: Avoid #define replacements in C++ mode.
30622         * lib/dirent.in.h: Include c++defs.h.
30623         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
30624         namespaced alias symbol.
30625         (dirfd): Update declaration.
30626         * modules/dirent (Depends-on): Add c++defs.
30627         (Makefile.am): Update dirent.h rule.
30628
30629         ctype: Make it usable in C++ code.
30630         * lib/ctype.in.h: Include c++defs.h.
30631         (isblank): Declare as extern "C".
30632         * modules/ctype (Depends-on): Add c++defs.
30633         (Makefile.am): Update ctype.h rule.
30634
30635         New module 'c++defs'.
30636         * modules/c++defs: New file.
30637         * build-aux/c++defs.h: New file.
30638         Reported by John W. Eaton <jwe@gnu.org>.
30639
30640 2010-03-07  Bruno Haible  <bruno@clisp.org>
30641
30642         logb: Provide missing declaration for Cygwin.
30643         * lib/math.in.h (logb): New declaration.
30644         * m4/logb.m4: New file.
30645         * modules/logb (Files): Add m4/logb.m4.
30646         (Depends-on): Add math.
30647         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
30648         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
30649         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
30650         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
30651         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
30652
30653 2010-03-07  Bruno Haible  <bruno@clisp.org>
30654
30655         Fix test-cond link error.
30656         * tests/test-cond.c: Include <stdio.h>.
30657
30658 2010-03-07  Bruno Haible  <bruno@clisp.org>
30659
30660         Fix test-dirent-safer link error.
30661         * modules/dirent-safer-tests (Makefile.am): Define
30662         test_dirent_safer_LDADD.
30663
30664 2010-03-07  Bruno Haible  <bruno@clisp.org>
30665
30666         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
30667         among default module list.
30668
30669 2010-03-07  Bruno Haible  <bruno@clisp.org>
30670
30671         Fix link error on platforms with GNU libiconv.
30672         * modules/unistr/u8-strcoll-tests (Makefile): Define
30673         test_u8_strcoll_LDADD.
30674         * modules/unistr/u16-strcoll-tests (Makefile): Define
30675         test_u16_strcoll_LDADD.
30676         * modules/unistr/u32-strcoll-tests (Makefile): Define
30677         test_u32_strcoll_LDADD.
30678
30679 2010-03-07  Bruno Haible  <bruno@clisp.org>
30680
30681         Use POSIX declarations for socket functions.
30682         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
30683         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
30684         rpl_sendto): Change declaration to match POSIX.
30685         * lib/connect.c (rpl_connect): Likewise.
30686         * lib/accept.c (rpl_accept): Likewise.
30687         * lib/bind.c (rpl_bind): Likewise.
30688         * lib/getpeername.c (rpl_getpeername): Likewise.
30689         * lib/getsockname.c (rpl_getsockname): Likewise.
30690         * lib/recv.c (rpl_recv): Likewise.
30691         * lib/send.c (rpl_send): Likewise.
30692         * lib/recvfrom.c (rpl_recvfrom): Likewise.
30693         * lib/sendto.c (rpl_sendto): Likewise.
30694
30695 2010-03-06  Bruno Haible  <bruno@clisp.org>
30696
30697         Clarify access, euidaccess, faccessat.
30698         * doc/posix-functions/faccessat.texi: Mention security problem under
30699         "Other problems", not "Portability problems".
30700         * doc/posix-functions/access.texi: Likewise. Mention a related security
30701         problem.
30702         * doc/glibc-functions/euidaccess.texi: Mention security problems.
30703         * lib/euidaccess.c: Add comments about platforms.
30704         * lib/unistd.in.h (access, euidaccess): Add warnings.
30705
30706 2010-03-07  Bruno Haible  <bruno@clisp.org>
30707
30708         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
30709         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
30710         (POSIX_SPAWN_SETSCHEDULER): Likewise.
30711         (POSIX_SPAWN_USEVFORK): Define in a way that works when
30712         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
30713         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
30714         declare when POSIX_SPAWN_SETSCHEDULER is zero.
30715         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
30716         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
30717         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
30718         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
30719         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
30720         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
30721         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
30722         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
30723         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
30724         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
30725         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
30726         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
30727         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
30728         Likewise.
30729         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
30730         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
30731         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
30732         Likewise.
30733         * tests/test-spawn.c (main): Make it work when
30734         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
30735
30736 2010-03-07  Bruno Haible  <bruno@clisp.org>
30737
30738         Fix incorrect Makefile.am generation in German locale.
30739         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
30740         Execute sed command with character range in C locale.
30741
30742 2010-03-06  Bruno Haible  <bruno@clisp.org>
30743
30744         Tests for module 'iconv-h'.
30745         * modules/iconv-h-tests: New file.
30746         * tests/test-iconv-h.c: New file.
30747
30748         New module 'iconv-h'.
30749         * modules/iconv-h: New file.
30750         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
30751         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
30752         (configure.ac): Remove gl_ICONV_H.
30753         (Makefile.am): Remove rule for iconv.h.
30754
30755 2010-03-06  Bruno Haible  <bruno@clisp.org>
30756
30757         More consistent naming of *.m4 files.
30758         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
30759         * modules/wctype (Files): Update.
30760
30761         More consistent naming of *.m4 files.
30762         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
30763         * modules/wchar (Files): Update.
30764
30765 2010-03-06  Jim Meyering  <meyering@redhat.com>
30766
30767         euidaccess: relax license to LGPLv2+
30768         * modules/euidaccess (License): Relax to LGPLv2+.
30769
30770 2010-03-06  Bruno Haible  <bruno@clisp.org>
30771
30772         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
30773         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
30774         (Makefile.am): Augment lib_SOURCES instead.
30775
30776 2010-03-04  Jim Meyering  <meyering@redhat.com>
30777
30778         utime: remove obsolete module
30779         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
30780         unnecessary for years, and has been marked as obsolete for 10 months.
30781         * modules/utime: Remove file.
30782         * lib/utime.c: Remove file.
30783         * m4/utime.m4: Remove file.
30784         * m4/utimes-null.m4: Remove file.
30785         * doc/posix-functions/utime.texi (utime): Remove reference to
30786         the module.  Move the sole "fixed by gnulib" item into the
30787         "problems not fixed by Gnulib" list.
30788         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
30789
30790 2010-03-05  Simon Josefsson  <simon@josefsson.org>
30791
30792         * modules/exit (License): Relax license to LGPLv2+.
30793         (Status): Mark as obsolete.
30794         * NEWS: Mention deprecated 'exit' module.
30795         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
30796         of now obsolete 'exit'.
30797
30798 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30799
30800         fts-lgpl: remove unused module
30801         * modules/fts-lgpl: Remove.
30802         * MODULES.html.sh (func_all_modules): Adjust.
30803         * check-module (find_included_lib_files): Adjust.
30804         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
30805
30806 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
30807
30808         copy-acl: enhance Solaris ACL error handling
30809         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
30810         * lib/set-mode-acl.c (qset_acl): Likewise.
30811
30812 2010-03-02  Bruno Haible  <bruno@clisp.org>
30813
30814         spawn: Don't override the system defined values on FreeBSD 8.
30815         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
30816         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
30817         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
30818         if HAVE_POSIX_SPAWN is 1.
30819         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
30820
30821 2010-03-01  Bruno Haible  <bruno@clisp.org>
30822
30823         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
30824         regarding Automake.
30825
30826 2010-02-25  Bruno Haible  <bruno@clisp.org>
30827
30828         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
30829         * gnulib-tool: Define 'echo' as a function only before the ksh alias
30830         setting, not afterwards.
30831         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
30832
30833 2010-02-24  Eric Blake  <eblake@redhat.com>
30834
30835         bootstrap, git-version-gen: use timestamp
30836         * build-aux/git-version-gen (scriptversion): Force UTC.
30837         * build-aux/bootstrap (scriptversion): New variable.
30838
30839         bootstrap: allow older git
30840         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
30841         older than 1.6.4.  Requested by the libvirt project.
30842
30843 2010-02-23  Eric Blake  <eblake@redhat.com>
30844
30845         warn-on-use: work with old autoconf
30846         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
30847         AS_VAR semantics of autoconf 2.60.
30848         Reported by Bruno Haible.
30849
30850         bootstrap: improve some comments
30851         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
30852         clarification comments.
30853
30854         gettimeofday: provide correct function
30855         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
30856         when replacement is declared, otherwise provide gettimeofday.
30857         Reported by Michael Goffioul.
30858
30859 2010-02-23  Jim Meyering  <meyering@redhat.com>
30860
30861         lib-ignore: relax license to "unlimited", not LGPLv2+
30862         * modules/lib-ignore (License): Relax to "unlimited".
30863
30864 2010-02-23  Jim Meyering  <meyering@redhat.com>
30865
30866         lib-ignore: relax license to LGPLv2+
30867         * modules/lib-ignore (License): Relax to LGPLv2+.
30868
30869 2010-02-22  Eric Blake  <eblake@redhat.com>
30870
30871         lseek: avoid bash 3.2 broken pipe bug
30872         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
30873         warning from bash 3.2.
30874         Reported by Ben Pfaff, with analysis from Bruno Haible.
30875
30876         bootstrap: support non-FSF copyright holder
30877         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
30878         bootstrap.conf override of COPYRIGHT_HOLDER.
30879         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
30880
30881         bootstrap: interoperate with gettext 0.14.1
30882         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
30883
30884         bootstrap: allow for alternate submodule location
30885         * build-aux/bootstrap (gnulib_path): New variable; use instead of
30886         hardcoding submodule location.
30887         (gnulib_mk): Allow direct use of Makefile.am.
30888
30889         bootstrap: use GNULIB_SRCDIR to reduce disk usage
30890         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
30891         rather than reconfiguring where the submodule points.
30892
30893         gettimeofday: restore support for platforms that lack function
30894         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
30895         replacement if function is missing.
30896         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
30897         * modules/sys_time (Makefile.am): Substitute it.
30898         * lib/sys_time.in.h (gettimeofday): Check it.
30899         Reported by Michael Goffioul.
30900
30901 2010-02-21  Bruno Haible  <bruno@clisp.org>
30902
30903         * lib/stdio.in.h (obstack_printf): Fix typo.
30904
30905 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
30906
30907         vc-list-files: use bzr ls's -R option
30908         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
30909         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
30910
30911 2010-02-21  Jim Meyering  <meyering@redhat.com>
30912
30913         init.sh: fix EXEEXT shims to work also for names like test-prog
30914         * tests/init.sh: Re-exec a better shell, when needed.
30915         If the current shell lacks support for posix $(...), an init.sh-using
30916         test will now try to find a shell that supports that.  If EXEEXT is
30917         nonempty, we also require support for hyphen-in-alias-name and shell
30918         substitutions like ${var#glob}.  Failure to find such a shell results
30919         in a skipped test.
30920
30921 2010-02-21  Bruno Haible  <bruno@clisp.org>
30922
30923         Really work around around "broken pipe" error message from bash 3.2.
30924         * gnulib-tool (func_reset_sigpipe): Remove function.
30925         (echo): In bash 3.2, define to a function that uses printf.
30926         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
30927
30928 2010-02-20  Bruno Haible  <bruno@clisp.org>
30929
30930         Restore support for automake 1.9.6 with autoconf 2.61.
30931         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
30932         Reported by James Youngman <jay@gnu.org>.
30933
30934 2010-02-20  Bruno Haible  <bruno@clisp.org>
30935
30936         Improve *printf warning condition.
30937         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
30938         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
30939         and the function is overridden due to SIGPIPE emulation.
30940
30941 2010-02-20  Bruno Haible  <bruno@clisp.org>
30942
30943         * lib/stdio.in.h: Tweak comments.
30944
30945 2010-02-19  Bruno Haible  <bruno@clisp.org>
30946
30947         Make it easier to find modules. New gnulib-tool option '--find'.
30948         * gnulib-tool: New option --find.
30949         (func_usage): Document it.
30950         (func_sanitize_modulelist): New function, extracted from
30951         func_all_modules.
30952         (func_all_modules): Invoke it.
30953         * doc/gnulib-tool.texi (Which modules?): New node.
30954
30955 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
30956
30957         * lib/sys_select.in.h: Provide select replacement even if
30958         sys/select.h exists on a system, for Interix.
30959
30960 2010-02-18  Jim Meyering  <meyering@redhat.com>
30961
30962         init.sh: don't use $(...) just yet
30963         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
30964         to accommodate e.g., Solaris' /bin/sh.
30965
30966 2010-02-17  Bruno Haible  <bruno@clisp.org>
30967
30968         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
30969         Reported by Ludovic Courtès <ludo@gnu.org>.
30970
30971 2010-02-16  Simon Josefsson  <simon@josefsson.org>
30972
30973         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
30974         linking with -lintl.
30975
30976 2010-02-17  Simon Josefsson  <simon@josefsson.org>
30977
30978         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
30979         if not provided by the system's netdb.h.  Reported by
30980         ludo@gnu.org (Ludovic Courtès).
30981
30982 2010-02-15  Jim Meyering  <meyering@redhat.com>
30983
30984         init.sh: improve portability and efficiency
30985         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
30986         "dummy" in a for loop.
30987         Use '!', not '^' to select the complement of a character set used
30988         in a "case" statement.
30989         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
30990         Suggestions from Eric Blake.
30991
30992         init.sh: automatically accommodate programs with the .exe suffix
30993         Automatically arrange for an invocation of "prog" to execute the
30994         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
30995         may use the simpler "prog", yet still work when built on a system
30996         that requires specifying the added suffix.
30997         Do this by constructing a function named "prog" that invokes
30998         "prog.exe" for each .exe file in selected directories.
30999         * tests/init.sh (find_exe_basenames_): New function.
31000         (create_exe_shim_functions_): New function.
31001         (path_prepend_): Use it.
31002
31003         maint.mk: mark syntax-check sc_*.m rules as .PHONY
31004         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
31005         "make -t syntax-check" doesn't create a ton of sc_*.m files.
31006
31007 2010-02-14  Jim Meyering  <meyering@redhat.com>
31008
31009         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
31010         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
31011         (sc_prohibit_hash_pjw_without_use): New rule.
31012
31013         maint.mk: allow the default upload destination dir to be overridden
31014         * top/maint.mk (upload_dest_dir_): Define with a default that
31015         preserves the status quo.
31016         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
31017         Reported by Peter Simons.
31018
31019         maint.mk: prohibit inclusion of "hash.h" without_use
31020         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
31021
31022 2010-02-10  Jim Meyering  <meyering@redhat.com>
31023
31024         maint.mk: prohibit inclusion of "ignore-value.h" without_use
31025         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
31026
31027 2010-02-09  Eric Blake  <ebb9@byu.net>
31028         and Bruno Haible  <bruno@clisp.org>
31029
31030         obstack-printf-posix: ensure declaration
31031         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
31032         extracted from gl_FUNC_OBSTACK_PRINTF.
31033         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
31034         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
31035         Likewise.
31036         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
31037         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
31038         0.
31039
31040 2010-02-08  Bruno Haible  <bruno@clisp.org>
31041
31042         gnulib-tool: Fix typo in 2010-02-07 commit.
31043         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
31044         Reported by Eric Blake.
31045
31046 2010-02-07  Bruno Haible  <bruno@clisp.org>
31047
31048         gnulib-tool: Fix up caching patches.
31049         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
31050         option --no-cache. Use associative arrays when supported by the shell.
31051         (sed_comments): New variable.
31052         (modcache): Renamed from do_cache.
31053         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
31054         abbreviate unnecessarily.
31055         (have_associative): New variable.
31056         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
31057         way also for ksh and zsh.
31058         (func_init_sed_convert_to_cache_statements): New function, extracted
31059         from func_cache_lookup_module. Add support for associative arrays.
31060         Don't set the c_MODULE_cached variable here. Ignore all lines before
31061         the first field header. Remove only the final newline, not all trailing
31062         newlines. Support empty fields correctly. Limit the use of 'eval' to
31063         assignments.
31064         (func_get_description, func_get_status, func_get_notice,
31065         func_get_applicability, func_get_filelist, func_get_dependencies,
31066         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
31067         func_get_automake_snippet, func_get_include_directive,
31068         func_get_link_directive, func_get_license, func_get_maintainer):
31069         Update documentation. List the unoptimized code first. Add support for
31070         associative arrays. Limit the use of 'eval' to assignments.
31071         (func_get_applicability): Undo stylistic pessimisations.
31072         (func_get_automake_snippet, func_get_include_directive): Reduce code
31073         duplication.
31074         (func_modules_transitive_closure, func_modules_add_dummy,
31075         func_modules_notice, func_modules_to_filelist, func_add_file,
31076         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
31077         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
31078         func_create_testdir, func_create_megatestdir): Update documentation.
31079
31080 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31081
31082         * gnulib-tool (func_cache_lookup_module): Store the module name
31083         belonging to the cache variable; error out if two different
31084         module names map to the same cache variable name.
31085
31086 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31087
31088         gnulib-tool: Make caching optional.
31089         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
31090         Update matching short versions of --no-changelog.
31091         (func_usage): Update.
31092         (sed_extract_cache_prog): Renamed from ...
31093         (sed_extract_prog): ... this; revert to old extraction script.
31094         (func_get_description, func_get_status)
31095         (func_get_notice, func_get_applicability, func_get_filelist)
31096         (func_get_dependencies, func_get_autoconf_early_snippet)
31097         (func_get_autoconf_snippet, func_get_automake_snippet)
31098         (func_get_include_directive, func_get_link_directive)
31099         (func_get_license, func_get_maintainer): If $do_cache is false,
31100         use old, non-caching extraction scripts.
31101         Suggestion by Bruno Haible.
31102
31103 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31104
31105         gnulib-tool: cache module metainformation.
31106         * gnulib-tool (sed_extract_prog): Match newline before each
31107         header, and rewrite header to a shell variable suffix.
31108         (func_cache_var, func_cache_lookup_module): New functions,
31109         to turn a module name into a cache variable prefix, and to
31110         look up and cache module metainformation.
31111         (func_get_description, func_get_status)
31112         (func_get_notice, func_get_applicability, func_get_filelist)
31113         (func_get_dependencies, func_get_autoconf_early_snippet)
31114         (func_get_autoconf_snippet, func_get_automake_snippet)
31115         (func_get_include_directive, func_get_link_directive)
31116         (func_get_license, func_get_maintainer): Use
31117         func_cache_lookup_module.
31118
31119 2010-02-07  Bruno Haible  <bruno@clisp.org>
31120
31121         fnctl: Fix missing dependency.
31122         * modules/fcntl (Depends-on): Add getdtablesize.
31123         Reported by John W. Eaton <jwe@gnu.org>.
31124
31125 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31126
31127         Argp: fix recognition of short alias options.
31128
31129         * lib/argp-parse.c (convert_options): Fix improper use of
31130         `|' between character values.
31131         * tests/test-argp.c (group1_option): New alias option
31132         --read (-r).
31133         (group1_parser): Special handling for 'r'.
31134         (test15): New test case.
31135         (test_fun): Add test15.
31136         * tests/test-argp-2.sh: Update expected --help and --usage
31137         outputs.
31138
31139 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
31140
31141         * tests/test-argp.c: Fix indentation.
31142
31143 2010-02-04  Eric Blake  <ebb9@byu.net>
31144
31145         gettimeofday: expose type of second argument
31146         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
31147         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
31148         * tests/test-gettimeofday.c: Use it to silence warning.
31149         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
31150         the issue.
31151
31152 2010-02-03  Jim Meyering  <meyering@redhat.com>
31153
31154         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
31155         * lib/regcomp.c (TYPE_SIGNED): Define.
31156         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
31157
31158         regcomp.c: avoid a new -Wshadow warning
31159         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
31160
31161 2010-02-01  Jim Meyering  <meyering@redhat.com>
31162
31163         removing useless parentheses in cpp #define directives
31164         For motivation, see commit c0221df4, "define STREQ(a,b)
31165         consistently, removing useless parentheses"
31166         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
31167         * lib/mountlist.c (MNT_IGNORE): Likewise.
31168         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
31169
31170 2010-02-01  Eric Blake  <ebb9@byu.net>
31171
31172         sys_time: use link-warning
31173         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
31174         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
31175         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
31176         * modules/sys_time (Depends-on): Add warn-on-use.
31177         (Makefile.am): Always build replacement.
31178         (configure.ac): Update substitutions.
31179         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
31180         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
31181         bother with SYS_TIME_H.
31182         * modules/gettimeofday (configure.ac): Declare indicator.
31183         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
31184         in use.
31185
31186         closein-tests: silence compiler warning
31187         * tests/test-closein.c (main): Ignore fread result.
31188         * modules/closein-tests (Depends-on): Add ignore-value.
31189
31190         tests: silence warning about system return
31191         * tests/test-areadlink-with-size.c (main): Ignore system result.
31192         * tests/test-areadlink.c (main): Likewise.
31193         * tests/test-areadlinkat-with-size.c (main): Likewise.
31194         * tests/test-areadlinkat.c (main): Likewise.
31195         * tests/test-canonicalize-lgpl.c (main): Likewise.
31196         * tests/test-canonicalize.c (main): Likewise.
31197         * tests/test-chown.c (main): Likewise.
31198         * tests/test-fchownat.c (main): Likewise.
31199         * tests/test-fdutimensat.c (main): Likewise.
31200         * tests/test-fstatat.c (main): Likewise.
31201         * tests/test-futimens.c (main): Likewise.
31202         * tests/test-lchown.c (main): Likewise.
31203         * tests/test-link.c (main): Likewise.
31204         * tests/test-linkat.c (main): Likewise.
31205         * tests/test-lstat.c (main): Likewise.
31206         * tests/test-mkdir.c (main): Likewise.
31207         * tests/test-mkdirat.c (main): Likewise.
31208         * tests/test-mkfifo.c (main): Likewise.
31209         * tests/test-mkfifoat.c (main): Likewise.
31210         * tests/test-mknod.c (main): Likewise.
31211         * tests/test-readlink.c (main): Likewise.
31212         * tests/test-remove.c (main): Likewise.
31213         * tests/test-rename.c (main): Likewise.
31214         * tests/test-renameat.c (main): Likewise.
31215         * tests/test-rmdir.c (main): Likewise.
31216         * tests/test-symlink.c (main): Likewise.
31217         * tests/test-symlinkat.c (main): Likewise.
31218         * tests/test-unlink.c (main): Likewise.
31219         * tests/test-unlinkat.c (main): Likewise.
31220         * tests/test-utimens.c (main): Likewise.
31221         * tests/test-utimensat.c (main): Likewise.
31222         * modules/areadlink-tests (Depends-on): Add ignore-value.
31223         * modules/areadlink-with-size-tests (Depends-on): Likewise.
31224         * modules/areadlinkat-tests (Depends-on): Likewise.
31225         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
31226         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
31227         * modules/canonicalize-tests (Depends-on): Likewise.
31228         * modules/chown-tests (Depends-on): Likewise.
31229         * modules/fdutimensat-tests (Depends-on): Likewise.
31230         * modules/futimens-tests (Depends-on): Likewise.
31231         * modules/lchown-tests (Depends-on): Likewise.
31232         * modules/link-tests (Depends-on): Likewise.
31233         * modules/linkat-tests (Depends-on): Likewise.
31234         * modules/lstat-tests (Depends-on): Likewise.
31235         * modules/mkdir-tests (Depends-on): Likewise.
31236         * modules/mkfifo-tests (Depends-on): Likewise.
31237         * modules/mkfifoat-tests (Depends-on): Likewise.
31238         * modules/mknod-tests (Depends-on): Likewise.
31239         * modules/openat-tests (Depends-on): Likewise.
31240         * modules/readlink-tests (Depends-on): Likewise.
31241         * modules/remove-tests (Depends-on): Likewise.
31242         * modules/rename-tests (Depends-on): Likewise.
31243         * modules/renameat-tests (Depends-on): Likewise.
31244         * modules/rmdir-tests (Depends-on): Likewise.
31245         * modules/symlink-tests (Depends-on): Likewise.
31246         * modules/symlinkat-tests (Depends-on): Likewise.
31247         * modules/unlink-tests (Depends-on): Likewise.
31248         * modules/utimens-tests (Depends-on): Likewise.
31249         * modules/utimensat-tests (Depends-on): Likewise.
31250
31251 2010-01-31  Bruno Haible  <bruno@clisp.org>
31252
31253         Perform the same test for many <math.h> functions.
31254         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
31255         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
31256         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
31257         of gl_MATHFUNC.
31258         * modules/acos (configure.ac): Likewise.
31259         * modules/asin (configure.ac): Likewise.
31260         * modules/atan (configure.ac): Likewise.
31261         * modules/atan2 (configure.ac): Likewise.
31262         * modules/cbrt (configure.ac): Likewise.
31263         * modules/copysign (configure.ac): Likewise.
31264         * modules/cos (configure.ac): Likewise.
31265         * modules/cosh (configure.ac): Likewise.
31266         * modules/erf (configure.ac): Likewise.
31267         * modules/erfc (configure.ac): Likewise.
31268         * modules/exp (configure.ac): Likewise.
31269         * modules/fmod (configure.ac): Likewise.
31270         * modules/hypot (configure.ac): Likewise.
31271         * modules/j0 (configure.ac): Likewise.
31272         * modules/j1 (configure.ac): Likewise.
31273         * modules/jn (configure.ac): Likewise.
31274         * modules/lgamma (configure.ac): Likewise.
31275         * modules/log (configure.ac): Likewise.
31276         * modules/log10 (configure.ac): Likewise.
31277         * modules/log1p (configure.ac): Likewise.
31278         * modules/pow (configure.ac): Likewise.
31279         * modules/remainder (configure.ac): Likewise.
31280         * modules/sin (configure.ac): Likewise.
31281         * modules/sinh (configure.ac): Likewise.
31282         * modules/tan (configure.ac): Likewise.
31283         * modules/tanh (configure.ac): Likewise.
31284         * modules/y0 (configure.ac): Likewise.
31285         * modules/y1 (configure.ac): Likewise.
31286         * modules/yn (configure.ac): Likewise.
31287         Suggested by Paolo Bonzini.
31288
31289 2010-01-31  Bruno Haible  <bruno@clisp.org>
31290
31291         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
31292
31293 2010-01-31  Bruno Haible  <bruno@clisp.org>
31294
31295         Work around getdelim() bug on FreeBSD 8.0.
31296         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
31297         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
31298         not work.
31299         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
31300         is 1.
31301         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
31302         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
31303         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
31304         a non-zero size.
31305         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
31306
31307 2010-01-31  Bruno Haible  <bruno@clisp.org>
31308
31309         Work around getline() bug on FreeBSD 8.0.
31310         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
31311         and a non-zero size.
31312         * tests/test-getline.c (main): Likewise.
31313         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
31314         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
31315
31316 2010-01-28  Eric Blake  <ebb9@byu.net>
31317
31318         regex: fix build failure
31319         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
31320         platforms.
31321
31322 2010-01-28  Jim Meyering  <meyering@redhat.com>
31323
31324         regex: do not ignore memory allocation failure
31325         * lib/regex_internal.c (create_cd_newstate): Detect
31326         re_node_set_init_copy failure.   Extracted from glibc commit
31327         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31328
31329         regex: sync more white-space changes from libc
31330         * lib/regex_internal.c: White-space only changes.
31331         * lib/regexec.c: Likewise.
31332
31333         regex: add many uses of __attribute_warn_unused_result__
31334         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
31335         * lib/regexec.c: Likewise.
31336         Extracted from a messy glibc commit.
31337
31338         regcomp.c: spelling and merge-artifact from glibc
31339         * lib/regcomp.c: Merge remainder of glibc's
31340         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31341
31342         regcomp.c: sync white-space changes from glibc
31343         * lib/regcomp.c: Merge to accommodate white space
31344         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
31345
31346         regcomp.c: do not ignore internal return values
31347         * lib/regcomp.c: Do not ignore internal return values.
31348         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
31349         but without its white-space changes and spelling fixes.
31350
31351         regex_internal.h: define __attribute_warn_unused_result__
31352         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
31353
31354         maint: add a syntax-check rule to check for vulnerable Makefile.in
31355         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
31356
31357 2010-01-27  Jim Meyering  <meyering@redhat.com>
31358
31359         ncftpput-ftp: clean up spaces
31360         * build-aux/ncftpput-ftp: Make Copyright line consistent.
31361         Remove trailing blanks.
31362
31363 2010-01-27  Simon Josefsson  <simon@josefsson.org>
31364
31365         * build-aux/git-version-gen: Fix copyright statement.
31366         * build-aux/gnupload: Likewise.
31367         * tests/test-arcfour.c: Likewise.
31368         * tests/test-arctwo.c: Likewise.
31369         * tests/test-count-one-bits.c: Likewise.
31370         * tests/test-crc.c: Likewise.
31371         * tests/test-des.c: Likewise.
31372         * tests/test-gc-arcfour.c: Likewise.
31373         * tests/test-gc-arctwo.c: Likewise.
31374         * tests/test-gc-des.c: Likewise.
31375         * tests/test-gc-hmac-md5.c: Likewise.
31376         * tests/test-gc-hmac-sha1.c: Likewise.
31377         * tests/test-gc-md2.c: Likewise.
31378         * tests/test-gc-md4.c: Likewise.
31379         * tests/test-gc-md5.c: Likewise.
31380         * tests/test-gc-pbkdf2-sha1.c: Likewise.
31381         * tests/test-gc-rijndael.c: Likewise.
31382         * tests/test-gc-sha1.c: Likewise.
31383         * tests/test-gc.c: Likewise.
31384         * tests/test-gethostname.c: Likewise.
31385         * tests/test-gettimeofday.c: Likewise.
31386         * tests/test-hash.c: Likewise.
31387         * tests/test-hmac-md5.c: Likewise.
31388         * tests/test-hmac-sha1.c: Likewise.
31389         * tests/test-md2.c: Likewise.
31390         * tests/test-md4.c: Likewise.
31391         * tests/test-md5.c: Likewise.
31392         * tests/test-memchr.c: Likewise.
31393         * tests/test-memchr2.c: Likewise.
31394         * tests/test-memcmp.c: Likewise.
31395         * tests/test-memmem.c: Likewise.
31396         * tests/test-memrchr.c: Likewise.
31397         * tests/test-rawmemchr.c: Likewise.
31398         * tests/test-read-file.c: Likewise.
31399         * tests/test-rijndael.c: Likewise.
31400         * tests/test-sockets.c: Likewise.
31401         * tests/test-strchrnul.c: Likewise.
31402         * tests/test-strstr.c: Likewise.
31403         * tests/test-strtod.c: Likewise.
31404         * build-aux/ncftpput-ftp: Likewise.
31405
31406 2010-01-26  Eric Blake  <ebb9@byu.net>
31407
31408         ignore-value: update recommended header name
31409         * modules/ignore-value (Include): Only use <> for headers that
31410         exist in glibc.
31411
31412 2010-01-26  Jim Meyering  <meyering@redhat.com>
31413
31414         test-userspec.c: avoid compiler warnings
31415         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
31416         and "initialization discards qualifiers..." warnings.
31417         Put the first "uid" in its own scope, and make char* members "const".
31418
31419 2010-01-25  Bruno Haible  <bruno@clisp.org>
31420
31421         gnulib-tool: Make warning diagnostics consistent.
31422         * gnulib-tool (func_warning): New function.
31423         Use it everywhere where gnulib-tool produces output to stderr and it is
31424         not a fatal error.
31425
31426 2010-01-25  Bruno Haible  <bruno@clisp.org>
31427
31428         Fix test dependencies.
31429         * modules/xstrtol-tests (Depends-on): Add inttypes.
31430         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
31431
31432 2010-01-25 Pádraig Brady <P@draigBrady.com>
31433
31434         syntax-check: detect incorrect boolean macro values in config.h
31435         * modules/maintainer-makefile (configure.ac): Parameterize the location
31436         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
31437         The logic is from Eric Blake and the location indicated by Jim Meyering.
31438         Note the more natural CONFIG_HEADER name is prohibited by automake
31439         for backwards compatibility reasons.
31440         * top/maint.mk (sc_Wundef_boolean): New rule.
31441
31442 2010-01-25  Jim Meyering  <meyering@redhat.com>
31443
31444         bootstrap: detect MacOS 10.6's shasum, too
31445         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
31446         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
31447
31448 2010-01-23  Jim Meyering  <meyering@redhat.com>
31449
31450         xstrtoll: new module
31451         * modules/xstrtoll: New file.
31452         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
31453         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
31454         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
31455         ./configure fails if you use this module and lack "long long".
31456         * modules/xstrtoll-tests: New module.
31457         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
31458         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
31459         new init.sh-based test framework.
31460
31461 2010-01-24  Bruno Haible  <bruno@clisp.org>
31462
31463         Tests for module 'yn'.
31464         * modules/yn-tests: New file.
31465         * tests/test-yn.c: New file.
31466
31467         Tests for module 'y1'.
31468         * modules/y1-tests: New file.
31469         * tests/test-y1.c: New file.
31470
31471         Tests for module 'y0'.
31472         * modules/y0-tests: New file.
31473         * tests/test-y0.c: New file.
31474
31475         Tests for module 'tanh'.
31476         * modules/tanh-tests: New file.
31477         * tests/test-tanh.c: New file.
31478
31479         Tests for module 'tan'.
31480         * modules/tan-tests: New file.
31481         * tests/test-tan.c: New file.
31482
31483         Tests for module 'sqrt'.
31484         * modules/sqrt-tests: New file.
31485         * tests/test-sqrt.c: New file.
31486
31487         Tests for module 'sinh'.
31488         * modules/sinh-tests: New file.
31489         * tests/test-sinh.c: New file.
31490
31491         Tests for module 'sin'.
31492         * modules/sin-tests: New file.
31493         * tests/test-sin.c: New file.
31494
31495         Tests for module 'rint'.
31496         * modules/rint-tests: New file.
31497         * tests/test-rint.c: New file.
31498
31499         Tests for module 'remainder'.
31500         * modules/remainder-tests: New file.
31501         * tests/test-remainder.c: New file.
31502
31503         Tests for module 'pow'.
31504         * modules/pow-tests: New file.
31505         * tests/test-pow.c: New file.
31506
31507         Tests for module 'nextafter'.
31508         * modules/nextafter-tests: New file.
31509         * tests/test-nextafter.c: New file.
31510
31511         Tests for module 'modf'.
31512         * modules/modf-tests: New file.
31513         * tests/test-modf.c: New file.
31514
31515         Tests for module 'logb'.
31516         * modules/logb-tests: New file.
31517         * tests/test-logb.c: New file.
31518
31519         Tests for module 'log1p'.
31520         * modules/log1p-tests: New file.
31521         * tests/test-log1p.c: New file.
31522
31523         Tests for module 'log10'.
31524         * modules/log10-tests: New file.
31525         * tests/test-log10.c: New file.
31526
31527         Tests for module 'log'.
31528         * modules/log-tests: New file.
31529         * tests/test-log.c: New file.
31530
31531         Tests for module 'lgamma'.
31532         * modules/lgamma-tests: New file.
31533         * tests/test-lgamma.c: New file.
31534
31535         Tests for module 'ldexp'.
31536         * modules/ldexp-tests: New file.
31537         * tests/test-ldexp.c: New file.
31538
31539         Tests for module 'jn'.
31540         * modules/jn-tests: New file.
31541         * tests/test-jn.c: New file.
31542
31543         Tests for module 'j1'.
31544         * modules/j1-tests: New file.
31545         * tests/test-j1.c: New file.
31546
31547         Tests for module 'j0'.
31548         * modules/j0-tests: New file.
31549         * tests/test-j0.c: New file.
31550
31551         Tests for module 'hypot'.
31552         * modules/hypot-tests: New file.
31553         * tests/test-hypot.c: New file.
31554
31555         Tests for module 'fmod'.
31556         * modules/fmod-tests: New file.
31557         * tests/test-fmod.c: New file.
31558
31559         Tests for module 'fabs'.
31560         * modules/fabs-tests: New file.
31561         * tests/test-fabs.c: New file.
31562
31563         Tests for module 'exp'.
31564         * modules/exp-tests: New file.
31565         * tests/test-exp.c: New file.
31566
31567         Tests for module 'erfc'.
31568         * modules/erfc-tests: New file.
31569         * tests/test-erfc.c: New file.
31570
31571         Tests for module 'erf'.
31572         * modules/erf-tests: New file.
31573         * tests/test-erf.c: New file.
31574
31575         Tests for module 'cosh'.
31576         * modules/cosh-tests: New file.
31577         * tests/test-cosh.c: New file.
31578
31579         Tests for module 'cos'.
31580         * modules/cos-tests: New file.
31581         * tests/test-cos.c: New file.
31582
31583         Tests for module 'copysign'.
31584         * modules/copysign-tests: New file.
31585         * tests/test-copysign.c: New file.
31586
31587         Tests for module 'cbrt'.
31588         * modules/cbrt-tests: New file.
31589         * tests/test-cbrt.c: New file.
31590
31591         Tests for module 'atan2'.
31592         * modules/atan2-tests: New file.
31593         * tests/test-atan2.c: New file.
31594
31595         Tests for module 'atan'.
31596         * modules/atan-tests: New file.
31597         * tests/test-atan.c: New file.
31598
31599         Tests for module 'asin'.
31600         * modules/asin-tests: New file.
31601         * tests/test-asin.c: New file.
31602
31603         Tests for module 'acos'.
31604         * modules/acos-tests: New file.
31605         * tests/test-acos.c: New file.
31606
31607 2010-01-24  Bruno Haible  <bruno@clisp.org>
31608
31609         Fix tests for common <math.h> functions.
31610         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
31611         code snippet that references the function pointer, rather than merely
31612         calling the function. Substitute the FUNC_LIBM variable.
31613         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
31614         * modules/acos (configure.ac): Likewise.
31615         * modules/asin (configure.ac): Likewise.
31616         * modules/atan (configure.ac): Likewise.
31617         * modules/atan2 (configure.ac): Likewise.
31618         * modules/cbrt (configure.ac): Likewise.
31619         * modules/copysign (configure.ac): Likewise.
31620         * modules/cos (configure.ac): Likewise.
31621         * modules/cosh (configure.ac): Likewise.
31622         * modules/erf (configure.ac): Likewise.
31623         * modules/erfc (configure.ac): Likewise.
31624         * modules/exp (configure.ac): Likewise.
31625         * modules/fabs (configure.ac): Likewise.
31626         * modules/fmod (configure.ac): Likewise.
31627         * modules/hypot (configure.ac): Likewise.
31628         * modules/j0 (configure.ac): Likewise.
31629         * modules/j1 (configure.ac): Likewise.
31630         * modules/jn (configure.ac): Likewise.
31631         * modules/ldexp (configure.ac): Likewise.
31632         * modules/lgamma (configure.ac): Likewise.
31633         * modules/log (configure.ac): Likewise.
31634         * modules/log10 (configure.ac): Likewise.
31635         * modules/log1p (configure.ac): Likewise.
31636         * modules/logb (configure.ac): Likewise.
31637         * modules/modf (configure.ac): Likewise.
31638         * modules/nextafter (configure.ac): Likewise.
31639         * modules/pow (configure.ac): Likewise.
31640         * modules/remainder (configure.ac): Likewise.
31641         * modules/rint (configure.ac): Likewise.
31642         * modules/sin (configure.ac): Likewise.
31643         * modules/sinh (configure.ac): Likewise.
31644         * modules/tan (configure.ac): Likewise.
31645         * modules/tanh (configure.ac): Likewise.
31646         * modules/y0 (configure.ac): Likewise.
31647         * modules/y1 (configure.ac): Likewise.
31648         * modules/yn (configure.ac): Likewise.
31649
31650 2010-01-24  Bruno Haible  <bruno@clisp.org>
31651
31652         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
31653         * tests/test-acosl.c (x): New variable.
31654         (main): Store argument in x and fetch it from x.
31655         * tests/test-asinl.c (x): New variable.
31656         (main): Store argument in x and fetch it from x.
31657         * tests/test-atanl.c (x): New variable.
31658         (main): Store argument in x and fetch it from x.
31659         * tests/test-cosl.c (x): New variable.
31660         (main): Store argument in x and fetch it from x.
31661         * tests/test-expl.c (x): New variable.
31662         (main): Store argument in x and fetch it from x.
31663         * tests/test-logl.c (x): New variable.
31664         (main): Store argument in x and fetch it from x.
31665         * tests/test-sinl.c (x): New variable.
31666         (main): Store argument in x and fetch it from x.
31667         * tests/test-sqrtl.c (x): New variable.
31668         (main): Store argument in x and fetch it from x.
31669         * tests/test-tanl.c (x): New variable.
31670         (main): Store argument in x and fetch it from x.
31671
31672 2010-01-24  Bruno Haible  <bruno@clisp.org>
31673
31674         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
31675         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
31676         assignments to the initial TESTS_ENVIRONMENT.
31677         * doc/gnulib.texi (Unit test modules): Document it.
31678         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
31679         TESTS_ENVIRONMENT.
31680         * modules/btowc-tests (Makefile.am): Likewise.
31681         * modules/c-stack-tests (Makefile.am): Likewise.
31682         * modules/c-strcase-tests (Makefile.am): Likewise.
31683         * modules/copy-file-tests (Makefile.am): Likewise.
31684         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
31685         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
31686         * modules/mbrtowc-tests (Makefile.am): Likewise.
31687         * modules/mbscasecmp-tests (Makefile.am): Likewise.
31688         * modules/mbscasestr-tests (Makefile.am): Likewise.
31689         * modules/mbschr-tests (Makefile.am): Likewise.
31690         * modules/mbscspn-tests (Makefile.am): Likewise.
31691         * modules/mbsinit-tests (Makefile.am): Likewise.
31692         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
31693         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
31694         * modules/mbspbrk-tests (Makefile.am): Likewise.
31695         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
31696         * modules/mbsrchr-tests (Makefile.am): Likewise.
31697         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
31698         * modules/mbsspn-tests (Makefile.am): Likewise.
31699         * modules/mbsstr-tests (Makefile.am): Likewise.
31700         * modules/nl_langinfo-tests (Makefile.am): Likewise.
31701         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
31702         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
31703         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
31704         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
31705         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
31706         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
31707         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
31708         * modules/wcrtomb-tests (Makefile.am): Likewise.
31709         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
31710         * modules/wcsrtombs-tests (Makefile.am): Likewise.
31711         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
31712         assignments from TESTS_ENVIRONMENT.
31713         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
31714         augmentation.
31715         * modules/argp-version-etc-tests (Makefile.am): Likewise.
31716         * modules/atexit-tests (Makefile.am): Likewise.
31717         * modules/binary-io-tests (Makefile.am): Likewise.
31718         * modules/closein-tests (Makefile.am): Likewise.
31719         * modules/dprintf-posix-tests (Makefile.am): Likewise.
31720         * modules/exclude-tests (Makefile.am): Likewise.
31721         * modules/fflush-tests (Makefile.am): Likewise.
31722         * modules/fpending-tests (Makefile.am): Likewise.
31723         * modules/fprintf-posix-tests (Makefile.am): Likewise.
31724         * modules/freadahead-tests (Makefile.am): Likewise.
31725         * modules/freadptr-tests (Makefile.am): Likewise.
31726         * modules/freadseek-tests (Makefile.am): Likewise.
31727         * modules/fseek-tests (Makefile.am): Likewise.
31728         * modules/fseeko-tests (Makefile.am): Likewise.
31729         * modules/ftell-tests (Makefile.am): Likewise.
31730         * modules/ftello-tests (Makefile.am): Likewise.
31731         * modules/idpriv-drop-tests (Makefile.am): Likewise.
31732         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
31733         * modules/lseek-tests (Makefile.am): Likewise.
31734         * modules/parse-duration-tests (Makefile.am): Likewise.
31735         * modules/perror-tests (Makefile.am): Likewise.
31736         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
31737         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
31738         * modules/pipe-tests (Makefile.am): Likewise.
31739         * modules/pread-tests (Makefile.am): Likewise.
31740         * modules/printf-posix-tests (Makefile.am): Likewise.
31741         * modules/select-tests (Makefile.am): Likewise.
31742         * modules/sigpipe-tests (Makefile.am): Likewise.
31743         * modules/tsearch-tests (Makefile.am): Likewise.
31744         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
31745         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
31746         * modules/uniname/uniname-tests (Makefile.am): Likewise.
31747         * modules/uniwidth/width-tests (Makefile.am): Likewise.
31748         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
31749         * modules/version-etc-tests (Makefile.am): Likewise.
31750         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
31751         * modules/vprintf-posix-tests (Makefile.am): Likewise.
31752         * modules/xalloc-die-tests (Makefile.am): Likewise.
31753         * modules/xprintf-posix-tests (Makefile.am): Likewise.
31754         * modules/xstrtoimax-tests (Makefile.am): Likewise.
31755         * modules/xstrtol-tests (Makefile.am): Likewise.
31756         * modules/xstrtoumax-tests (Makefile.am): Likewise.
31757         * modules/yesno-tests (Makefile.am): Likewise.
31758         Suggested by Jim Meyering.
31759
31760 2010-01-24  Bruno Haible  <bruno@clisp.org>
31761
31762         More documentation.
31763         * doc/gnulib.texi (Writing modules): New chapter.
31764         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
31765         the new chapter.
31766
31767 2010-01-24  Jim Meyering  <meyering@redhat.com>
31768
31769         maint.mk: do not prepend "./" after filtering
31770         * top/maint.mk (_prepend_srcdir_prefix): New variable
31771         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
31772         "./" when $(srcdir) is ".".
31773
31774         define STREQ(a,b) consistently, removing useless parentheses
31775         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
31776         since the only risk is that "a" or "b" contains an unparenthesized
31777         comma, but if either did that, STREQ would have 3 or more arguments.
31778         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
31779         * lib/fts.c (STREQ): Remove unnecessary parentheses.
31780         * lib/hash-triple.c (STREQ): Likewise.
31781         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
31782         * lib/getugroups.c (STREQ): Likewise.
31783
31784 2010-01-23  Jim Meyering  <meyering@redhat.com>
31785
31786         maint.mk: fix syntax-check in a non-srcdir build directory
31787         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
31788         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
31789
31790 2010-01-22  Jim Meyering  <meyering@redhat.com>
31791
31792         userspec: add unit tests
31793         * tests/test-userspec.c: New file.
31794         * modules/userspec-tests: Likewise.
31795
31796 2010-01-21  Jim Meyering  <meyering@redhat.com>
31797
31798         maint.mk: handle source file names containing "." robustly
31799         * top/maint.mk (_dot_escaped_srcdir): Define.
31800         (VC_LIST): Use it in LHS of sed substitution.
31801
31802 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
31803
31804         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
31805         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
31806         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
31807         from a non-srcdir build.
31808
31809 2010-01-20  Eric Blake  <ebb9@byu.net>
31810
31811         warn-on-use: use instead of link-warning
31812         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
31813         * modules/unistd (Depends-on, Makefile.am): Likewise.
31814         * modules/arpa_inet (Depends-on): Replace link-warning with
31815         warn-on-use.
31816         (Makefile.am): Update rules accordingly.
31817         * modules/ctype (Depends-on, Makefile.am): Likewise.
31818         * modules/dirent (Depends-on, Makefile.am): Likewise.
31819         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
31820         * modules/inttypes (Depends-on, Makefile.am): Likewise.
31821         * modules/langinfo (Depends-on, Makefile.am): Likewise.
31822         * modules/locale (Depends-on, Makefile.am): Likewise.
31823         * modules/math (Depends-on, Makefile.am): Likewise.
31824         * modules/search (Depends-on, Makefile.am): Likewise.
31825         * modules/signal (Depends-on, Makefile.am): Likewise.
31826         * modules/spawn (Depends-on, Makefile.am): Likewise.
31827         * modules/stdlib (Depends-on, Makefile.am): Likewise.
31828         * modules/string (Depends-on, Makefile.am): Likewise.
31829         * modules/strings (Depends-on, Makefile.am): Likewise.
31830         * modules/sys_file (Depends-on, Makefile.am): Likewise.
31831         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
31832         * modules/sys_select (Depends-on, Makefile.am): Likewise.
31833         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
31834         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
31835         * modules/sys_times (Depends-on, Makefile.am): Likewise.
31836         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
31837         * modules/wchar (Depends-on, Makefile.am): Likewise.
31838         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
31839         should be poisoned.
31840         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
31841         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
31842         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
31843         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
31844         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
31845         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31846         * m4/math_h.m4 (gl_MATH_H): Likewise.
31847         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
31848         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
31849         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
31850         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
31851         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
31852         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
31853         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
31854         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
31855         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
31856         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
31857         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
31858         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
31859         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
31860         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
31861         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
31862         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
31863         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
31864         GL_LINK_WARNING.
31865         * lib/ctype.in.h: Likewise.
31866         * lib/dirent.in.h: Likewise.
31867         * lib/fcntl.in.h: Likewise.
31868         * lib/inttypes.in.h: Likewise.
31869         * lib/langinfo.in.h: Likewise.
31870         * lib/locale.in.h: Likewise.
31871         * lib/math.in.h: Likewise.
31872         * lib/search.in.h: Likewise.
31873         * lib/signal.in.h: Likewise.
31874         * lib/spawn.in.h: Likewise.
31875         * lib/stdio.in.h: Likewise.
31876         * lib/stdlib.in.h: Likewise.
31877         * lib/string.in.h: Likewise.
31878         * lib/strings.in.h: Likewise.
31879         * lib/sys_file.in.h: Likewise.
31880         * lib/sys_ioctl.in.h: Likewise.
31881         * lib/sys_select.in.h: Likewise.
31882         * lib/sys_socket.in.h: Likewise.
31883         * lib/sys_stat.in.h: Likewise.
31884         * lib/sys_times.in.h: Likewise.
31885         * lib/sys_utsname.in.h: Likewise.
31886         * lib/unistd.in.h: Likewise.
31887         * lib/wchar.in.h: Likewise.
31888
31889 2010-01-20  Bruno Haible  <bruno@clisp.org>
31890
31891         Avoid duplicate -lm.
31892         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
31893         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
31894         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
31895         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
31896         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
31897         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
31898         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
31899         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
31900         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
31901         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
31902         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
31903         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
31904         Reported by Paolo Bonzini.
31905
31906 2010-01-19  Bruno Haible  <bruno@clisp.org>
31907
31908         langinfo, nl_langinfo: Relicense under LGPLv2+.
31909         * modules/langinfo (License): Change to LGPLv2+.
31910         * modules/nl_langinfo (License): Likewise.
31911         Patch by David Lutterkort <lutter@redhat.com>.
31912
31913 2010-01-19  Bruno Haible  <bruno@clisp.org>
31914
31915         Avoid compilation error with cc on OSF/1 5.1.
31916         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
31917         statement, not before.
31918         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31919
31920 2010-01-18  Bruno Haible  <bruno@clisp.org>
31921
31922         Avoid a link error due to the __printf__ symbol.
31923         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
31924         and 2.6.x.
31925         (__format__, __printf__): Remove definitions.
31926         * lib/argp-fmtstream.h: Likewise.
31927         * lib/argp.h: Likewise.
31928         * lib/error.h: Likewise.
31929         * lib/vasnprintf.h: Likewise.
31930         * lib/xprintf.h: Likewise.
31931         * lib/xvasprintf.h: Likewise.
31932         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
31933
31934 2010-01-18  Bruno Haible  <bruno@clisp.org>
31935
31936         Tests for module 'tanl'.
31937         * modules/tanl-tests: New file.
31938         * tests/test-tanl.c: New file.
31939
31940         Tests for module 'sqrtl'.
31941         * modules/sqrtl-tests: New file.
31942         * tests/test-sqrtl.c: New file.
31943
31944         Tests for module 'sinl'.
31945         * modules/sinl-tests: New file.
31946         * tests/test-sinl.c: New file.
31947
31948         Tests for module 'logl'.
31949         * modules/logl-tests: New file.
31950         * tests/test-logl.c: New file.
31951
31952         Tests for module 'expl'.
31953         * modules/expl-tests: New file.
31954         * tests/test-expl.c: New file.
31955
31956         Tests for module 'cosl'.
31957         * modules/cosl-tests: New file.
31958         * tests/test-cosl.c: New file.
31959
31960         Tests for module 'atanl'.
31961         * modules/atanl-tests: New file.
31962         * tests/test-atanl.c: New file.
31963
31964         Tests for module 'asinl'.
31965         * modules/asinl-tests: New file.
31966         * tests/test-asinl.c: New file.
31967
31968         Tests for module 'acosl'.
31969         * modules/acosl-tests: New file.
31970         * tests/test-acosl.c: New file.
31971
31972         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
31973         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
31974         tanl): Use the standard gnulib idiom.
31975         * lib/cosl.c: Don't include trigl.c and sincosl.c.
31976         * lib/sinl.c: Likewise.
31977         * lib/tanl.c: Don't include trigl.c.
31978         (kernel_tanl): Make static.
31979         * lib/sincosl.c: Include trigl.h first.
31980         * lib/trigl.c: Likewise.
31981         * m4/acosl.m4: New file.
31982         * m4/asinl.m4: New file.
31983         * m4/atanl.m4: New file.
31984         * m4/cosl.m4: New file.
31985         * m4/expl.m4: New file.
31986         * m4/logl.m4: New file.
31987         * m4/sinl.m4: New file.
31988         * m4/sqrtl.m4: New file.
31989         * m4/tanl.m4: New file.
31990         * m4/mathl.m4: Remove file.
31991         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
31992         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
31993         Don't initialize GNULIB_MATHL.
31994         * modules/acosl: New file.
31995         * modules/asinl: New file.
31996         * modules/atanl: New file.
31997         * modules/cosl: New file.
31998         * modules/expl: New file.
31999         * modules/logl: New file.
32000         * modules/sinl: New file.
32001         * modules/sqrtl: New file.
32002         * modules/tanl: New file.
32003         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
32004         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
32005         substitute GNULIB_MATHL.
32006         * modules/mathl: Rewritten.
32007         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
32008         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
32009         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
32010         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
32011         * doc/posix-functions/expl.texi: Mention the 'expl' module.
32012         * doc/posix-functions/logl.texi: Mention the 'logl' module.
32013         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
32014         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
32015         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
32016
32017 2010-01-18  Bruno Haible  <bruno@clisp.org>
32018
32019         sqrt: Make gl_FUNC_SQRT requirable.
32020         * m4/sqrt.m4: New file.
32021         * modules/sqrt (Files): Add it.
32022         (configure.ac): Invoke gl_FUNC_SQRT.
32023
32024 2010-01-18  Bruno Haible  <bruno@clisp.org>
32025
32026         New modules for common <math.h> functions.
32027         * m4/mathfunc.m4: New file.
32028         * modules/acos: New file.
32029         * modules/asin: New file.
32030         * modules/atan: New file.
32031         * modules/atan2: New file.
32032         * modules/cbrt: New file.
32033         * modules/copysign: New file.
32034         * modules/cos: New file.
32035         * modules/cosh: New file.
32036         * modules/erf: New file.
32037         * modules/erfc: New file.
32038         * modules/exp: New file.
32039         * modules/fabs: New file.
32040         * modules/fmod: New file.
32041         * modules/hypot: New file.
32042         * modules/j0: New file.
32043         * modules/j1: New file.
32044         * modules/jn: New file.
32045         * modules/ldexp: New file.
32046         * modules/lgamma: New file.
32047         * modules/log: New file.
32048         * modules/log10: New file.
32049         * modules/log1p: New file.
32050         * modules/logb: New file.
32051         * modules/modf: New file.
32052         * modules/nextafter: New file.
32053         * modules/pow: New file.
32054         * modules/remainder: New file.
32055         * modules/rint: New file.
32056         * modules/sin: New file.
32057         * modules/sinh: New file.
32058         * modules/sqrt: New file.
32059         * modules/tan: New file.
32060         * modules/tanh: New file.
32061         * modules/y0: New file.
32062         * modules/y1: New file.
32063         * modules/yn: New file.
32064         * doc/posix-functions/acos.texi: Mention the 'acos' module.
32065         * doc/posix-functions/asin.texi: Mention the 'asin' module.
32066         * doc/posix-functions/atan.texi: Mention the 'atan' module.
32067         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
32068         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
32069         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
32070         * doc/posix-functions/cos.texi: Mention the 'cos' module.
32071         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
32072         * doc/posix-functions/erf.texi: Mention the 'erf' module.
32073         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
32074         * doc/posix-functions/exp.texi: Mention the 'exp' module.
32075         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
32076         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
32077         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
32078         * doc/posix-functions/j0.texi: Mention the 'j0' module.
32079         * doc/posix-functions/j1.texi: Mention the 'j1' module.
32080         * doc/posix-functions/jn.texi: Mention the 'jn' module.
32081         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
32082         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
32083         * doc/posix-functions/log.texi: Mention the 'log' module.
32084         * doc/posix-functions/log10.texi: Mention the 'log10' module.
32085         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
32086         * doc/posix-functions/logb.texi: Mention the 'logb' module.
32087         * doc/posix-functions/modf.texi: Mention the 'modf' module.
32088         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
32089         * doc/posix-functions/pow.texi: Mention the 'pow' module.
32090         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
32091         * doc/posix-functions/rint.texi: Mention the 'rint' module.
32092         * doc/posix-functions/sin.texi: Mention the 'sin' module.
32093         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
32094         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
32095         * doc/posix-functions/tan.texi: Mention the 'tan' module.
32096         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
32097         * doc/posix-functions/y0.texi: Mention the 'y0' module.
32098         * doc/posix-functions/y1.texi: Mention the 'y1' module.
32099         * doc/posix-functions/yn.texi: Mention the 'yn' module.
32100
32101 2010-01-18  Jim Meyering  <meyering@redhat.com>
32102
32103         ignore-value: relax license to LGPLv2+
32104         * modules/ignore-value (License): Relax to LGPLv2+.
32105
32106         getdate: don't leak when TZ contains two or more '"'s
32107         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
32108         double quote in TZ after the first one.
32109
32110         readtokens: do not leak internal token_lengths buffer
32111         * lib/readtokens.c (readtokens): Free the local, lengths,
32112         when the supplied "token_lengths" parameter is NULL.
32113
32114 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32115
32116         Fix a couple of missing LIBTHREAD link failures on AIX.
32117         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
32118         $(LIBTHREAD).
32119         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
32120
32121         Link test-poll against INET_PTON_LIB.
32122         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
32123         for inet_pton on Solaris 10.
32124
32125 2010-01-17  Bruno Haible  <bruno@clisp.org>
32126
32127         unistdio/*-sprintf: Fix typo in module description.
32128         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
32129         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
32130         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
32131         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
32132         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
32133         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
32134         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
32135         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32136
32137 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32138
32139         gnulib-tool: fix filelist for AIX, HP-UX ksh.
32140         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
32141         variables in shell case patterns, for AIX and HP-UX ksh.
32142
32143         Split large sed scripts, for HP-UX sed.
32144         * modules/stdio: Split sed scripts around 50 sed commands,
32145         to avoid HP-UX limit of 99 commands, in the near future.
32146         * modules/string: Likewise.
32147         * modules/unistd: Likewise.
32148
32149         gnulib-tool: avoid writing in the current directory.
32150         * gnulib-tool (func_emit_lib_Makefile_am)
32151         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
32152         not in the current directory, so concurrent gnulib-tool
32153         instances do not interfere.
32154
32155 2010-01-16  Jim Meyering  <meyering@redhat.com>
32156
32157         doc: update users.txt
32158         * users.txt: Add grep.
32159         (diffutils, gzip): Update URLs.
32160
32161 2010-01-12  Bruno Haible  <bruno@clisp.org>
32162
32163         posix_spawn: Avoid test failure on Cygwin.
32164         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
32165         characters.
32166         Reported by Simon Josefsson.
32167
32168 2010-01-12  Bruno Haible  <bruno@clisp.org>
32169
32170         * tests/test-cond.c (main): When skipping the test, show the reason.
32171
32172 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32173
32174         * lib/striconv.c (str_cd_iconv): Avoid if before free.
32175
32176 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32177
32178         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
32179         VC_LIST_ALWAYS_EXCLUDE_REGEX.
32180
32181 2010-01-12  Eric Blake  <ebb9@byu.net>
32182
32183         build: guarantee AS_VAR_IF
32184         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
32185         (gl_AS_VAR_IF): Move...
32186         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
32187         Reported by Simon Josefsson.
32188
32189 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32190
32191         * lib/stdio.in.h: Fix typo.
32192
32193 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32194
32195         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
32196         libgpg-error.
32197
32198 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32199
32200         * tests/test-xalloc-die.sh: Use $EXEEXT.
32201
32202 2010-01-12  Simon Josefsson  <simon@josefsson.org>
32203             Bruno Haible  <bruno@clisp.org>
32204
32205         getlogin, getlogin_r: Avoid test failure.
32206         * tests/test-getlogin.c: Include <stdio.h>.
32207         (main): Skip the test when the function fails because stdin is not a
32208         tty.
32209         * tests/test-getlogin_r.c: Include <stdio.h>.
32210         (main): Skip the test when the function fails because stdin is not a
32211         tty.
32212
32213 2010-01-11  Eric Blake  <ebb9@byu.net>
32214
32215         tests: avoid more large file warnings
32216         * tests/test-fflush.c: Avoid warning about ftell use.
32217         * tests/test-fseek.c: Avoid warning about fseek use.
32218
32219 2010-01-10  Bruno Haible  <bruno@clisp.org>
32220
32221         nproc: Work better on Linux when /proc and /sys are not mounted.
32222         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
32223         as lower bound when, on glibc/Linux systems,
32224         sysconf (_SC_NPROCESSORS_CONF) returns 1.
32225         Suggested by Pádraig Brady <P@draigbrady.com>.
32226         Reported by Dmitry V. Levin <ldv@altlinux.org>.
32227
32228         nproc: Refactor.
32229         * lib/nproc.c (num_processors_via_affinity_mask): New function,
32230         extracted from num_processors.
32231         (num_processors): Call it.
32232
32233 2010-01-11  Jim Meyering  <meyering@redhat.com>
32234
32235         utimecmp: avoid new warning from upcoming gcc-4.5.0
32236         * lib/utimecmp.c (BILLION): Define using #define rather than an
32237         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
32238
32239 2010-01-11  Eric Blake  <ebb9@byu.net>
32240
32241         math: add portability warnings for classification macros
32242         * modules/math (Depends-on): Add warn-on-use.
32243         (Makefile.am): Provide new substitutions.
32244         * m4/math_h.m4 (gl_MATH_H): Require inline.
32245         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
32246         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
32247         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
32248         implement warnings.
32249
32250         unistd: warn on use of environ without module
32251         * modules/unistd (Depends-on): Add warn-on-use.
32252         (Makefile.am): Provide new substitutions.
32253         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
32254         * lib/unistd.in.h (environ): Wrap with a warning helper function.
32255
32256         stdio: warn on suspicious uses
32257         * modules/stdio (Depends-on): Add warn-on-use.
32258         (Makefile.am): Provide new substitutions.
32259         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
32260         fseeko.
32261         * lib/stdio.in.h (gets): Always warn on use.
32262         (fseek, ftell): Adjust when warnings are issued, and honor
32263         _GL_NO_LARGE_FILES as a way to silence the warning.
32264         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
32265         any warning about large file offsets.
32266         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
32267         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
32268         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
32269         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
32270         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
32271         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
32272         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
32273         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
32274
32275         warn-on-use: new module
32276         * modules/warn-on-use: New file.
32277         * build-aux/warn-on-use.h: Likewise.
32278         * m4/warn-on-use.m4: Likewise.
32279         * MODULES.html.sh (Support for building): Mention it.
32280
32281 2010-01-10  Bruno Haible  <bruno@clisp.org>
32282
32283         Tests for module 'unistr/u32-strdup'.
32284         * modules/unistr/u32-strdup-tests: New file.
32285         * tests/unistr/test-u32-strdup.c: New file.
32286
32287         Tests for module 'unistr/u16-strdup'.
32288         * modules/unistr/u16-strdup-tests: New file.
32289         * tests/unistr/test-u16-strdup.c: New file.
32290
32291         Tests for module 'unistr/u8-strdup'.
32292         * modules/unistr/u8-strdup-tests: New file.
32293         * tests/unistr/test-u8-strdup.c: New file.
32294         * tests/unistr/test-strdup.h: New file.
32295
32296         Tests for module 'unistr/u32-strncmp'.
32297         * modules/unistr/u32-strncmp-tests: New file.
32298         * tests/unistr/test-u32-strncmp.c: New file.
32299
32300         Tests for module 'unistr/u16-strncmp'.
32301         * modules/unistr/u16-strncmp-tests: New file.
32302         * tests/unistr/test-u16-strncmp.c: New file.
32303
32304         Tests for module 'unistr/u8-strncmp'.
32305         * modules/unistr/u8-strncmp-tests: New file.
32306         * tests/unistr/test-u8-strncmp.c: New file.
32307         * tests/unistr/test-strncmp.h: New file.
32308
32309         Tests for module 'unistr/u32-strcoll'.
32310         * modules/unistr/u32-strcoll-tests: New file.
32311         * tests/unistr/test-u32-strcoll.c: New file.
32312
32313         Tests for module 'unistr/u16-strcoll'.
32314         * modules/unistr/u16-strcoll-tests: New file.
32315         * tests/unistr/test-u16-strcoll.c: New file.
32316
32317         Tests for module 'unistr/u8-strcoll'.
32318         * modules/unistr/u8-strcoll-tests: New file.
32319         * tests/unistr/test-u8-strcoll.c: New file.
32320
32321         Tests for module 'unistr/u32-strcmp'.
32322         * modules/unistr/u32-strcmp-tests: New file.
32323         * tests/unistr/test-u32-strcmp.c: New file.
32324         * tests/unistr/test-u32-strcmp.h: New file.
32325
32326         Tests for module 'unistr/u16-strcmp'.
32327         * modules/unistr/u16-strcmp-tests: New file.
32328         * tests/unistr/test-u16-strcmp.c: New file.
32329         * tests/unistr/test-u16-strcmp.h: New file.
32330
32331         Tests for module 'unistr/u8-strcmp'.
32332         * modules/unistr/u8-strcmp-tests: New file.
32333         * tests/unistr/test-u8-strcmp.c: New file.
32334         * tests/unistr/test-u8-strcmp.h: New file.
32335         * tests/unistr/test-strcmp.h: New file.
32336
32337         Tests for module 'unistr/u32-strncat'.
32338         * modules/unistr/u32-strncat-tests: New file.
32339         * tests/unistr/test-u32-strncat.c: New file.
32340
32341         Tests for module 'unistr/u16-strncat'.
32342         * modules/unistr/u16-strncat-tests: New file.
32343         * tests/unistr/test-u16-strncat.c: New file.
32344
32345         Tests for module 'unistr/u8-strncat'.
32346         * modules/unistr/u8-strncat-tests: New file.
32347         * tests/unistr/test-u8-strncat.c: New file.
32348         * tests/unistr/test-strncat.h: New file.
32349
32350         Tests for module 'unistr/u32-strcat'.
32351         * modules/unistr/u32-strcat-tests: New file.
32352         * tests/unistr/test-u32-strcat.c: New file.
32353
32354         Tests for module 'unistr/u16-strcat'.
32355         * modules/unistr/u16-strcat-tests: New file.
32356         * tests/unistr/test-u16-strcat.c: New file.
32357
32358         Tests for module 'unistr/u8-strcat'.
32359         * modules/unistr/u8-strcat-tests: New file.
32360         * tests/unistr/test-u8-strcat.c: New file.
32361         * tests/unistr/test-strcat.h: New file.
32362
32363         Tests for module 'unistr/u32-stpncpy'.
32364         * modules/unistr/u32-stpncpy-tests: New file.
32365         * tests/unistr/test-u32-stpncpy.c: New file.
32366
32367         Tests for module 'unistr/u16-stpncpy'.
32368         * modules/unistr/u16-stpncpy-tests: New file.
32369         * tests/unistr/test-u16-stpncpy.c: New file.
32370
32371         Tests for module 'unistr/u8-stpncpy'.
32372         * modules/unistr/u8-stpncpy-tests: New file.
32373         * tests/unistr/test-u8-stpncpy.c: New file.
32374         * tests/unistr/test-stpncpy.h: New file.
32375
32376         Tests for module 'unistr/u32-strncpy'.
32377         * modules/unistr/u32-strncpy-tests: New file.
32378         * tests/unistr/test-u32-strncpy.c: New file.
32379
32380         Tests for module 'unistr/u16-strncpy'.
32381         * modules/unistr/u16-strncpy-tests: New file.
32382         * tests/unistr/test-u16-strncpy.c: New file.
32383
32384         Tests for module 'unistr/u8-strncpy'.
32385         * modules/unistr/u8-strncpy-tests: New file.
32386         * tests/unistr/test-u8-strncpy.c: New file.
32387         * tests/unistr/test-strncpy.h: New file.
32388
32389         Tests for module 'unistr/u32-stpcpy'.
32390         * modules/unistr/u32-stpcpy-tests: New file.
32391         * tests/unistr/test-u32-stpcpy.c: New file.
32392
32393         Tests for module 'unistr/u16-stpcpy'.
32394         * modules/unistr/u16-stpcpy-tests: New file.
32395         * tests/unistr/test-u16-stpcpy.c: New file.
32396
32397         Tests for module 'unistr/u8-stpcpy'.
32398         * modules/unistr/u8-stpcpy-tests: New file.
32399         * tests/unistr/test-u8-stpcpy.c: New file.
32400         * tests/unistr/test-stpcpy.h: New file.
32401
32402         Tests for module 'unistr/u32-strcpy'.
32403         * modules/unistr/u32-strcpy-tests: New file.
32404         * tests/unistr/test-u32-strcpy.c: New file.
32405
32406         Tests for module 'unistr/u16-strcpy'.
32407         * modules/unistr/u16-strcpy-tests: New file.
32408         * tests/unistr/test-u16-strcpy.c: New file.
32409
32410         Tests for module 'unistr/u8-strcpy'.
32411         * modules/unistr/u8-strcpy-tests: New file.
32412         * tests/unistr/test-u8-strcpy.c: New file.
32413         * tests/unistr/test-strcpy.h: New file.
32414
32415         Tests for module 'unistr/u32-strnlen'.
32416         * modules/unistr/u32-strnlen-tests: New file.
32417         * tests/unistr/test-u32-strnlen.c: New file.
32418
32419         Tests for module 'unistr/u16-strnlen'.
32420         * modules/unistr/u16-strnlen-tests: New file.
32421         * tests/unistr/test-u16-strnlen.c: New file.
32422
32423         Tests for module 'unistr/u8-strnlen'.
32424         * modules/unistr/u8-strnlen-tests: New file.
32425         * tests/unistr/test-u8-strnlen.c: New file.
32426         * tests/unistr/test-strnlen.h: New file.
32427
32428         Tests for module 'unistr/u32-strlen'.
32429         * modules/unistr/u32-strlen-tests: New file.
32430         * tests/unistr/test-u32-strlen.c: New file.
32431
32432         Tests for module 'unistr/u16-strlen'.
32433         * modules/unistr/u16-strlen-tests: New file.
32434         * tests/unistr/test-u16-strlen.c: New file.
32435
32436         Tests for module 'unistr/u8-strlen'.
32437         * modules/unistr/u8-strlen-tests: New file.
32438         * tests/unistr/test-u8-strlen.c: New file.
32439
32440         Tests for module 'unistr/u32-prev'.
32441         * modules/unistr/u32-prev-tests: New file.
32442         * tests/unistr/test-u32-prev.c: New file.
32443
32444         Tests for module 'unistr/u16-prev'.
32445         * modules/unistr/u16-prev-tests: New file.
32446         * tests/unistr/test-u16-prev.c: New file.
32447
32448         Tests for module 'unistr/u8-prev'.
32449         * modules/unistr/u8-prev-tests: New file.
32450         * tests/unistr/test-u8-prev.c: New file.
32451
32452         Tests for module 'unistr/u32-next'.
32453         * modules/unistr/u32-next-tests: New file.
32454         * tests/unistr/test-u32-next.c: New file.
32455
32456         Tests for module 'unistr/u16-next'.
32457         * modules/unistr/u16-next-tests: New file.
32458         * tests/unistr/test-u16-next.c: New file.
32459
32460         Tests for module 'unistr/u8-next'.
32461         * modules/unistr/u8-next-tests: New file.
32462         * tests/unistr/test-u8-next.c: New file.
32463
32464         Tests for module 'unistr/u32-strmbtouc'.
32465         * modules/unistr/u32-strmbtouc-tests: New file.
32466         * tests/unistr/test-u32-strmbtouc.c: New file.
32467
32468         Tests for module 'unistr/u16-strmbtouc'.
32469         * modules/unistr/u16-strmbtouc-tests: New file.
32470         * tests/unistr/test-u16-strmbtouc.c: New file.
32471
32472         Tests for module 'unistr/u8-strmbtouc'.
32473         * modules/unistr/u8-strmbtouc-tests: New file.
32474         * tests/unistr/test-u8-strmbtouc.c: New file.
32475
32476         Tests for module 'unistr/u32-strmblen'.
32477         * modules/unistr/u32-strmblen-tests: New file.
32478         * tests/unistr/test-u32-strmblen.c: New file.
32479
32480         Tests for module 'unistr/u16-strmblen'.
32481         * modules/unistr/u16-strmblen-tests: New file.
32482         * tests/unistr/test-u16-strmblen.c: New file.
32483
32484         Tests for module 'unistr/u8-strmblen'.
32485         * modules/unistr/u8-strmblen-tests: New file.
32486         * tests/unistr/test-u8-strmblen.c: New file.
32487
32488         Tests for module 'unistr/u32-cpy-alloc'.
32489         * modules/unistr/u32-cpy-alloc-tests: New file.
32490         * tests/unistr/test-u32-cpy-alloc.c: New file.
32491
32492         Tests for module 'unistr/u16-cpy-alloc'.
32493         * modules/unistr/u16-cpy-alloc-tests: New file.
32494         * tests/unistr/test-u16-cpy-alloc.c: New file.
32495
32496         Tests for module 'unistr/u8-cpy-alloc'.
32497         * modules/unistr/u8-cpy-alloc-tests: New file.
32498         * tests/unistr/test-u8-cpy-alloc.c: New file.
32499         * tests/unistr/test-cpy-alloc.h: New file.
32500
32501         Tests for module 'unistr/u32-mbsnlen'.
32502         * modules/unistr/u32-mbsnlen-tests: New file.
32503         * tests/unistr/test-u32-mbsnlen.c: New file.
32504
32505         Tests for module 'unistr/u16-mbsnlen'.
32506         * modules/unistr/u16-mbsnlen-tests: New file.
32507         * tests/unistr/test-u16-mbsnlen.c: New file.
32508
32509         Tests for module 'unistr/u8-mbsnlen'.
32510         * modules/unistr/u8-mbsnlen-tests: New file.
32511         * tests/unistr/test-u8-mbsnlen.c: New file.
32512
32513         Tests for module 'unistr/u32-chr'.
32514         * modules/unistr/u32-chr-tests: New file.
32515         * tests/unistr/test-u32-chr.c: New file.
32516
32517         Tests for module 'unistr/u16-chr'.
32518         * modules/unistr/u16-chr-tests: New file.
32519         * tests/unistr/test-u16-chr.c: New file.
32520
32521         Tests for module 'unistr/u8-chr'.
32522         * modules/unistr/u8-chr-tests: New file.
32523         * tests/unistr/test-u8-chr.c: New file.
32524         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
32525
32526         Tests for module 'unistr/u32-cmp2'.
32527         * modules/unistr/u32-cmp2-tests: New file.
32528         * tests/unistr/test-u32-cmp2.c: New file.
32529
32530         Tests for module 'unistr/u16-cmp2'.
32531         * modules/unistr/u16-cmp2-tests: New file.
32532         * tests/unistr/test-u16-cmp2.c: New file.
32533
32534         Tests for module 'unistr/u8-cmp2'.
32535         * modules/unistr/u8-cmp2-tests: New file.
32536         * tests/unistr/test-u8-cmp2.c: New file.
32537         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
32538
32539         Tests for module 'unistr/u32-cmp'.
32540         * modules/unistr/u32-cmp-tests: New file.
32541         * tests/unistr/test-u32-cmp.c: New file.
32542
32543         Tests for module 'unistr/u16-cmp'.
32544         * modules/unistr/u16-cmp-tests: New file.
32545         * tests/unistr/test-u16-cmp.c: New file.
32546
32547         Tests for module 'unistr/u8-cmp'.
32548         * modules/unistr/u8-cmp-tests: New file.
32549         * tests/unistr/test-u8-cmp.c: New file.
32550         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
32551
32552         Tests for module 'unistr/u32-set'.
32553         * modules/unistr/u32-set-tests: New file.
32554         * tests/unistr/test-u32-set.c: New file.
32555
32556         Tests for module 'unistr/u16-set'.
32557         * modules/unistr/u16-set-tests: New file.
32558         * tests/unistr/test-u16-set.c: New file.
32559
32560         Tests for module 'unistr/u8-set'.
32561         * modules/unistr/u8-set-tests: New file.
32562         * tests/unistr/test-u8-set.c: New file.
32563         * tests/unistr/test-set.h: New file.
32564
32565         Tests for module 'unistr/u32-move'.
32566         * modules/unistr/u32-move-tests: New file.
32567         * tests/unistr/test-u32-move.c: New file.
32568
32569         Tests for module 'unistr/u16-move'.
32570         * modules/unistr/u16-move-tests: New file.
32571         * tests/unistr/test-u16-move.c: New file.
32572
32573         Tests for module 'unistr/u8-move'.
32574         * modules/unistr/u8-move-tests: New file.
32575         * tests/unistr/test-u8-move.c: New file.
32576         * tests/unistr/test-move.h: New file.
32577
32578         Tests for module 'unistr/u32-cpy'.
32579         * modules/unistr/u32-cpy-tests: New file.
32580         * tests/unistr/test-u32-cpy.c: New file.
32581
32582         Tests for module 'unistr/u16-cpy'.
32583         * modules/unistr/u16-cpy-tests: New file.
32584         * tests/unistr/test-u16-cpy.c: New file.
32585
32586         Tests for module 'unistr/u8-cpy'.
32587         * modules/unistr/u8-cpy-tests: New file.
32588         * tests/unistr/test-u8-cpy.c: New file.
32589         * tests/unistr/test-cpy.h: New file.
32590
32591 2010-01-09  Bruno Haible  <bruno@clisp.org>
32592
32593         Tests for module 'unistr/u32-uctomb'.
32594         * modules/unistr/u32-uctomb-tests: New file.
32595         * tests/unistr/test-u32-uctomb.c: New file.
32596
32597         Tests for module 'unistr/u16-uctomb'.
32598         * modules/unistr/u16-uctomb-tests: New file.
32599         * tests/unistr/test-u16-uctomb.c: New file.
32600
32601         Tests for module 'unistr/u8-uctomb'.
32602         * modules/unistr/u8-uctomb-tests: New file.
32603         * tests/unistr/test-u8-uctomb.c: New file.
32604
32605         Tests for module 'unistr/u32-mbtoucr'.
32606         * modules/unistr/u32-mbtoucr-tests: New file.
32607         * tests/unistr/test-u32-mbtoucr.c: New file.
32608
32609         Tests for module 'unistr/u16-mbtoucr'.
32610         * modules/unistr/u16-mbtoucr-tests: New file.
32611         * tests/unistr/test-u16-mbtoucr.c: New file.
32612
32613         Tests for module 'unistr/u8-mbtoucr'.
32614         * modules/unistr/u8-mbtoucr-tests: New file.
32615         * tests/unistr/test-u8-mbtoucr.c: New file.
32616
32617         Tests for module 'unistr/u32-mbtouc'.
32618         * modules/unistr/u32-mbtouc-tests: New file.
32619         * tests/unistr/test-u32-mbtouc.c: New file.
32620
32621         Tests for module 'unistr/u16-mbtouc'.
32622         * modules/unistr/u16-mbtouc-tests: New file.
32623         * tests/unistr/test-u16-mbtouc.c: New file.
32624
32625         Tests for module 'unistr/u8-mbtouc'.
32626         * modules/unistr/u8-mbtouc-tests: New file.
32627         * tests/unistr/test-u8-mbtouc.c: New file.
32628
32629         Tests for module 'unistr/u32-mbtouc-unsafe'.
32630         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
32631         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
32632         * tests/unistr/test-u32-mbtouc.h: New file.
32633
32634         Tests for module 'unistr/u16-mbtouc-unsafe'.
32635         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
32636         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
32637         * tests/unistr/test-u16-mbtouc.h: New file.
32638
32639         Tests for module 'unistr/u8-mbtouc-unsafe'.
32640         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
32641         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
32642         * tests/unistr/test-u8-mbtouc.h: New file.
32643
32644         Tests for module 'unistr/u32-mblen'.
32645         * modules/unistr/u32-mblen-tests: New file.
32646         * tests/unistr/test-u32-mblen.c: New file.
32647
32648         Tests for module 'unistr/u16-mblen'.
32649         * modules/unistr/u16-mblen-tests: New file.
32650         * tests/unistr/test-u16-mblen.c: New file.
32651
32652         Tests for module 'unistr/u8-mblen'.
32653         * modules/unistr/u8-mblen-tests: New file.
32654         * tests/unistr/test-u8-mblen.c: New file.
32655
32656         Tests for module 'unistr/u32-to-u16'.
32657         * modules/unistr/u32-to-u16-tests: New file.
32658         * tests/unistr/test-u32-to-u16.c: New file.
32659
32660         Tests for module 'unistr/u32-to-u8'.
32661         * modules/unistr/u32-to-u8-tests: New file.
32662         * tests/unistr/test-u32-to-u8.c: New file.
32663
32664         Tests for module 'unistr/u16-to-u32'.
32665         * modules/unistr/u16-to-u32-tests: New file.
32666         * tests/unistr/test-u16-to-u32.c: New file.
32667
32668         Tests for module 'unistr/u16-to-u8'.
32669         * modules/unistr/u16-to-u8-tests: New file.
32670         * tests/unistr/test-u16-to-u8.c: New file.
32671
32672         Tests for module 'unistr/u8-to-u32'.
32673         * modules/unistr/u8-to-u32-tests: New file.
32674         * tests/unistr/test-u8-to-u32.c: New file.
32675
32676         Tests for module 'unistr/u8-to-u16'.
32677         * modules/unistr/u8-to-u16-tests: New file.
32678         * tests/unistr/test-u8-to-u16.c: New file.
32679
32680         Tests for module 'unistr/u32-check'.
32681         * modules/unistr/u32-check-tests: New file.
32682         * tests/unistr/test-u32-check.c: New file.
32683
32684         Tests for module 'unistr/u16-check'.
32685         * modules/unistr/u16-check-tests: New file.
32686         * tests/unistr/test-u16-check.c: New file.
32687
32688         Tests for module 'unistr/u8-check'.
32689         * modules/unistr/u8-check-tests: New file.
32690         * tests/unistr/test-u8-check.c: New file.
32691
32692         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
32693         (category_equals): New function.
32694         (main): Add more tests.
32695         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
32696
32697         * tests/unictype/test-bidi_byname.c (main): Add more tests.
32698
32699 2010-01-10  Bruno Haible  <bruno@clisp.org>
32700
32701         unistr/u*-strcoll: Try harder to distinguish different strings.
32702         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
32703         compare s1 and s2 to see if they are different.
32704
32705 2010-01-10  Bruno Haible  <bruno@clisp.org>
32706
32707         unistr/u*-stpncpy: Fix the return value.
32708         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
32709         description of the return value consistent with stpncpy in glibc.
32710         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
32711         written non-NUL unit.
32712
32713 2010-01-10  Bruno Haible  <bruno@clisp.org>
32714
32715         unistr/u*-next: Add missing dependencies.
32716         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
32717         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
32718         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
32719
32720 2010-01-10  Bruno Haible  <bruno@clisp.org>
32721
32722         unistr/u8-mbsnlen: Fix return value for incomplete character.
32723         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
32724         u8_mblen.
32725         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
32726         Remove unistr/u8-mblen.
32727         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
32728         u16_mblen.
32729         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
32730         Remove unistr/u16-mblen.
32731
32732 2010-01-10  Bruno Haible  <bruno@clisp.org>
32733
32734         wchar: Fix compilation error when <wchar.h> is used from coreutils.
32735         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
32736         Reported by Brian Gough <bjg@gnu.org> and
32737         Chris Clayton <chris2553@googlemail.com> via
32738         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
32739
32740 2010-01-09  Bruno Haible  <bruno@clisp.org>
32741
32742         unistr/u16-to-u32: Reject invalid input.
32743         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
32744         u16_mbtouc.
32745         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
32746         Remove unistr/u16-mbtouc.
32747
32748         unistr/u16-to-u8: Reject invalid input.
32749         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
32750         u16_mbtouc.
32751         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
32752         Remove unistr/u16-mbtouc.
32753
32754         unistr/u8-to-u32: Reject invalid input.
32755         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
32756         u8_mbtouc.
32757         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
32758         Remove unistr/u8-mbtouc.
32759
32760         unistr/u8-to-u16: Reject invalid input.
32761         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
32762         u8_mbtouc.
32763         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
32764         Remove unistr/u8-mbtouc.
32765
32766 2010-01-09  Bruno Haible  <bruno@clisp.org>
32767
32768         Tests for module 'getlogin'.
32769         * modules/getlogin-tests: New file.
32770         * tests/test-getlogin.c: New file.
32771
32772         New module 'getlogin'.
32773         * lib/unistd.in.h (getlogin): New declaration.
32774         * lib/getlogin.c: New file.
32775         * m4/getlogin.m4: New file.
32776         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
32777         HAVE_GETLOGIN.
32778         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
32779         HAVE_GETLOGIN.
32780         * modules/getlogin: New file.
32781         * doc/posix-functions/getlogin.texi: Mention the new module.
32782         Reported by John W. Eaton <jwe@gnu.org>.
32783
32784 2010-01-09  Bruno Haible  <bruno@clisp.org>
32785
32786         getlogin_r: Support for native Windows.
32787         * lib/getlogin_r.c: Include <windows.h>
32788         (getlogin_r): Implement for native Windows.
32789         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
32790         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
32791         via John W. Eaton <jwe@gnu.org>.
32792
32793 2010-01-09  Bruno Haible  <bruno@clisp.org>
32794
32795         getlogin_r: Small fixes.
32796         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
32797         succeeds.
32798         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
32799         before testing whether getlogin_r is declared. No need to set
32800         HAVE_DECL_GETLOGIN_R to 1.
32801         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
32802
32803 2010-01-09  Bruno Haible  <bruno@clisp.org>
32804
32805         * lib/unistd.in.h (getlogin_r): Add comment.
32806
32807 2010-01-09  Bruno Haible  <bruno@clisp.org>
32808
32809         Tests for module 'getlogin_r'.
32810         * modules/getlogin_r-tests: New file.
32811         * tests/test-getlogin_r.c: New file.
32812
32813 2010-01-09  Jim Meyering  <meyering@redhat.com>
32814
32815         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
32816         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
32817         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
32818
32819 2010-01-08  Simon Josefsson  <simon@josefsson.org>
32820
32821         * lib/dup2.c (rpl_dup2): Improve comment.
32822
32823 2010-01-08  Eric Blake  <ebb9@byu.net>
32824
32825         maint.mk: allow packages to add makefile @@ exceptions
32826         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
32827         (sc_makefile_check): Rename...
32828         (sc_makefile_at_at_check): ...to this, and use hook.
32829
32830         dup2: work around mingw bug
32831         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
32832         Reported by Simon Josefsson.
32833
32834 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
32835
32836         glob: Fix C++ compilation.
32837         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
32838         C++.
32839
32840 2010-01-07  Bruno Haible  <bruno@clisp.org>
32841
32842         Fix indentation of wctype.in.h, broken since 2007-01-06.
32843         * lib/wctype.in.h: Fix indentation of preprocessor directives.
32844
32845 2010-01-07  Bruno Haible  <bruno@clisp.org>
32846
32847         mbslen: Avoid collision with system function.
32848         * lib/string.in.h [MirBSD]: Include <wchar.h>.
32849         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
32850         * m4/mbslen.m4: New file.
32851         * modules/mbslen (Files): Add it.
32852         (configure.ac): Invoke gl_MBSLEN.
32853         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
32854         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
32855         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
32856         via Ian Beckwith <ianb@erislabs.net>.
32857
32858 2010-01-07  Bruno Haible  <bruno@clisp.org>
32859
32860         dirent: Document the last fix.
32861         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
32862
32863 2010-01-07  Bruno Haible  <bruno@clisp.org>
32864
32865         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
32866         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
32867         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
32868         va_list are defined.
32869         * doc/posix-headers/stdio.texi: Document the bug of missing types.
32870         Reported by Eric Blake.
32871
32872 2010-01-07  Bruno Haible  <bruno@clisp.org>
32873
32874         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
32875         * modules/xlist (Depends-on): Add 'list',
32876         * modules/xoset (Depends-on): Add 'oset'.
32877         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
32878
32879 2010-01-07  Bruno Haible  <bruno@clisp.org>
32880
32881         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
32882         * doc/posix-functions/strncasecmp.texi: Likewise.
32883
32884 2010-01-07  Bruno Haible  <bruno@clisp.org>
32885
32886         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
32887
32888 2010-01-07  John W. Eaton  <jwe@octave.org>
32889
32890         wctype: allow C++ use
32891         * lib/wctype.in.h: Add extern "C" block for C++.
32892
32893 2010-01-06  Eric Blake  <ebb9@byu.net>
32894
32895         maint.mk: detect incorrect GFDL usage
32896         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
32897
32898 2010-01-06  Jim Meyering  <meyering@redhat.com>
32899         and Eric Blake  <ebb9@byu.net>
32900
32901         maint.mk: ignore multi-line copyright in NEWS
32902         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
32903
32904 2010-01-06  Eric Blake  <ebb9@byu.net>
32905
32906         select: add missing dependency
32907         * modules/select-tests (Depends-on): Move sockets dependency...
32908         * modules/select (Depends-on): ...here.
32909         Reported by Ian Beckwith.
32910
32911         doc: regenerate INSTALL
32912         * doc/INSTALL: Reflect recent autoconf update.
32913         * doc/INSTALL.ISO: Likewise.
32914         * doc/INSTALL.UTF-8: Likewise.
32915
32916         pread: fix compilation on glibc
32917         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
32918         Reported by Ralf Wildenhues.
32919
32920         dirent: fix test failure
32921         * lib/dirent.in.h (includes): Guarantee ino_t.
32922         Reported by Ralf Wildenhues.
32923
32924 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
32925
32926         linkat, renameat: avoid bad free
32927         * lib/at-func2.c (at_func2): Fix typo.
32928         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
32929
32930 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32931
32932         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
32933         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
32934         to avoid failure of symlink test later.
32935
32936 2010-01-06  Eric Blake  <ebb9@byu.net>
32937
32938         stdio, unistd: guarantee ssize_t
32939         * lib/unistd.in.h (includes): Ensure that types required by POSIX
32940         2008 are exposed when needed.
32941         * lib/stdio.in.h (includes): Likewise.
32942         Reported by Ralf Wildenhues.
32943
32944 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
32945
32946         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
32947         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
32948         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
32949
32950 2010-01-06  Jim Meyering  <meyering@redhat.com>
32951
32952         readtokens: this module *does* require xalloc.h
32953         It uses only functions that were omitted by the old syntax-check rule.
32954         * lib/readtokens.c: Include "xalloc.h" once again.
32955         * modules/readtokens (Depends-on): Add xalloc.
32956         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
32957
32958 2010-01-05  Eric Blake  <ebb9@byu.net>
32959
32960         maint: support 'make announcement' from a VPATH build
32961         * top/maint.mk (announcement): Look for correct NEWS file.
32962
32963 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
32964
32965         utimens (fdutimens): ignore a negative FD, per contract
32966         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
32967         when we have a valid file descriptor.  Otherwise, using a brand
32968         new glibc (with just-patched futimens that now fails with EBADF)
32969         would cause this function to fail with ENOSYS.
32970         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
32971         See also http://bugzilla.redhat.com/552320.
32972
32973 2010-01-05  Eric Blake  <ebb9@byu.net>
32974
32975         strcase: document what it provides
32976         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
32977         gnulib module.
32978         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
32979         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
32980
32981 2010-01-05  Jim Meyering  <meyering@redhat.com>
32982
32983         maint: remove useless inclusions of "xalloc.h"
32984         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
32985         * lib/readtokens.c: Likewise.
32986         * lib/same.c: Likewise.
32987         * modules/getloadavg (Depends-on): Remove xalloc.
32988         * modules/readtokens: Likewise.
32989         * modules/same: Likewise.
32990
32991         maint.mk: include 4 more function names in alloca.h-checking regexp
32992         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
32993         regexp.  Before, we would give a false-positive (saying alloca.h
32994         is included unnecessarily) when the only uses involved omitted symbols.
32995
32996         xalloc.h: use consistent formatting
32997         * lib/xalloc.h: Move declarations to start in the first column.
32998
32999 2010-01-05  Eric Blake  <ebb9@byu.net>
33000
33001         mkdir: avoid xalloc
33002         * lib/mkdir.c (includes): Drop unused header.
33003         Reported by John W. Eaton.
33004
33005 2010-01-04  Jim Meyering  <meyering@redhat.com>
33006
33007         nl_langinfo: avoid configure-time syntax error
33008         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
33009         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
33010         the empty string.  Don't let that provoke a shell syntax error.
33011
33012         regcomp, regexec, fnmatch: avoid array bounds read error
33013         * lib/regcomp.c (build_equiv_class): From glibc:
33014         Use only the low 24 bits of a findidx return value as an index
33015         into the weights array.  Patch by Ulrich Drepper:
33016         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
33017         * lib/regexec.c (check_node_accept_bytes): Likewise.
33018         * lib/fnmatch_loop.c (FCT): Likewise.
33019
33020         regcomp: skip collseq lookup when there are no rules
33021         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
33022         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
33023
33024         regcomp: recognize ill-formed { } expressions
33025         * lib/regcomp.c (parse_dup_op): From glibc:
33026         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
33027
33028         regcomp: fix typo in comment
33029         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
33030         s/satisfy/satisfies/.
33031
33032         regcomp: sync from glibc: remove dead store
33033         * lib/regcomp.c (duplicate_node_closure): Remove useless
33034         search_duplicated_node call and dead store.
33035
33036         regcomp: sync from glibc; always use nl_langinfo
33037         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
33038         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
33039         * modules/regex (Depends-on): Add nl_langinfo.
33040
33041 2010-01-04  Eric Blake  <ebb9@byu.net>
33042
33043         fdopendir: fix configure test
33044         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
33045
33046 2010-01-01  Bruno Haible  <bruno@clisp.org>
33047
33048         wchar: Remove unused configure check.
33049         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
33050
33051 2010-01-01  Eric Blake  <ebb9@byu.net>
33052
33053         headers: make check of system header explicit
33054         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
33055         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
33056         ourselves.
33057         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
33058         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33059         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
33060         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
33061         internals.
33062         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
33063         missing.
33064         Suggested by Bruno Haible.
33065
33066 2010-01-01  Jim Meyering  <meyering@redhat.com>
33067
33068         ChangeLog: tweak to eliminate unnecessary copyright line
33069         * ChangeLog: Remove a copyright line that was mistakenly updated
33070         by today's update-copyright run.  Reported by Eric Blake.
33071
33072         test-update-copyright: don't let envvar setting cause test failure
33073         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
33074
33075 2010-01-01  Bruno Haible  <bruno@clisp.org>
33076
33077         localename: Avoid gcc warning.
33078         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
33079         function if it is not used.
33080
33081 2010-01-01  Jim Meyering  <meyering@redhat.com>
33082
33083         update nearly all FSF copyright year lists to include 2010
33084         Use the same procedure as for 2009, outlined in
33085         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
33086
33087         version-etc: set COPYRIGHT_YEAR to 2010
33088         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
33089
33090 2009-12-31  Eric Blake  <ebb9@byu.net>
33091
33092         doc: correct availability of cygwin 1.5.x getopt
33093         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
33094         variables.
33095         * doc/posix-functions/opterr.texi (opterr): Likewise.
33096         * doc/posix-functions/optind.texi (optind): Likewise.
33097         * doc/posix-functions/optopt.texi (optopt): Likewise.
33098         * doc/posix-functions/tzname.texi (tzname): Likewise.
33099
33100         openat: update maintainer
33101         * modules/openat (Maintainer): Add myself.
33102
33103         utimens: avoid shadowing warning
33104         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
33105         buffers into one, to avoid shadowing, as well as avoiding a
33106         redundant stat.
33107         Reported by Jim Meyering.
33108
33109         test-dup2: avoid compiler warning
33110         * tests/test-dup2.c (is_inheritable): Only define if used.
33111
33112 2010-01-01  Bruno Haible  <bruno@clisp.org>
33113
33114         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
33115         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
33116         defined, use wctomb instead of wcrtomb.
33117
33118 2010-01-01  Bruno Haible  <bruno@clisp.org>
33119
33120         iconv: Reject native Solaris iconv.
33121         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
33122         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
33123
33124 2009-12-31  Bruno Haible  <bruno@clisp.org>
33125
33126         * tests/test-signal.c (main): Remove test of 'SIG'.
33127
33128 2009-12-31  Bruno Haible  <bruno@clisp.org>
33129
33130         spawn: Fix incomplete fix.
33131         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33132         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33133         warnings for GNULIB_POSIXCHECK again.
33134         Reported by Eric Blake.
33135
33136 2009-12-31  Bruno Haible  <bruno@clisp.org>
33137
33138         Avoid namespace pollution on glibc systems.
33139         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
33140         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
33141         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
33142         glibc systems.
33143
33144 2009-12-31  Bruno Haible  <bruno@clisp.org>
33145
33146         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
33147         (gl_REPLACE_WCHAR_H): Turn into a no-op.
33148         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
33149         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
33150         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
33151         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
33152         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
33153
33154 2009-12-31  Bruno Haible  <bruno@clisp.org>
33155
33156         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
33157         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
33158         afterwards.
33159
33160 2009-12-31  Bruno Haible  <bruno@clisp.org>
33161
33162         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
33163         SYS_UTSNAME_H.
33164
33165 2009-12-31  Bruno Haible  <bruno@clisp.org>
33166
33167         spawn: Fix misapplied patch.
33168         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
33169         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
33170         warnings for GNULIB_POSIXCHECK.
33171
33172 2009-12-31  Bruno Haible  <bruno@clisp.org>
33173
33174         times: Update after sys_times changed.
33175         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
33176         * modules/times (Files): Add it.
33177         (configure.ac): Invoke gl_FUNC_TIMES.
33178
33179 2009-12-31  Bruno Haible  <bruno@clisp.org>
33180
33181         Use AC_C_INLINE where necessary.
33182         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
33183         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
33184         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
33185         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
33186         * m4/mbfile.m4 (gl_MBFILE): Likewise.
33187         * m4/mbiter.m4 (gl_MBITER): Likewise.
33188         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
33189         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
33190         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
33191         * modules/u64 (configure.ac): Likewise.
33192
33193 2009-12-31  Bruno Haible  <bruno@clisp.org>
33194
33195         Use AC_C_INLINE instead of module 'inline' where possible.
33196         * modules/inline (Description): Clarify purpose.
33197         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
33198         * modules/count-one-bits (Depends-on): Remove inline.
33199         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
33200         * modules/openat (Depends-on): Remove inline.
33201         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
33202         instead of depending on module 'inline'.
33203         * modules/filevercmp (Depends-on, configure.ac): Likewise.
33204         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
33205         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
33206         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
33207         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
33208         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
33209         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
33210         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
33211         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
33212         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
33213         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
33214         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
33215         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
33216         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
33217         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
33218         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
33219         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
33220         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
33221         Likewise.
33222         * modules/unictype/property-ascii-hex-digit (Depends-on,
33223         configure.ac): Likewise.
33224         * modules/unictype/property-bidi-arabic-digit (Depends-on,
33225         configure.ac): Likewise.
33226         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
33227         configure.ac): Likewise.
33228         * modules/unictype/property-bidi-block-separator (Depends-on,
33229         configure.ac): Likewise.
33230         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
33231         configure.ac): Likewise.
33232         * modules/unictype/property-bidi-common-separator (Depends-on,
33233         configure.ac): Likewise.
33234         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
33235         Likewise.
33236         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
33237         configure.ac): Likewise.
33238         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
33239         configure.ac): Likewise.
33240         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
33241         configure.ac): Likewise.
33242         * modules/unictype/property-bidi-european-digit (Depends-on,
33243         configure.ac): Likewise.
33244         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
33245         configure.ac): Likewise.
33246         * modules/unictype/property-bidi-left-to-right (Depends-on,
33247         configure.ac): Likewise.
33248         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
33249         configure.ac): Likewise.
33250         * modules/unictype/property-bidi-other-neutral (Depends-on,
33251         configure.ac): Likewise.
33252         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
33253         Likewise.
33254         * modules/unictype/property-bidi-segment-separator (Depends-on,
33255         configure.ac): Likewise.
33256         * modules/unictype/property-bidi-whitespace (Depends-on,
33257         configure.ac): Likewise.
33258         * modules/unictype/property-combining (Depends-on, configure.ac):
33259         Likewise.
33260         * modules/unictype/property-composite (Depends-on, configure.ac):
33261         Likewise.
33262         * modules/unictype/property-currency-symbol (Depends-on,
33263         configure.ac): Likewise.
33264         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
33265         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
33266         Likewise.
33267         * modules/unictype/property-default-ignorable-code-point (Depends-on,
33268         configure.ac): Likewise.
33269         * modules/unictype/property-deprecated (Depends-on, configure.ac):
33270         Likewise.
33271         * modules/unictype/property-diacritic (Depends-on, configure.ac):
33272         Likewise.
33273         * modules/unictype/property-extender (Depends-on, configure.ac):
33274         Likewise.
33275         * modules/unictype/property-format-control (Depends-on, configure.ac):
33276         Likewise.
33277         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
33278         Likewise.
33279         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
33280         Likewise.
33281         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
33282         Likewise.
33283         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
33284         Likewise.
33285         * modules/unictype/property-hyphen (Depends-on, configure.ac):
33286         Likewise.
33287         * modules/unictype/property-id-continue (Depends-on, configure.ac):
33288         Likewise.
33289         * modules/unictype/property-id-start (Depends-on, configure.ac):
33290         Likewise.
33291         * modules/unictype/property-ideographic (Depends-on, configure.ac):
33292         Likewise.
33293         * modules/unictype/property-ids-binary-operator (Depends-on,
33294         configure.ac): Likewise.
33295         * modules/unictype/property-ids-trinary-operator (Depends-on,
33296         configure.ac): Likewise.
33297         * modules/unictype/property-ignorable-control (Depends-on,
33298         configure.ac): Likewise.
33299         * modules/unictype/property-iso-control (Depends-on, configure.ac):
33300         Likewise.
33301         * modules/unictype/property-join-control (Depends-on, configure.ac):
33302         Likewise.
33303         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
33304         Likewise.
33305         * modules/unictype/property-line-separator (Depends-on, configure.ac):
33306         Likewise.
33307         * modules/unictype/property-logical-order-exception (Depends-on,
33308         configure.ac): Likewise.
33309         * modules/unictype/property-lowercase (Depends-on, configure.ac):
33310         Likewise.
33311         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
33312         * modules/unictype/property-non-break (Depends-on, configure.ac):
33313         Likewise.
33314         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
33315         Likewise.
33316         * modules/unictype/property-numeric (Depends-on, configure.ac):
33317         Likewise.
33318         * modules/unictype/property-other-alphabetic (Depends-on,
33319         configure.ac): Likewise.
33320         * modules/unictype/property-other-default-ignorable-code-point
33321         (Depends-on, configure.ac): Likewise.
33322         * modules/unictype/property-other-grapheme-extend (Depends-on,
33323         configure.ac): Likewise.
33324         * modules/unictype/property-other-id-continue (Depends-on,
33325         configure.ac): Likewise.
33326         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
33327         Likewise.
33328         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
33329         Likewise.
33330         * modules/unictype/property-other-math (Depends-on, configure.ac):
33331         Likewise.
33332         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
33333         Likewise.
33334         * modules/unictype/property-paired-punctuation (Depends-on,
33335         configure.ac): Likewise.
33336         * modules/unictype/property-paragraph-separator (Depends-on,
33337         configure.ac): Likewise.
33338         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
33339         Likewise.
33340         * modules/unictype/property-pattern-white-space (Depends-on,
33341         configure.ac): Likewise.
33342         * modules/unictype/property-private-use (Depends-on, configure.ac):
33343         Likewise.
33344         * modules/unictype/property-punctuation (Depends-on, configure.ac):
33345         Likewise.
33346         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
33347         Likewise.
33348         * modules/unictype/property-radical (Depends-on, configure.ac):
33349         Likewise.
33350         * modules/unictype/property-sentence-terminal (Depends-on,
33351         configure.ac): Likewise.
33352         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
33353         Likewise.
33354         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
33355         * modules/unictype/property-terminal-punctuation (Depends-on,
33356         configure.ac): Likewise.
33357         * modules/unictype/property-titlecase (Depends-on, configure.ac):
33358         Likewise.
33359         * modules/unictype/property-unassigned-code-value (Depends-on,
33360         configure.ac): Likewise.
33361         * modules/unictype/property-unified-ideograph (Depends-on,
33362         configure.ac): Likewise.
33363         * modules/unictype/property-uppercase (Depends-on, configure.ac):
33364         Likewise.
33365         * modules/unictype/property-variation-selector (Depends-on,
33366         configure.ac): Likewise.
33367         * modules/unictype/property-white-space (Depends-on, configure.ac):
33368         Likewise.
33369         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
33370         Likewise.
33371         * modules/unictype/property-xid-start (Depends-on, configure.ac):
33372         Likewise.
33373         * modules/unictype/property-zero-width (Depends-on, configure.ac):
33374         Likewise.
33375         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
33376         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
33377         Likewise.
33378
33379 2009-12-31  Bruno Haible  <bruno@clisp.org>
33380
33381         Remove unnecessary AC_C_INLINE invocation.
33382         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
33383         since 2009-08-21.
33384
33385 2009-12-31  Jim Meyering  <meyering@redhat.com>
33386
33387         maint.mk: don't require explicit gpg_key_ID in cfg.mk
33388         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
33389         With this change, we can all remove the gpg_key_ID = ... definition
33390         from our respective cfg.mk files.
33391
33392         maint.mk: create announcement template in ~/, not in /tmp
33393         * top/maint.mk (emit_upload_commands): Adjust.
33394         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
33395         Remove temporary file, .ci-msg.
33396
33397 2009-12-31  Eric Blake  <ebb9@byu.net>
33398
33399         link-warning: always build headers with link warnings
33400         * modules/arpa_inet (Makefile.am): Always build replacement
33401         header.
33402         * modules/ctype (Makefile.am): Likewise.
33403         * modules/dirent (Makefile.am): Likewise.
33404         * modules/inttypes (Makefile.am): Likewise.
33405         * modules/langinfo (Makefile.am): Likewise.
33406         * modules/locale (Makefile.am): Likewise.
33407         * modules/spawn (Makefile.am): Likewise.
33408         * modules/sys_file (Makefile.am): Likewise.
33409         * modules/sys_ioctl (Makefile.am): Likewise.
33410         * modules/sys_select (Makefile.am): Likewise.
33411         * modules/sys_socket (Makefile.am): Likewise.
33412         * modules/sys_times (Makefile.am): Likewise.
33413         * modules/sys_utsname (Makefile.am): Likewise.
33414         * modules/sys_wait (Makefile.am): Likewise.
33415         * modules/wchar (Makefile.am): Likewise.
33416         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
33417         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
33418         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
33419         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
33420         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
33421         Likewise.
33422         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
33423         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
33424         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
33425         Likewise.
33426         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
33427         Likewise.
33428         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
33429         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
33430         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
33431         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
33432         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
33433         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33434         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33435         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
33436         (gl_WCHAR_H_DEFAULTS): Likewise.
33437
33438 2009-12-31  Eric Blake  <ebb9@byu.net>
33439
33440         signal, spawn: use link warnings
33441         * lib/signal.in.h (sigset_t): Make unconditional.
33442         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
33443         (sigpending, sigprocmask, sigaction): Add link warnings.
33444         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
33445         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
33446         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
33447         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
33448         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
33449         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
33450         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
33451         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
33452         (posix_spawn_file_actions_destroy)
33453         (posix_spawn_file_actions_addopen)
33454         (posix_spawn_file_actions_addclose)
33455         (posix_spawn_file_actions_adddup2): Likewise.
33456         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
33457         * tests/test-signal.c (main): Enhance test.
33458
33459         spawn: improve wrapper support
33460         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
33461         (gl_SPAWN_H_DEFAULTS): New defaults.
33462         * modules/spawn (Makefile.am): Substitute them.
33463         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
33464         Only declare if missing or broken.
33465
33466         sys_times, sys_utsname: use include_next
33467         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
33468         header.
33469         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
33470         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
33471         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
33472         * modules/sys_times (Depends-on): Add include_next.
33473         (Makefile.am): Substitute additional values.
33474         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
33475         * lib/sys_times.in.h (includes): Include native header, if
33476         available.
33477         * lib/sys_utsname.in.h (includes): Likewise.
33478         * tests/test-sys_times.c (main): Enhance test.
33479
33480         fdutimensat: revert prior patch
33481         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
33482         utimens.h.
33483         Reported by Bruno Haible.
33484
33485 2009-12-30  Eric Blake  <ebb9@byu.net>
33486
33487         sys_wait: drop link-warning dependency
33488         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
33489         link-warning efforts.
33490         * lib/sys_wait.in.h: Likewise.
33491
33492         fdutimensat: remove bogus dependency
33493         * modules/fdutimensat (Depends-on): Drop inline.
33494
33495         unistd: fix typo
33496         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
33497
33498 2009-12-30  Bruno Haible  <bruno@clisp.org>
33499
33500         Fix compilation error with Solaris cc.
33501         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
33502         * lib/unicase/u16-is-invariant.c: Likewise.
33503         * lib/unicase/u32-is-invariant.c: Likewise.
33504         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
33505
33506 2009-12-30  Bruno Haible  <bruno@clisp.org>
33507
33508         Fix test crash.
33509         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
33510         locales.
33511         Reported by Simon Josefsson <simon@josefsson.org>.
33512
33513 2009-12-30  Bruno Haible  <bruno@clisp.org>
33514
33515         Fix compilation error on most platforms.
33516         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
33517         Reported by Simon Josefsson <simon@josefsson.org>
33518         and Nelson H. F. Beebe <beebe@math.utah.edu>.
33519
33520 2009-12-30  Eric Blake  <ebb9@byu.net>
33521
33522         futimens, utimensat: work around ntfs-3g bug
33523         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
33524         a ctime bug is present, and expand workaround to cover ntfs-3g.
33525         * lib/utimens.c (fdutimens, lutimens): Likewise.
33526         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
33527         (validate_timespec): Adjust return value.
33528         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
33529         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
33530         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
33531
33532 2009-12-29  Eric Blake  <ebb9@byu.net>
33533
33534         link-warning: make usage consistent
33535         * modules/ctype (Depends-on): Add link-warning.
33536         (Makefile.am): Update rules accordingly.
33537         * modules/langinfo (Depends-on, Makefile.am): Likewise.
33538         * modules/locale (Depends-on, Makefile.am): Likewise.
33539         * modules/sys_file (Makefile.am): Likewise.
33540         * modules/getopt-posix (Makefile.am): Delete unused link warning
33541         efforts.
33542         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
33543         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
33544         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
33545         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
33546
33547         stdio: remove unused variables
33548         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
33549         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
33550         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
33551
33552         tests: test more substitute headers
33553         * modules/ctype-tests: New file.
33554         * modules/dirent-tests: Likewise.
33555         * modules/spawn-tests: Likewise.
33556         * modules/sys_file-tests: Likewise.
33557         * modules/sys_ioctl-tests: Likewise.
33558         * modules/sys_wait-tests: Likewise.
33559         * tests/test-ctype.c: Likewise.
33560         * tests/test-dirent.c: Likewise.
33561         * tests/test-spawn.c: Likewise.
33562         * tests/test-sys_file.c: Likewise.
33563         * tests/test-sys_ioctl.c: Likewise.
33564         * tests/test-sys_wait.c: Likewise.
33565         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
33566         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
33567         whether or not flock is in use.
33568
33569         tests: remove License section from module
33570         * modules/arpa_inet-tests: Remove unneeded section.
33571         * modules/byteswap-tests: Likewise.
33572         * modules/ceilf-tests: Likewise.
33573         * modules/ceill-tests: Likewise.
33574         * modules/crypto/des-tests: Likewise.
33575         * modules/crypto/gc-arcfour-tests: Likewise.
33576         * modules/crypto/gc-arctwo-tests: Likewise.
33577         * modules/crypto/gc-des-tests: Likewise.
33578         * modules/crypto/gc-hmac-md5-tests: Likewise.
33579         * modules/crypto/gc-hmac-sha1-tests: Likewise.
33580         * modules/crypto/gc-md2-tests: Likewise.
33581         * modules/crypto/gc-md4-tests: Likewise.
33582         * modules/crypto/gc-md5-tests: Likewise.
33583         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
33584         * modules/crypto/gc-rijndael-tests: Likewise.
33585         * modules/crypto/gc-sha1-tests: Likewise.
33586         * modules/crypto/gc-tests: Likewise.
33587         * modules/crypto/md2-tests: Likewise.
33588         * modules/crypto/md4-tests: Likewise.
33589         * modules/fcntl-h-tests: Likewise.
33590         * modules/floorf-tests: Likewise.
33591         * modules/floorl-tests: Likewise.
33592         * modules/frexp-nolibm-tests: Likewise.
33593         * modules/frexp-tests: Likewise.
33594         * modules/frexpl-nolibm-tests: Likewise.
33595         * modules/frexpl-tests: Likewise.
33596         * modules/getaddrinfo-tests: Likewise.
33597         * modules/inttypes-tests: Likewise.
33598         * modules/isfinite-tests: Likewise.
33599         * modules/isinf-tests: Likewise.
33600         * modules/ldexpl-tests: Likewise.
33601         * modules/locale-tests: Likewise.
33602         * modules/math-tests: Likewise.
33603         * modules/netdb-tests: Likewise.
33604         * modules/netinet_in-tests: Likewise.
33605         * modules/printf-frexp-tests: Likewise.
33606         * modules/printf-frexpl-tests: Likewise.
33607         * modules/priv-set-tests: Likewise.
33608         * modules/random_r-tests: Likewise.
33609         * modules/round-tests: Likewise.
33610         * modules/roundf-tests: Likewise.
33611         * modules/roundl-tests: Likewise.
33612         * modules/search-tests: Likewise.
33613         * modules/select-tests: Likewise.
33614         * modules/signal-tests: Likewise.
33615         * modules/stdbool-tests: Likewise.
33616         * modules/stddef-tests: Likewise.
33617         * modules/stdint-tests: Likewise.
33618         * modules/stdio-tests: Likewise.
33619         * modules/stdlib-tests: Likewise.
33620         * modules/string-tests: Likewise.
33621         * modules/strings-tests: Likewise.
33622         * modules/sys_select-tests: Likewise.
33623         * modules/sys_socket-tests: Likewise.
33624         * modules/sys_stat-tests: Likewise.
33625         * modules/sys_time-tests: Likewise.
33626         * modules/sys_utsname-tests: Likewise.
33627         * modules/sysexits-tests: Likewise.
33628         * modules/time-tests: Likewise.
33629         * modules/trunc-tests: Likewise.
33630         * modules/truncf-tests: Likewise.
33631         * modules/truncl-tests: Likewise.
33632         * modules/tsearch-tests: Likewise.
33633         * modules/unistd-tests: Likewise.
33634         * modules/wchar-tests: Likewise.
33635         * modules/wctype-tests: Likewise.
33636
33637         tests: fix license on several tests
33638         * tests/test-des.c: Update to GPLv3+.
33639         * tests/test-flock.c: Likewise.
33640         * tests/test-fsync.c: Likewise.
33641         * tests/test-futimens.h: Likewise.
33642         * tests/test-gc-arcfour.c: Likewise.
33643         * tests/test-gc-arctwo.c: Likewise.
33644         * tests/test-gc-des.c: Likewise.
33645         * tests/test-gc-hmac-md5.c: Likewise.
33646         * tests/test-gc-hmac-sha1.c: Likewise.
33647         * tests/test-gc-md2.c: Likewise.
33648         * tests/test-gc-md4.c: Likewise.
33649         * tests/test-gc-md5.c: Likewise.
33650         * tests/test-gc-pbkdf2-sha1.c: Likewise.
33651         * tests/test-gc-rijndael.c: Likewise.
33652         * tests/test-gc-sha1.c: Likewise.
33653         * tests/test-gc.c: Likewise.
33654         * tests/test-getcwd.c: Likewise.
33655         * tests/test-link.c: Likewise.
33656         * tests/test-link.h: Likewise.
33657         * tests/test-lutimens.h: Likewise.
33658         * tests/test-md2.c: Likewise.
33659         * tests/test-md4.c: Likewise.
33660         * tests/test-mkdir.h: Likewise.
33661         * tests/test-rename.c: Likewise.
33662         * tests/test-rename.h: Likewise.
33663         * tests/test-safe-alloc.c: Likewise.
33664         * tests/test-utimens-common.h: Likewise.
33665         * tests/test-utimens.h: Likewise.
33666
33667         maint: sync license texts
33668         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
33669         * doc/gpl-3.0.texi: Revert copyright year update.
33670         * doc/lgpl-3.0.texi: Likewise.
33671
33672 2009-12-29  Jim Meyering  <meyering@redhat.com>
33673
33674         update nearly all FSF copyright year lists to include 2009
33675         The files named by the following are exempted:
33676             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
33677               test -f "$dst" && { echo "$dst"; continue; }
33678               test -d "$dst" || continue
33679               echo "$dst"/$(basename "$src")
33680             done > exempt
33681             git ls-files tests/unictype >> exempt
33682         In the remaining files, convert to all-interval notation if
33683         - there is already at least one year interval like 2000-2003
33684         - the file is maintained by me
33685         - the file is in lib/uni*/, where that style already prevails
33686         Otherwise, use update-copyright's default.
33687
33688 2009-12-29  Simon Josefsson  <simon@josefsson.org>
33689         and Eric Blake  <ebb9@byu.net>
33690
33691         tests: don't require debug system() to pass
33692         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
33693         * tests/test-rmdir.h (test_rmdir_func): Likewise.
33694         * tests/test-unlink.h (test_unlink_func): Likewise.
33695         * tests/test-fstatat.c (main): ...into callers.
33696         * tests/test-lstat.c (main): Likewise.
33697         * tests/test-rmdir.c (main): Likewise.
33698         * tests/test-unlink.c (main): Likewise.
33699         * tests/test-unlinkat.c (main): Likewise.
33700         * tests/test-areadlink-with-size.c (main): Don't require a
33701         debug-only system call to pass, aiding cross-testing to mingw.
33702         * tests/test-areadlink.c (main): Likewise.
33703         * tests/test-areadlinkat-with-size.c (main): Likewise.
33704         * tests/test-areadlinkat.c (main): Likewise.
33705         * tests/test-canonicalize-lgpl.c (main): Likewise.
33706         * tests/test-canonicalize.c (main): Likewise.
33707         * tests/test-chown.c (main): Likewise.
33708         * tests/test-fchownat.c (main): Likewise.
33709         * tests/test-lchown.c (main): Likewise.
33710         * tests/test-fdutimensat.c (main): Likewise.
33711         * tests/test-futimens.c (main): Likewise.
33712         * tests/test-link.c (main): Likewise.
33713         * tests/test-linkat.c (main): Likewise.
33714         * tests/test-mkdir.c (main): Likewise.
33715         * tests/test-mkdirat.c (main): Likewise.
33716         * tests/test-mkfifo.c (main): Likewise.
33717         * tests/test-mkfifoat.c (main): Likewise.
33718         * tests/test-mknod.c (main): Likewise.
33719         * tests/test-readlink.c (main): Likewise.
33720         * tests/test-remove.c (main): Likewise.
33721         * tests/test-rename.c (main): Likewise.
33722         * tests/test-renameat.c (main): Likewise.
33723         * tests/test-symlink.c (main): Likewise.
33724         * tests/test-symlinkat.c (main): Likewise.
33725         * tests/test-utimens.c (main): Likewise.
33726         * tests/test-utimensat.c (main): Likewise.
33727
33728 2009-12-29  Simon Josefsson  <simon@josefsson.org>
33729
33730         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
33731         on $(UNUSED_PARAMETER_H) to avoid build failure.
33732
33733 2009-12-28  Jim Meyering  <meyering@redhat.com>
33734
33735         update-copyright: you may specify a max. line length other than 72
33736         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
33737
33738         maint: use consistent FSF copyright line syntax
33739         * lib/posixtm.c: Add missing comma in FSF copyright line.
33740         * lib/posixtm.h: Likewise.
33741         * lib/getugroups.c: Add missing ", Inc.".
33742
33743         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
33744         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
33745         FSF copyright line.  Remove trailing blanks.
33746
33747 2009-12-28  Eric Blake  <ebb9@byu.net>
33748
33749         test-dup2: reduce dependencies
33750         * modules/cloexec (Configure.ac): Set witness.
33751         * modules/dup2-tests (Depends-on): Drop cloexec.
33752         * tests/test-dup2.c (main): Skip portion of test if cloexec module
33753         not present.
33754         Suggested by Bruno Haible.
33755
33756 2009-12-26  Bruno Haible  <bruno@clisp.org>
33757
33758         Remove an unneeded dependency.
33759         * modules/fseterr (Depends-on): Remove dup2.
33760
33761 2009-12-26  Eric Blake  <ebb9@byu.net>
33762
33763         tests: use macros.h in more places
33764         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
33765         (ASSERT_STREAM): Provide default of stderr.
33766         * tests/test-dirent-safer.c: Include macros.h, using alternate
33767         stream for assertions.
33768         * tests/test-dup-safer.c: Likewise.
33769         * tests/test-freopen-safer.c: Likewise.
33770         * tests/test-getopt.c: Likewise.
33771         * tests/test-openat-safer.c: Likewise.
33772         * tests/test-pipe.c: Likewise.
33773         * tests/test-popen-safer.c: Likewise.
33774         * modules/dirent-safer-tests (Files): Include macros.h.
33775         * modules/unistd-safer-tests (Files): Likewise.
33776         * modules/freopen-safer-tests (Files): Likewise.
33777         * modules/getopt-posix-tests (Files): Likewise.
33778         * modules/openat-safer-tests (Files): Likewise.
33779         * modules/pipe-tests (Files): Likewise.
33780
33781 2009-12-26  Bruno Haible  <bruno@clisp.org>
33782
33783         javacomp: Portability fix.
33784         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
33785         that it also works on Solaris.
33786
33787 2009-12-26  Bruno Haible  <bruno@clisp.org>
33788
33789         localename: Fix storage allocation of gl_locale_name_thread's result.
33790         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
33791         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
33792         all platforms that have 'uselocale'.
33793         (gl_locale_name_thread_unsafe): New function, extracted from
33794         gl_locale_name_thread.
33795         (gl_locale_name_thread): Call struniq on all platforms that have
33796         'uselocale'.
33797         * tests/test-localename.c (test_locale_name_thread): Check that the
33798         resulting strings are permanently allocated.
33799         * modules/localename-tests (Depends-on): Add strdup.
33800
33801 2009-12-26  Bruno Haible  <bruno@clisp.org>
33802
33803         * tests/test-localename.c (categories): Fill in the strings.
33804
33805 2009-12-26  Jim Meyering  <meyering@redhat.com>
33806
33807         isdir: complete the removal of m4/isdir.m4
33808         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
33809
33810         isdir: clean up, since at least grep still uses it
33811         * lib/isdir.c: Include "isdir.h".
33812         (S_ISDIR): Remove now-unneeded definition.
33813         * modules/isdir (Files): Add lib/isdir.h.
33814         * lib/isdir.h: New file, with declaration.
33815         * m4/isdir.m4: Remove file -- unneeded.
33816
33817 2009-12-25  Bruno Haible  <bruno@clisp.org>
33818
33819         selinux-h: Make generated .h files standalone.
33820         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
33821         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
33822         * lib/se-selinux.in.h: Likewise.
33823         * modules/selinux-h (Depends-on): Add unused-parameter.
33824         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
33825         selinux/selinux.h and selinux/context.h.
33826         Suggested by Eric Blake.
33827
33828 2009-12-25  Bruno Haible  <bruno@clisp.org>
33829
33830         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
33831         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
33832         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
33833         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
33834         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
33835
33836 2009-12-24  Bruno Haible  <bruno@clisp.org>
33837
33838         openat: Fix warning.
33839         * lib/openat-proc.c: Include <unistd.h>.
33840
33841 2009-12-24  Bruno Haible  <bruno@clisp.org>
33842
33843         New module 'unused-parameter'.
33844         * build-aux/unused-parameter.h: New file, extracted from earlier
33845         gnulib-common.m4.
33846         * modules/unused-parameter: New file.
33847         * lib/unistr.h: Include unused-parameter.h.
33848         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
33849         _GL_UNUSED.
33850         * modules/unistr/base (Depends-on): Add unused-parameter.
33851
33852 2009-12-24  Bruno Haible  <bruno@clisp.org>
33853
33854         Add missing dependencies to 'extensions' module.
33855         * m4/extensions.m4: Add comment.
33856         * modules/accept4 (Depends-on): Add extensions.
33857         * modules/dup3 (Depends-on): Likewise.
33858         * modules/fcntl (Depends-on): Likewise.
33859         * modules/futimens (Depends-on): Likewise.
33860         * modules/mknod (Depends-on): Likewise.
33861         * modules/pipe2 (Depends-on): Likewise.
33862         * modules/stat-time (Depends-on): Likewise.
33863         * modules/strcasestr-simple (Depends-on): Likewise.
33864         * modules/strsignal (Depends-on): Likewise.
33865         * modules/utimensat (Depends-on): Likewise.
33866         * modules/localcharset (Depends-on): Likewise. Needed because of
33867         gl_FCNTL_O_FLAGS.
33868         * modules/wcrtomb (Depends-on): Likewise. Needed because of
33869         AC_TYPE_MBSTATE_T.
33870         * modules/wcsnrtombs (Depends-on): Likewise.
33871         * modules/wcsrtombs (Depends-on): Likewise.
33872
33873 2009-12-24  Bruno Haible  <bruno@clisp.org>
33874
33875         binary-io: Avoid gcc warning due to SET_BINARY.
33876         * lib/binary-io.h (SET_BINARY): Cast the result to void.
33877         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
33878
33879 2009-12-24  Bruno Haible  <bruno@clisp.org>
33880
33881         Avoid future namespace pollution on glibc systems.
33882         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
33883         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
33884         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
33885         glibc systems.
33886
33887 2009-12-24  Bruno Haible  <bruno@clisp.org>
33888
33889         Refactor common macros used in tests.
33890         * tests/macros.h: New file.
33891         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
33892         and/or <stdlib.h>, if appropriate.
33893         (ASSERT, SIZEOF): Remove macros.
33894         * tests/test-areadlink-with-size.c: Likewise.
33895         * tests/test-areadlinkat.c: Likewise.
33896         * tests/test-areadlinkat-with-size.c: Likewise.
33897         * tests/test-argmatch.c: Likewise.
33898         * tests/test-argv-iter.c: Likewise.
33899         * tests/test-array-mergesort.c: Likewise.
33900         * tests/test-array_list.c: Likewise.
33901         * tests/test-array_oset.c: Likewise.
33902         * tests/test-avltree_list.c: Likewise.
33903         * tests/test-avltree_oset.c: Likewise.
33904         * tests/test-avltreehash_list.c: Likewise.
33905         * tests/test-base64.c: Likewise.
33906         * tests/test-binary-io.c: Likewise.
33907         * tests/test-bitrotate.c: Likewise.
33908         * tests/test-btowc.c: Likewise.
33909         * tests/test-byteswap.c: Likewise.
33910         * tests/test-c-ctype.c: Likewise.
33911         * tests/test-c-stack.c: Likewise.
33912         * tests/test-c-strcasecmp.c: Likewise.
33913         * tests/test-c-strcasestr.c: Likewise.
33914         * tests/test-c-strncasecmp.c: Likewise.
33915         * tests/test-c-strstr.c: Likewise.
33916         * tests/test-canonicalize-lgpl.c: Likewise.
33917         * tests/test-canonicalize.c: Likewise.
33918         * tests/test-carray_list.c: Likewise.
33919         * tests/test-ceilf1.c: Likewise.
33920         * tests/test-ceilf2.c: Likewise.
33921         * tests/test-ceill.c: Likewise.
33922         * tests/test-chown.c: Likewise.
33923         * tests/test-cloexec.c: Likewise.
33924         * tests/test-copy-acl.c: Likewise.
33925         * tests/test-copy-file.c: Likewise.
33926         * tests/test-count-one-bits.c: Likewise.
33927         * tests/test-dprintf-posix.c: Likewise.
33928         * tests/test-dup2.c: Likewise.
33929         * tests/test-dup3.c: Likewise.
33930         * tests/test-duplocale.c: Likewise.
33931         * tests/test-fbufmode.c: Likewise.
33932         * tests/test-fchdir.c: Likewise.
33933         * tests/test-fchownat.c: Likewise.
33934         * tests/test-fcntl-safer.c: Likewise.
33935         * tests/test-fcntl.c: Likewise.
33936         * tests/test-fdopendir.c: Likewise.
33937         * tests/test-fdutimensat.c: Likewise.
33938         * tests/test-fflush2.c: Likewise.
33939         * tests/test-file-has-acl.c: Likewise.
33940         * tests/test-filevercmp.c: Likewise.
33941         * tests/test-flock.c: Likewise.
33942         * tests/test-floorf1.c: Likewise.
33943         * tests/test-floorf2.c: Likewise.
33944         * tests/test-floorl.c: Likewise.
33945         * tests/test-fnmatch.c: Likewise.
33946         * tests/test-fopen.h: Likewise.
33947         * tests/test-fpending.c: Likewise.
33948         * tests/test-fprintf-posix.c: Likewise.
33949         * tests/test-fpurge.c: Likewise.
33950         * tests/test-freadable.c: Likewise.
33951         * tests/test-freadahead.c: Likewise.
33952         * tests/test-freading.c: Likewise.
33953         * tests/test-freadptr.c: Likewise.
33954         * tests/test-freadptr2.c: Likewise.
33955         * tests/test-freadseek.c: Likewise.
33956         * tests/test-freopen.c: Likewise.
33957         * tests/test-frexp.c: Likewise.
33958         * tests/test-frexpl.c: Likewise.
33959         * tests/test-fseek.c: Likewise.
33960         * tests/test-fseeko.c: Likewise.
33961         * tests/test-fstatat.c: Likewise.
33962         * tests/test-fstrcmp.c: Likewise.
33963         * tests/test-fsync.c: Likewise.
33964         * tests/test-ftell.c: Likewise.
33965         * tests/test-ftello.c: Likewise.
33966         * tests/test-func.c: Likewise.
33967         * tests/test-futimens.c: Likewise.
33968         * tests/test-fwritable.c: Likewise.
33969         * tests/test-fwriting.c: Likewise.
33970         * tests/test-getcwd.c: Likewise.
33971         * tests/test-getdate.c: Likewise.
33972         * tests/test-getdelim.c: Likewise.
33973         * tests/test-getdtablesize.c: Likewise.
33974         * tests/test-getgroups.c: Likewise.
33975         * tests/test-getline.c: Likewise.
33976         * tests/test-getndelim2.c: Likewise.
33977         * tests/test-glob.c: Likewise.
33978         * tests/test-hash.c: Likewise.
33979         * tests/test-i-ring.c: Likewise.
33980         * tests/test-iconv-utf.c: Likewise.
33981         * tests/test-iconv.c: Likewise.
33982         * tests/test-idpriv-drop.c: Likewise.
33983         * tests/test-idpriv-droptemp.c: Likewise.
33984         * tests/test-inet_ntop.c: Likewise.
33985         * tests/test-inet_pton.c: Likewise.
33986         * tests/test-isblank.c: Likewise.
33987         * tests/test-isfinite.c: Likewise.
33988         * tests/test-isinf.c: Likewise.
33989         * tests/test-isnan.c: Likewise.
33990         * tests/test-isnand.h: Likewise.
33991         * tests/test-isnanf.h: Likewise.
33992         * tests/test-isnanl.h: Likewise.
33993         * tests/test-lchown.c: Likewise.
33994         * tests/test-ldexpl.c: Likewise.
33995         * tests/test-link.c: Likewise.
33996         * tests/test-linkat.c: Likewise.
33997         * tests/test-linked_list.c: Likewise.
33998         * tests/test-linkedhash_list.c: Likewise.
33999         * tests/test-localename.c: Likewise.
34000         * tests/test-lseek.c: Likewise.
34001         * tests/test-lstat.c: Likewise.
34002         * tests/test-mbmemcasecmp.c: Likewise.
34003         * tests/test-mbmemcasecoll.c: Likewise.
34004         * tests/test-mbrtowc.c: Likewise.
34005         * tests/test-mbscasecmp.c: Likewise.
34006         * tests/test-mbscasestr1.c: Likewise.
34007         * tests/test-mbscasestr2.c: Likewise.
34008         * tests/test-mbscasestr3.c: Likewise.
34009         * tests/test-mbscasestr4.c: Likewise.
34010         * tests/test-mbschr.c: Likewise.
34011         * tests/test-mbscspn.c: Likewise.
34012         * tests/test-mbsinit.c: Likewise.
34013         * tests/test-mbsncasecmp.c: Likewise.
34014         * tests/test-mbsnrtowcs.c: Likewise.
34015         * tests/test-mbspbrk.c: Likewise.
34016         * tests/test-mbspcasecmp.c: Likewise.
34017         * tests/test-mbsrchr.c: Likewise.
34018         * tests/test-mbsrtowcs.c: Likewise.
34019         * tests/test-mbsspn.c: Likewise.
34020         * tests/test-mbsstr1.c: Likewise.
34021         * tests/test-mbsstr2.c: Likewise.
34022         * tests/test-mbsstr3.c: Likewise.
34023         * tests/test-memchr.c: Likewise.
34024         * tests/test-memchr2.c: Likewise.
34025         * tests/test-memcmp.c: Likewise.
34026         * tests/test-memmem.c: Likewise.
34027         * tests/test-memrchr.c: Likewise.
34028         * tests/test-mkdir.c: Likewise.
34029         * tests/test-mkdirat.c: Likewise.
34030         * tests/test-mkfifo.c: Likewise.
34031         * tests/test-mkfifoat.c: Likewise.
34032         * tests/test-mknod.c: Likewise.
34033         * tests/test-nanosleep.c: Likewise.
34034         * tests/test-nl_langinfo.c: Likewise.
34035         * tests/test-obstack-printf.c: Likewise.
34036         * tests/test-open.c: Likewise.
34037         * tests/test-openat.c: Likewise.
34038         * tests/test-pipe-filter-gi1.c: Likewise.
34039         * tests/test-pipe-filter-gi2-main.c: Likewise.
34040         * tests/test-pipe-filter-ii1.c: Likewise.
34041         * tests/test-pipe-filter-ii2-main.c: Likewise.
34042         * tests/test-pipe2.c: Likewise.
34043         * tests/test-popen.h: Likewise.
34044         * tests/test-posixtm.c: Likewise.
34045         * tests/test-pread.c: Likewise.
34046         * tests/test-printf-frexp.c: Likewise.
34047         * tests/test-printf-frexpl.c: Likewise.
34048         * tests/test-printf-posix.c: Likewise.
34049         * tests/test-priv-set.c: Likewise.
34050         * tests/test-quotearg.c: Likewise.
34051         * tests/test-random_r.c: Likewise.
34052         * tests/test-rawmemchr.c: Likewise.
34053         * tests/test-rbtree_list.c: Likewise.
34054         * tests/test-rbtree_oset.c: Likewise.
34055         * tests/test-rbtreehash_list.c: Likewise.
34056         * tests/test-readlink.c: Likewise.
34057         * tests/test-remove.c: Likewise.
34058         * tests/test-rename.c: Likewise.
34059         * tests/test-renameat.c: Likewise.
34060         * tests/test-rmdir.c: Likewise.
34061         * tests/test-round1.c: Likewise.
34062         * tests/test-roundf1.c: Likewise.
34063         * tests/test-roundl.c: Likewise.
34064         * tests/test-safe-alloc.c: Likewise.
34065         * tests/test-sameacls.c: Likewise.
34066         * tests/test-set-mode-acl.c: Likewise.
34067         * tests/test-setenv.c: Likewise.
34068         * tests/test-sigaction.c: Likewise.
34069         * tests/test-signbit.c: Likewise.
34070         * tests/test-sleep.c: Likewise.
34071         * tests/test-snprintf-posix.c: Likewise.
34072         * tests/test-snprintf.c: Likewise.
34073         * tests/test-sprintf-posix.c: Likewise.
34074         * tests/test-stat-time.c: Likewise.
34075         * tests/test-stat.c: Likewise.
34076         * tests/test-strcasestr.c: Likewise.
34077         * tests/test-strchrnul.c: Likewise.
34078         * tests/test-strerror.c: Likewise.
34079         * tests/test-striconv.c: Likewise.
34080         * tests/test-striconveh.c: Likewise.
34081         * tests/test-striconveha.c: Likewise.
34082         * tests/test-strsignal.c: Likewise.
34083         * tests/test-strstr.c: Likewise.
34084         * tests/test-strtod.c: Likewise.
34085         * tests/test-strverscmp.c: Likewise.
34086         * tests/test-symlink.c: Likewise.
34087         * tests/test-symlinkat.c: Likewise.
34088         * tests/test-trunc1.c: Likewise.
34089         * tests/test-trunc2.c: Likewise.
34090         * tests/test-truncf1.c: Likewise.
34091         * tests/test-truncf2.c: Likewise.
34092         * tests/test-truncl.c: Likewise.
34093         * tests/test-uname.c: Likewise.
34094         * tests/test-unlink.c: Likewise.
34095         * tests/test-unlinkat.c: Likewise.
34096         * tests/test-unsetenv.c: Likewise.
34097         * tests/test-usleep.c: Likewise.
34098         * tests/test-utimens.c: Likewise.
34099         * tests/test-utimensat.c: Likewise.
34100         * tests/test-vasnprintf-posix.c: Likewise.
34101         * tests/test-vasnprintf-posix2.c: Likewise.
34102         * tests/test-vasnprintf.c: Likewise.
34103         * tests/test-vasprintf-posix.c: Likewise.
34104         * tests/test-vasprintf.c: Likewise.
34105         * tests/test-vdprintf-posix.c: Likewise.
34106         * tests/test-vfprintf-posix.c: Likewise.
34107         * tests/test-vprintf-posix.c: Likewise.
34108         * tests/test-vsnprintf-posix.c: Likewise.
34109         * tests/test-vsnprintf.c: Likewise.
34110         * tests/test-vsprintf-posix.c: Likewise.
34111         * tests/test-wcrtomb.c: Likewise.
34112         * tests/test-wcsnrtombs.c: Likewise.
34113         * tests/test-wcsrtombs.c: Likewise.
34114         * tests/test-wctype.c: Likewise.
34115         * tests/test-wcwidth.c: Likewise.
34116         * tests/test-xfprintf-posix.c: Likewise.
34117         * tests/test-xmemdup0.c: Likewise.
34118         * tests/test-xprintf-posix.c: Likewise.
34119         * tests/test-xvasprintf.c: Likewise.
34120         * tests/unicase/test-locale-language.c: Likewise.
34121         * tests/unicase/test-mapping-part1.h: Likewise.
34122         * tests/unicase/test-predicate-part1.h: Likewise.
34123         * tests/unicase/test-u8-casecmp.c: Likewise.
34124         * tests/unicase/test-u8-casecoll.c: Likewise.
34125         * tests/unicase/test-u8-casefold.c: Likewise.
34126         * tests/unicase/test-u8-is-cased.c: Likewise.
34127         * tests/unicase/test-u8-is-casefolded.c: Likewise.
34128         * tests/unicase/test-u8-is-lowercase.c: Likewise.
34129         * tests/unicase/test-u8-is-titlecase.c: Likewise.
34130         * tests/unicase/test-u8-is-uppercase.c: Likewise.
34131         * tests/unicase/test-u8-tolower.c: Likewise.
34132         * tests/unicase/test-u8-totitle.c: Likewise.
34133         * tests/unicase/test-u8-toupper.c: Likewise.
34134         * tests/unicase/test-u16-casecmp.c: Likewise.
34135         * tests/unicase/test-u16-casecoll.c: Likewise.
34136         * tests/unicase/test-u16-casefold.c: Likewise.
34137         * tests/unicase/test-u16-is-cased.c: Likewise.
34138         * tests/unicase/test-u16-is-casefolded.c: Likewise.
34139         * tests/unicase/test-u16-is-lowercase.c: Likewise.
34140         * tests/unicase/test-u16-is-titlecase.c: Likewise.
34141         * tests/unicase/test-u16-is-uppercase.c: Likewise.
34142         * tests/unicase/test-u16-tolower.c: Likewise.
34143         * tests/unicase/test-u16-totitle.c: Likewise.
34144         * tests/unicase/test-u16-toupper.c: Likewise.
34145         * tests/unicase/test-u32-casecmp.c: Likewise.
34146         * tests/unicase/test-u32-casecoll.c: Likewise.
34147         * tests/unicase/test-u32-casefold.c: Likewise.
34148         * tests/unicase/test-u32-is-cased.c: Likewise.
34149         * tests/unicase/test-u32-is-casefolded.c: Likewise.
34150         * tests/unicase/test-u32-is-lowercase.c: Likewise.
34151         * tests/unicase/test-u32-is-titlecase.c: Likewise.
34152         * tests/unicase/test-u32-is-uppercase.c: Likewise.
34153         * tests/unicase/test-u32-tolower.c: Likewise.
34154         * tests/unicase/test-u32-totitle.c: Likewise.
34155         * tests/unicase/test-u32-toupper.c: Likewise.
34156         * tests/unicase/test-ulc-casecmp.c: Likewise.
34157         * tests/unicase/test-ulc-casecoll.c: Likewise.
34158         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
34159         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
34160         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
34161         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
34162         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
34163         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
34164         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
34165         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
34166         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
34167         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
34168         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
34169         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
34170         * tests/unictype/test-bidi_byname.c: Likewise.
34171         * tests/unictype/test-bidi_name.c: Likewise.
34172         * tests/unictype/test-bidi_of.c: Likewise.
34173         * tests/unictype/test-bidi_test.c: Likewise.
34174         * tests/unictype/test-block_list.c: Likewise.
34175         * tests/unictype/test-block_of.c: Likewise.
34176         * tests/unictype/test-block_test.c: Likewise.
34177         * tests/unictype/test-categ_and.c: Likewise.
34178         * tests/unictype/test-categ_and_not.c: Likewise.
34179         * tests/unictype/test-categ_byname.c: Likewise.
34180         * tests/unictype/test-categ_name.c: Likewise.
34181         * tests/unictype/test-categ_none.c: Likewise.
34182         * tests/unictype/test-categ_of.c: Likewise.
34183         * tests/unictype/test-categ_or.c: Likewise.
34184         * tests/unictype/test-categ_test_withtable.c: Likewise.
34185         * tests/unictype/test-combining.c: Likewise.
34186         * tests/unictype/test-decdigit.c: Likewise.
34187         * tests/unictype/test-digit.c: Likewise.
34188         * tests/unictype/test-mirror.c: Likewise.
34189         * tests/unictype/test-numeric.c: Likewise.
34190         * tests/unictype/test-pr_byname.c: Likewise.
34191         * tests/unictype/test-pr_test.c: Likewise.
34192         * tests/unictype/test-predicate-part1.h: Likewise.
34193         * tests/unictype/test-scripts.c: Likewise.
34194         * tests/unictype/test-sy_c_ident.c: Likewise.
34195         * tests/unictype/test-sy_java_ident.c: Likewise.
34196         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
34197         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
34198         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
34199         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
34200         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
34201         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
34202         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
34203         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
34204         * tests/uninorm/test-canonical-decomposition.c: Likewise.
34205         * tests/uninorm/test-compat-decomposition.c: Likewise.
34206         * tests/uninorm/test-composition.c: Likewise.
34207         * tests/uninorm/test-decomposing-form.c: Likewise.
34208         * tests/uninorm/test-decomposition.c: Likewise.
34209         * tests/uninorm/test-u8-nfc.c: Likewise.
34210         * tests/uninorm/test-u8-nfd.c: Likewise.
34211         * tests/uninorm/test-u8-nfkc.c: Likewise.
34212         * tests/uninorm/test-u8-nfkd.c: Likewise.
34213         * tests/uninorm/test-u8-normcmp.c: Likewise.
34214         * tests/uninorm/test-u8-normcoll.c: Likewise.
34215         * tests/uninorm/test-u16-nfc.c: Likewise.
34216         * tests/uninorm/test-u16-nfd.c: Likewise.
34217         * tests/uninorm/test-u16-nfkc.c: Likewise.
34218         * tests/uninorm/test-u16-nfkd.c: Likewise.
34219         * tests/uninorm/test-u16-normcmp.c: Likewise.
34220         * tests/uninorm/test-u16-normcoll.c: Likewise.
34221         * tests/uninorm/test-u32-nfc.c: Likewise.
34222         * tests/uninorm/test-u32-nfd.c: Likewise.
34223         * tests/uninorm/test-u32-nfkc.c: Likewise.
34224         * tests/uninorm/test-u32-nfkd.c: Likewise.
34225         * tests/uninorm/test-u32-normalize-big.c: Likewise.
34226         * tests/uninorm/test-u32-normcmp.c: Likewise.
34227         * tests/uninorm/test-u32-normcoll.c: Likewise.
34228         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
34229         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
34230         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
34231         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
34232         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
34233         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
34234         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
34235         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
34236         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
34237         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
34238         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
34239         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
34240         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
34241         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
34242         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
34243         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
34244         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
34245         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
34246         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
34247         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
34248         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
34249         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
34250         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
34251         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
34252         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
34253         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
34254         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
34255         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
34256         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
34257         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
34258         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
34259         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
34260         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
34261         * tests/uniwidth/test-u8-strwidth.c: Likewise.
34262         * tests/uniwidth/test-u8-width.c: Likewise.
34263         * tests/uniwidth/test-u16-strwidth.c: Likewise.
34264         * tests/uniwidth/test-u16-width.c: Likewise.
34265         * tests/uniwidth/test-u32-strwidth.c: Likewise.
34266         * tests/uniwidth/test-u32-width.c: Likewise.
34267         * tests/uniwidth/test-uc_width.c: Likewise.
34268         * tests/uniwidth/test-uc_width2.c: Likewise.
34269         * modules/acl-tests (Files): Add tests/macros.h.
34270         * modules/areadlink-tests (Files): Likewise.
34271         * modules/areadlink-with-size-tests (Files): Likewise.
34272         * modules/areadlinkat-tests (Files): Likewise.
34273         * modules/areadlinkat-with-size-tests (Files): Likewise.
34274         * modules/argmatch-tests (Files): Likewise.
34275         * modules/argv-iter-tests (Files): Likewise.
34276         * modules/array-list-tests (Files): Likewise.
34277         * modules/array-mergesort-tests (Files): Likewise.
34278         * modules/array-oset-tests (Files): Likewise.
34279         * modules/avltree-list-tests (Files): Likewise.
34280         * modules/avltree-oset-tests (Files): Likewise.
34281         * modules/avltreehash-list-tests (Files): Likewise.
34282         * modules/base64-tests (Files): Likewise.
34283         * modules/binary-io-tests (Files): Likewise.
34284         * modules/bitrotate-tests (Files): Likewise.
34285         * modules/btowc-tests (Files): Likewise.
34286         * modules/byteswap-tests (Files): Likewise.
34287         * modules/c-ctype-tests (Files): Likewise.
34288         * modules/c-stack-tests (Files): Likewise.
34289         * modules/c-strcase-tests (Files): Likewise.
34290         * modules/c-strcasestr-tests (Files): Likewise.
34291         * modules/c-strstr-tests (Files): Likewise.
34292         * modules/canonicalize-lgpl-tests (Files): Likewise.
34293         * modules/canonicalize-tests (Files): Likewise.
34294         * modules/carray-list-tests (Files): Likewise.
34295         * modules/ceilf-tests (Files): Likewise.
34296         * modules/ceill-tests (Files): Likewise.
34297         * modules/chown-tests (Files): Likewise.
34298         * modules/cloexec-tests (Files): Likewise.
34299         * modules/copy-file-tests (Files): Likewise.
34300         * modules/count-one-bits-tests (Files): Likewise.
34301         * modules/dprintf-posix-tests (Files): Likewise.
34302         * modules/dup2-tests (Files): Likewise.
34303         * modules/dup3-tests (Files): Likewise.
34304         * modules/duplocale-tests (Files): Likewise.
34305         * modules/fbufmode-tests (Files): Likewise.
34306         * modules/fchdir-tests (Files): Likewise.
34307         * modules/fcntl-safer-tests (Files): Likewise.
34308         * modules/fcntl-tests (Files): Likewise.
34309         * modules/fdopendir-tests (Files): Likewise.
34310         * modules/fdutimensat-tests (Files): Likewise.
34311         * modules/fflush-tests (Files): Likewise.
34312         * modules/filevercmp-tests (Files): Likewise.
34313         * modules/flock-tests (Files): Likewise.
34314         * modules/floorf-tests (Files): Likewise.
34315         * modules/floorl-tests (Files): Likewise.
34316         * modules/fnmatch-tests (Files): Likewise.
34317         * modules/fopen-safer-tests (Files): Likewise.
34318         * modules/fopen-tests (Files): Likewise.
34319         * modules/fpending-tests (Files): Likewise.
34320         * modules/fprintf-posix-tests (Files): Likewise.
34321         * modules/fpurge-tests (Files): Likewise.
34322         * modules/freadable-tests (Files): Likewise.
34323         * modules/freadahead-tests (Files): Likewise.
34324         * modules/freading-tests (Files): Likewise.
34325         * modules/freadptr-tests (Files): Likewise.
34326         * modules/freadseek-tests (Files): Likewise.
34327         * modules/freopen-tests (Files): Likewise.
34328         * modules/frexp-nolibm-tests (Files): Likewise.
34329         * modules/frexp-tests (Files): Likewise.
34330         * modules/frexpl-nolibm-tests (Files): Likewise.
34331         * modules/frexpl-tests (Files): Likewise.
34332         * modules/fseek-tests (Files): Likewise.
34333         * modules/fseeko-tests (Files): Likewise.
34334         * modules/fstrcmp-tests (Files): Likewise.
34335         * modules/fsync-tests (Files): Likewise.
34336         * modules/ftell-tests (Files): Likewise.
34337         * modules/ftello-tests (Files): Likewise.
34338         * modules/func-tests (Files): Likewise.
34339         * modules/futimens-tests (Files): Likewise.
34340         * modules/fwritable-tests (Files): Likewise.
34341         * modules/fwriting-tests (Files): Likewise.
34342         * modules/getcwd-tests (Files): Likewise.
34343         * modules/getdate-tests (Files): Likewise.
34344         * modules/getdelim-tests (Files): Likewise.
34345         * modules/getdtablesize-tests (Files): Likewise.
34346         * modules/getgroups-tests (Files): Likewise.
34347         * modules/getline-tests (Files): Likewise.
34348         * modules/getndelim2-tests (Files): Likewise.
34349         * modules/glob-tests (Files): Likewise.
34350         * modules/hash-tests (Files): Likewise.
34351         * modules/i-ring-tests (Files): Likewise.
34352         * modules/iconv-tests (Files): Likewise.
34353         * modules/iconv_open-utf-tests (Files): Likewise.
34354         * modules/idpriv-drop-tests (Files): Likewise.
34355         * modules/idpriv-droptemp-tests (Files): Likewise.
34356         * modules/inet_ntop-tests (Files): Likewise.
34357         * modules/inet_pton-tests (Files): Likewise.
34358         * modules/isblank-tests (Files): Likewise.
34359         * modules/isfinite-tests (Files): Likewise.
34360         * modules/isinf-tests (Files): Likewise.
34361         * modules/isnan-tests (Files): Likewise.
34362         * modules/isnand-nolibm-tests (Files): Likewise.
34363         * modules/isnand-tests (Files): Likewise.
34364         * modules/isnanf-nolibm-tests (Files): Likewise.
34365         * modules/isnanf-tests (Files): Likewise.
34366         * modules/isnanl-nolibm-tests (Files): Likewise.
34367         * modules/isnanl-tests (Files): Likewise.
34368         * modules/lchown-tests (Files): Likewise.
34369         * modules/ldexpl-tests (Files): Likewise.
34370         * modules/link-tests (Files): Likewise.
34371         * modules/linkat-tests (Files): Likewise.
34372         * modules/linked-list-tests (Files): Likewise.
34373         * modules/linkedhash-list-tests (Files): Likewise.
34374         * modules/localename-tests (Files): Likewise.
34375         * modules/lseek-tests (Files): Likewise.
34376         * modules/lstat-tests (Files): Likewise.
34377         * modules/mbmemcasecmp-tests (Files): Likewise.
34378         * modules/mbmemcasecoll-tests (Files): Likewise.
34379         * modules/mbrtowc-tests (Files): Likewise.
34380         * modules/mbscasecmp-tests (Files): Likewise.
34381         * modules/mbscasestr-tests (Files): Likewise.
34382         * modules/mbschr-tests (Files): Likewise.
34383         * modules/mbscspn-tests (Files): Likewise.
34384         * modules/mbsinit-tests (Files): Likewise.
34385         * modules/mbsncasecmp-tests (Files): Likewise.
34386         * modules/mbsnrtowcs-tests (Files): Likewise.
34387         * modules/mbspbrk-tests (Files): Likewise.
34388         * modules/mbspcasecmp-tests (Files): Likewise.
34389         * modules/mbsrchr-tests (Files): Likewise.
34390         * modules/mbsrtowcs-tests (Files): Likewise.
34391         * modules/mbsspn-tests (Files): Likewise.
34392         * modules/mbsstr-tests (Files): Likewise.
34393         * modules/memchr-tests (Files): Likewise.
34394         * modules/memchr2-tests (Files): Likewise.
34395         * modules/memcmp-tests (Files): Likewise.
34396         * modules/memmem-tests (Files): Likewise.
34397         * modules/memrchr-tests (Files): Likewise.
34398         * modules/mkdir-tests (Files): Likewise.
34399         * modules/mkfifo-tests (Files): Likewise.
34400         * modules/mkfifoat-tests (Files): Likewise.
34401         * modules/mknod-tests (Files): Likewise.
34402         * modules/nanosleep-tests (Files): Likewise.
34403         * modules/nl_langinfo-tests (Files): Likewise.
34404         * modules/obstack-printf-tests (Files): Likewise.
34405         * modules/open-tests (Files): Likewise.
34406         * modules/openat-tests (Files): Likewise.
34407         * modules/pipe-filter-gi-tests (Files): Likewise.
34408         * modules/pipe-filter-ii-tests (Files): Likewise.
34409         * modules/pipe2-tests (Files): Likewise.
34410         * modules/popen-safer-tests (Files): Likewise.
34411         * modules/popen-tests (Files): Likewise.
34412         * modules/posixtm-tests (Files): Likewise.
34413         * modules/pread-tests (Files): Likewise.
34414         * modules/printf-frexp-tests (Files): Likewise.
34415         * modules/printf-frexpl-tests (Files): Likewise.
34416         * modules/printf-posix-tests (Files): Likewise.
34417         * modules/priv-set-tests (Files): Likewise.
34418         * modules/quotearg-tests (Files): Likewise.
34419         * modules/random_r-tests (Files): Likewise.
34420         * modules/rawmemchr-tests (Files): Likewise.
34421         * modules/rbtree-list-tests (Files): Likewise.
34422         * modules/rbtree-oset-tests (Files): Likewise.
34423         * modules/rbtreehash-list-tests (Files): Likewise.
34424         * modules/readlink-tests (Files): Likewise.
34425         * modules/remove-tests (Files): Likewise.
34426         * modules/rename-tests (Files): Likewise.
34427         * modules/renameat-tests (Files): Likewise.
34428         * modules/rmdir-tests (Files): Likewise.
34429         * modules/round-tests (Files): Likewise.
34430         * modules/roundf-tests (Files): Likewise.
34431         * modules/roundl-tests (Files): Likewise.
34432         * modules/safe-alloc-tests (Files): Likewise.
34433         * modules/setenv-tests (Files): Likewise.
34434         * modules/sigaction-tests (Files): Likewise.
34435         * modules/signbit-tests (Files): Likewise.
34436         * modules/sleep-tests (Files): Likewise.
34437         * modules/snprintf-posix-tests (Files): Likewise.
34438         * modules/snprintf-tests (Files): Likewise.
34439         * modules/sprintf-posix-tests (Files): Likewise.
34440         * modules/stat-tests (Files): Likewise.
34441         * modules/stat-time-tests (Files): Likewise.
34442         * modules/strcasestr-tests (Files): Likewise.
34443         * modules/strchrnul-tests (Files): Likewise.
34444         * modules/strerror-tests (Files): Likewise.
34445         * modules/striconv-tests (Files): Likewise.
34446         * modules/striconveh-tests (Files): Likewise.
34447         * modules/striconveha-tests (Files): Likewise.
34448         * modules/strsignal-tests (Files): Likewise.
34449         * modules/strstr-tests (Files): Likewise.
34450         * modules/strtod-tests (Files): Likewise.
34451         * modules/strverscmp-tests (Files): Likewise.
34452         * modules/symlink-tests (Files): Likewise.
34453         * modules/symlinkat-tests (Files): Likewise.
34454         * modules/trunc-tests (Files): Likewise.
34455         * modules/truncf-tests (Files): Likewise.
34456         * modules/truncl-tests (Files): Likewise.
34457         * modules/uname-tests (Files): Likewise.
34458         * modules/unicase/cased-tests (Files): Likewise.
34459         * modules/unicase/ignorable-tests (Files): Likewise.
34460         * modules/unicase/locale-language-tests (Files): Likewise.
34461         * modules/unicase/tolower-tests (Files): Likewise.
34462         * modules/unicase/totitle-tests (Files): Likewise.
34463         * modules/unicase/toupper-tests (Files): Likewise.
34464         * modules/unicase/u8-casecmp-tests (Files): Likewise.
34465         * modules/unicase/u8-casecoll-tests (Files): Likewise.
34466         * modules/unicase/u8-casefold-tests (Files): Likewise.
34467         * modules/unicase/u8-is-cased-tests (Files): Likewise.
34468         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
34469         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
34470         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
34471         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
34472         * modules/unicase/u8-tolower-tests (Files): Likewise.
34473         * modules/unicase/u8-totitle-tests (Files): Likewise.
34474         * modules/unicase/u8-toupper-tests (Files): Likewise.
34475         * modules/unicase/u16-casecmp-tests (Files): Likewise.
34476         * modules/unicase/u16-casecoll-tests (Files): Likewise.
34477         * modules/unicase/u16-casefold-tests (Files): Likewise.
34478         * modules/unicase/u16-is-cased-tests (Files): Likewise.
34479         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
34480         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
34481         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
34482         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
34483         * modules/unicase/u16-tolower-tests (Files): Likewise.
34484         * modules/unicase/u16-totitle-tests (Files): Likewise.
34485         * modules/unicase/u16-toupper-tests (Files): Likewise.
34486         * modules/unicase/u32-casecmp-tests (Files): Likewise.
34487         * modules/unicase/u32-casecoll-tests (Files): Likewise.
34488         * modules/unicase/u32-casefold-tests (Files): Likewise.
34489         * modules/unicase/u32-is-cased-tests (Files): Likewise.
34490         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
34491         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
34492         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
34493         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
34494         * modules/unicase/u32-tolower-tests (Files): Likewise.
34495         * modules/unicase/u32-totitle-tests (Files): Likewise.
34496         * modules/unicase/u32-toupper-tests (Files): Likewise.
34497         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
34498         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
34499         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
34500         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
34501         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
34502         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
34503         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
34504         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
34505         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
34506         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
34507         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
34508         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
34509         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
34510         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
34511         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
34512         * modules/unictype/bidicategory-name-tests (Files): Likewise.
34513         * modules/unictype/bidicategory-of-tests (Files): Likewise.
34514         * modules/unictype/bidicategory-test-tests (Files): Likewise.
34515         * modules/unictype/block-list-tests (Files): Likewise.
34516         * modules/unictype/block-of-tests (Files): Likewise.
34517         * modules/unictype/block-test-tests (Files): Likewise.
34518         * modules/unictype/category-C-tests (Files): Likewise.
34519         * modules/unictype/category-Cc-tests (Files): Likewise.
34520         * modules/unictype/category-Cf-tests (Files): Likewise.
34521         * modules/unictype/category-Cn-tests (Files): Likewise.
34522         * modules/unictype/category-Co-tests (Files): Likewise.
34523         * modules/unictype/category-Cs-tests (Files): Likewise.
34524         * modules/unictype/category-L-tests (Files): Likewise.
34525         * modules/unictype/category-Ll-tests (Files): Likewise.
34526         * modules/unictype/category-Lm-tests (Files): Likewise.
34527         * modules/unictype/category-Lo-tests (Files): Likewise.
34528         * modules/unictype/category-Lt-tests (Files): Likewise.
34529         * modules/unictype/category-Lu-tests (Files): Likewise.
34530         * modules/unictype/category-M-tests (Files): Likewise.
34531         * modules/unictype/category-Mc-tests (Files): Likewise.
34532         * modules/unictype/category-Me-tests (Files): Likewise.
34533         * modules/unictype/category-Mn-tests (Files): Likewise.
34534         * modules/unictype/category-N-tests (Files): Likewise.
34535         * modules/unictype/category-Nd-tests (Files): Likewise.
34536         * modules/unictype/category-Nl-tests (Files): Likewise.
34537         * modules/unictype/category-No-tests (Files): Likewise.
34538         * modules/unictype/category-P-tests (Files): Likewise.
34539         * modules/unictype/category-Pc-tests (Files): Likewise.
34540         * modules/unictype/category-Pd-tests (Files): Likewise.
34541         * modules/unictype/category-Pe-tests (Files): Likewise.
34542         * modules/unictype/category-Pf-tests (Files): Likewise.
34543         * modules/unictype/category-Pi-tests (Files): Likewise.
34544         * modules/unictype/category-Po-tests (Files): Likewise.
34545         * modules/unictype/category-Ps-tests (Files): Likewise.
34546         * modules/unictype/category-S-tests (Files): Likewise.
34547         * modules/unictype/category-Sc-tests (Files): Likewise.
34548         * modules/unictype/category-Sk-tests (Files): Likewise.
34549         * modules/unictype/category-Sm-tests (Files): Likewise.
34550         * modules/unictype/category-So-tests (Files): Likewise.
34551         * modules/unictype/category-Z-tests (Files): Likewise.
34552         * modules/unictype/category-Zl-tests (Files): Likewise.
34553         * modules/unictype/category-Zp-tests (Files): Likewise.
34554         * modules/unictype/category-Zs-tests (Files): Likewise.
34555         * modules/unictype/category-and-not-tests (Files): Likewise.
34556         * modules/unictype/category-and-tests (Files): Likewise.
34557         * modules/unictype/category-byname-tests (Files): Likewise.
34558         * modules/unictype/category-name-tests (Files): Likewise.
34559         * modules/unictype/category-none-tests (Files): Likewise.
34560         * modules/unictype/category-of-tests (Files): Likewise.
34561         * modules/unictype/category-or-tests (Files): Likewise.
34562         * modules/unictype/category-test-withtable-tests (Files): Likewise.
34563         * modules/unictype/combining-class-tests (Files): Likewise.
34564         * modules/unictype/ctype-alnum-tests (Files): Likewise.
34565         * modules/unictype/ctype-alpha-tests (Files): Likewise.
34566         * modules/unictype/ctype-blank-tests (Files): Likewise.
34567         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
34568         * modules/unictype/ctype-digit-tests (Files): Likewise.
34569         * modules/unictype/ctype-graph-tests (Files): Likewise.
34570         * modules/unictype/ctype-lower-tests (Files): Likewise.
34571         * modules/unictype/ctype-print-tests (Files): Likewise.
34572         * modules/unictype/ctype-punct-tests (Files): Likewise.
34573         * modules/unictype/ctype-space-tests (Files): Likewise.
34574         * modules/unictype/ctype-upper-tests (Files): Likewise.
34575         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
34576         * modules/unictype/decimal-digit-tests (Files): Likewise.
34577         * modules/unictype/digit-tests (Files): Likewise.
34578         * modules/unictype/mirror-tests (Files): Likewise.
34579         * modules/unictype/numeric-tests (Files): Likewise.
34580         * modules/unictype/property-alphabetic-tests (Files): Likewise.
34581         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
34582         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
34583         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
34584         Likewise.
34585         * modules/unictype/property-bidi-block-separator-tests (Files):
34586         Likewise.
34587         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
34588         Likewise.
34589         * modules/unictype/property-bidi-common-separator-tests (Files):
34590         Likewise.
34591         * modules/unictype/property-bidi-control-tests (Files): Likewise.
34592         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
34593         Likewise.
34594         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
34595         Likewise.
34596         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
34597         Likewise.
34598         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
34599         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
34600         Likewise.
34601         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
34602         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
34603         Likewise.
34604         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
34605         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
34606         * modules/unictype/property-bidi-segment-separator-tests (Files):
34607         Likewise.
34608         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
34609         * modules/unictype/property-byname-tests (Files): Likewise.
34610         * modules/unictype/property-combining-tests (Files): Likewise.
34611         * modules/unictype/property-composite-tests (Files): Likewise.
34612         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
34613         * modules/unictype/property-dash-tests (Files): Likewise.
34614         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
34615         * modules/unictype/property-default-ignorable-code-point-tests (Files):
34616         Likewise.
34617         * modules/unictype/property-deprecated-tests (Files): Likewise.
34618         * modules/unictype/property-diacritic-tests (Files): Likewise.
34619         * modules/unictype/property-extender-tests (Files): Likewise.
34620         * modules/unictype/property-format-control-tests (Files): Likewise.
34621         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
34622         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
34623         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
34624         * modules/unictype/property-hex-digit-tests (Files): Likewise.
34625         * modules/unictype/property-hyphen-tests (Files): Likewise.
34626         * modules/unictype/property-id-continue-tests (Files): Likewise.
34627         * modules/unictype/property-id-start-tests (Files): Likewise.
34628         * modules/unictype/property-ideographic-tests (Files): Likewise.
34629         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
34630         * modules/unictype/property-ids-trinary-operator-tests (Files):
34631         Likewise.
34632         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
34633         * modules/unictype/property-iso-control-tests (Files): Likewise.
34634         * modules/unictype/property-join-control-tests (Files): Likewise.
34635         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
34636         * modules/unictype/property-line-separator-tests (Files): Likewise.
34637         * modules/unictype/property-logical-order-exception-tests (Files):
34638         Likewise.
34639         * modules/unictype/property-lowercase-tests (Files): Likewise.
34640         * modules/unictype/property-math-tests (Files): Likewise.
34641         * modules/unictype/property-non-break-tests (Files): Likewise.
34642         * modules/unictype/property-not-a-character-tests (Files): Likewise.
34643         * modules/unictype/property-numeric-tests (Files): Likewise.
34644         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
34645         * modules/unictype/property-other-default-ignorable-code-point-tests
34646         (Files): Likewise.
34647         * modules/unictype/property-other-grapheme-extend-tests (Files):
34648         Likewise.
34649         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
34650         * modules/unictype/property-other-id-start-tests (Files): Likewise.
34651         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
34652         * modules/unictype/property-other-math-tests (Files): Likewise.
34653         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
34654         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
34655         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
34656         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
34657         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
34658         * modules/unictype/property-private-use-tests (Files): Likewise.
34659         * modules/unictype/property-punctuation-tests (Files): Likewise.
34660         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
34661         * modules/unictype/property-radical-tests (Files): Likewise.
34662         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
34663         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
34664         * modules/unictype/property-space-tests (Files): Likewise.
34665         * modules/unictype/property-terminal-punctuation-tests (Files):
34666         Likewise.
34667         * modules/unictype/property-test-tests (Files): Likewise.
34668         * modules/unictype/property-titlecase-tests (Files): Likewise.
34669         * modules/unictype/property-unassigned-code-value-tests (Files):
34670         Likewise.
34671         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
34672         * modules/unictype/property-uppercase-tests (Files): Likewise.
34673         * modules/unictype/property-variation-selector-tests (Files): Likewise.
34674         * modules/unictype/property-white-space-tests (Files): Likewise.
34675         * modules/unictype/property-xid-continue-tests (Files): Likewise.
34676         * modules/unictype/property-xid-start-tests (Files): Likewise.
34677         * modules/unictype/property-zero-width-tests (Files): Likewise.
34678         * modules/unictype/scripts-tests (Files): Likewise.
34679         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
34680         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
34681         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
34682         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
34683         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
34684         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
34685         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
34686         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
34687         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
34688         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
34689         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
34690         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
34691         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
34692         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
34693         * modules/uninorm/composition-tests (Files): Likewise.
34694         * modules/uninorm/decomposing-form-tests (Files): Likewise.
34695         * modules/uninorm/decomposition-tests (Files): Likewise.
34696         * modules/uninorm/filter-tests (Files): Likewise.
34697         * modules/uninorm/nfc-tests (Files): Likewise.
34698         * modules/uninorm/nfd-tests (Files): Likewise.
34699         * modules/uninorm/nfkc-tests (Files): Likewise.
34700         * modules/uninorm/nfkd-tests (Files): Likewise.
34701         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
34702         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
34703         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
34704         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
34705         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
34706         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
34707         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
34708         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
34709         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
34710         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
34711         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
34712         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
34713         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
34714         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
34715         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
34716         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
34717         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
34718         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
34719         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
34720         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
34721         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
34722         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
34723         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
34724         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
34725         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
34726         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
34727         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
34728         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
34729         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
34730         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
34731         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
34732         * modules/uniwidth/u8-width-tests (Files): Likewise.
34733         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
34734         * modules/uniwidth/u16-width-tests (Files): Likewise.
34735         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
34736         * modules/uniwidth/u32-width-tests (Files): Likewise.
34737         * modules/uniwidth/width-tests (Files): Likewise.
34738         * modules/unlink-tests (Files): Likewise.
34739         * modules/unsetenv-tests (Files): Likewise.
34740         * modules/usleep-tests (Files): Likewise.
34741         * modules/utimens-tests (Files): Likewise.
34742         * modules/utimensat-tests (Files): Likewise.
34743         * modules/vasnprintf-posix-tests (Files): Likewise.
34744         * modules/vasnprintf-tests (Files): Likewise.
34745         * modules/vasprintf-posix-tests (Files): Likewise.
34746         * modules/vasprintf-tests (Files): Likewise.
34747         * modules/vdprintf-posix-tests (Files): Likewise.
34748         * modules/vfprintf-posix-tests (Files): Likewise.
34749         * modules/vprintf-posix-tests (Files): Likewise.
34750         * modules/vsnprintf-posix-tests (Files): Likewise.
34751         * modules/vsnprintf-tests (Files): Likewise.
34752         * modules/vsprintf-posix-tests (Files): Likewise.
34753         * modules/wcrtomb-tests (Files): Likewise.
34754         * modules/wcsnrtombs-tests (Files): Likewise.
34755         * modules/wcsrtombs-tests (Files): Likewise.
34756         * modules/wctype-tests (Files): Likewise.
34757         * modules/wcwidth-tests (Files): Likewise.
34758         * modules/xmemdup0-tests (Files): Likewise.
34759         * modules/xprintf-posix-tests (Files): Likewise.
34760         * modules/xvasprintf-tests (Files): Likewise.
34761
34762 2009-12-24  Eric Blake  <ebb9@byu.net>
34763
34764         test-nanosleep: fix typo
34765         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
34766         patch.
34767         Reported by Bruno Haible.
34768
34769 2009-12-24  Bruno Haible  <bruno@clisp.org>
34770
34771         Reduce namespace pollution on glibc systems.
34772         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
34773         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
34774         systems.
34775         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
34776         <getopt.h> on glibc systems.
34777         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
34778         systems.
34779         * lib/fcntl.c: Include <unistd.h> here instead.
34780
34781 2009-12-24  Bruno Haible  <bruno@clisp.org>
34782
34783         * lib/stdlib.in.h (includes): Fix typo in today's commit.
34784
34785 2009-12-24  Eric Blake  <ebb9@byu.net>
34786
34787         tests: add signature checks
34788         * tests/signature.h (SIGNATURE_CHECK): New file.
34789         * modules/atexit-tests (Files): Use it.
34790         * modules/btowc-tests (Files): Likewise.
34791         * modules/canonicalize-lgpl-tests (Files): Likewise.
34792         * modules/ceilf-tests (Files): Likewise.
34793         * modules/ceill-tests (Files): Likewise.
34794         * modules/chown-tests (Files): Likewise.
34795         * modules/dprintf-posix-tests (Files): Likewise.
34796         * modules/dup2-tests (Files): Likewise.
34797         * modules/dup3-tests (Files): Likewise.
34798         * modules/duplocale-tests (Files): Likewise.
34799         * modules/fchdir-tests (Files): Likewise.
34800         * modules/fcntl-tests (Files): Likewise.
34801         * modules/fdopendir-tests (Files): Likewise.
34802         * modules/fflush-tests (Files): Likewise.
34803         * modules/flock-tests (Files): Likewise.
34804         * modules/floorf-tests (Files): Likewise.
34805         * modules/floorl-tests (Files): Likewise.
34806         * modules/fnmatch-tests (Files): Likewise.
34807         * modules/fopen-tests (Files): Likewise.
34808         * modules/fprintf-posix-tests (Files): Likewise.
34809         * modules/freopen-tests (Files): Likewise.
34810         * modules/frexp-nolibm-tests (Files): Likewise.
34811         * modules/frexp-tests (Files): Likewise.
34812         * modules/frexpl-nolibm-tests (Files): Likewise.
34813         * modules/frexpl-tests (Files): Likewise.
34814         * modules/fseek-tests (Files): Likewise.
34815         * modules/fseeko-tests (Files): Likewise.
34816         * modules/fsync-tests (Files): Likewise.
34817         * modules/ftell-tests (Files): Likewise.
34818         * modules/ftello-tests (Files): Likewise.
34819         * modules/futimens-tests (Files): Likewise.
34820         * modules/getaddrinfo-tests (Files): Likewise.
34821         * modules/getcwd-tests (Files): Likewise.
34822         * modules/getdelim-tests (Files): Likewise.
34823         * modules/getdtablesize-tests (Files): Likewise.
34824         * modules/getgroups-tests (Files): Likewise.
34825         * modules/gethostname-tests (Files): Likewise.
34826         * modules/getline-tests (Files): Likewise.
34827         * modules/getopt-posix-tests (Files): Likewise.
34828         * modules/gettimeofday-tests (Files): Likewise.
34829         * modules/glob-tests (Files): Likewise.
34830         * modules/iconv-tests (Files): Likewise.
34831         * modules/inet_ntop-tests (Files): Likewise.
34832         * modules/inet_pton-tests (Files): Likewise.
34833         * modules/isblank-tests (Files): Likewise.
34834         * modules/lchown-tests (Files): Likewise.
34835         * modules/ldexpl-tests (Files): Likewise.
34836         * modules/link-tests (Files): Likewise.
34837         * modules/linkat-tests (Files): Likewise.
34838         * modules/lseek-tests (Files): Likewise.
34839         * modules/lstat-tests (Files): Likewise.
34840         * modules/mbrtowc-tests (Files): Likewise.
34841         * modules/mbsinit-tests (Files): Likewise.
34842         * modules/mbsnrtowcs-tests (Files): Likewise.
34843         * modules/mbsrtowcs-tests (Files): Likewise.
34844         * modules/memchr-tests (Files): Likewise.
34845         * modules/memcmp-tests (Files): Likewise.
34846         * modules/memmem-tests (Files): Likewise.
34847         * modules/memrchr-tests (Files): Likewise.
34848         * modules/mkdir-tests (Files): Likewise.
34849         * modules/mkfifo-tests (Files): Likewise.
34850         * modules/mkfifoat-tests (Files): Likewise.
34851         * modules/mknod-tests (Files): Likewise.
34852         * modules/nanosleep-tests (Files): Likewise.
34853         * modules/nl_langinfo-tests (Files): Likewise.
34854         * modules/obstack-printf-tests (Files): Likewise.
34855         * modules/open-tests (Files): Likewise.
34856         * modules/openat-tests (Files): Likewise.
34857         * modules/perror-tests (Files): Likewise.
34858         * modules/pipe2-tests (Files): Likewise.
34859         * modules/poll-tests (Files): Likewise.
34860         * modules/popen-tests (Files): Likewise.
34861         * modules/posix_spawn-tests (Files): Likewise.
34862         * modules/posix_spawnp-tests (Files): Likewise.
34863         * modules/pread-tests (Files): Likewise.
34864         * modules/printf-posix-tests (Files): Likewise.
34865         * modules/pty-tests (Files): Likewise.
34866         * modules/random_r-tests (Files): Likewise.
34867         * modules/rawmemchr-tests (Files): Likewise.
34868         * modules/readlink-tests (Files): Likewise.
34869         * modules/remove-tests (Files): Likewise.
34870         * modules/rename-tests (Files): Likewise.
34871         * modules/renameat-tests (Files): Likewise.
34872         * modules/rmdir-tests (Files): Likewise.
34873         * modules/round-tests (Files): Likewise.
34874         * modules/roundf-tests (Files): Likewise.
34875         * modules/roundl-tests (Files): Likewise.
34876         * modules/select-tests (Files): Likewise.
34877         * modules/setenv-tests (Files): Likewise.
34878         * modules/sigaction-tests (Files): Likewise.
34879         * modules/sleep-tests (Files): Likewise.
34880         * modules/snprintf-posix-tests (Files): Likewise.
34881         * modules/snprintf-tests (Files): Likewise.
34882         * modules/sprintf-posix-tests (Files): Likewise.
34883         * modules/stat-tests (Files): Likewise.
34884         * modules/strcasestr-tests (Files): Likewise.
34885         * modules/strchrnul-tests (Files): Likewise.
34886         * modules/strerror-tests (Files): Likewise.
34887         * modules/strsignal-tests (Files): Likewise.
34888         * modules/strstr-tests (Files): Likewise.
34889         * modules/strtod-tests (Files): Likewise.
34890         * modules/strverscmp-tests (Files): Likewise.
34891         * modules/symlink-tests (Files): Likewise.
34892         * modules/symlinkat-tests (Files): Likewise.
34893         * modules/times-tests (Files): Likewise.
34894         * modules/trunc-tests (Files): Likewise.
34895         * modules/truncf-tests (Files): Likewise.
34896         * modules/truncl-tests (Files): Likewise.
34897         * modules/tsearch-tests (Files): Likewise.
34898         * modules/uname-tests (Files): Likewise.
34899         * modules/unlink-tests (Files): Likewise.
34900         * modules/unsetenv-tests (Files): Likewise.
34901         * modules/usleep-tests (Files): Likewise.
34902         * modules/utimensat-tests (Files): Likewise.
34903         * modules/vasprintf-tests (Files): Likewise.
34904         * modules/vdprintf-posix-tests (Files): Likewise.
34905         * modules/vfprintf-posix-tests (Files): Likewise.
34906         * modules/vprintf-posix-tests (Files): Likewise.
34907         * modules/vsnprintf-posix-tests (Files): Likewise.
34908         * modules/vsnprintf-tests (Files): Likewise.
34909         * modules/vsprintf-posix-tests (Files): Likewise.
34910         * modules/wcrtomb-tests (Files): Likewise.
34911         * modules/wcsnrtombs-tests (Files): Likewise.
34912         * modules/wcsrtombs-tests (Files): Likewise.
34913         * modules/wcwidth-tests (Files): Likewise.
34914         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
34915         * tests/test-isinf.c (isinf): Likewise.
34916         * tests/test-isnan.c (isnan): Likewise.
34917         * tests/test-signbit.c (signbit): Likewise.
34918         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
34919         declaration, either as macro or with correct signature.
34920         (select): Ensure function under test is declared with correct
34921         signature in correct header.
34922         * tests/test-atexit.c (atexit): Likewise.
34923         * tests/test-btowc.c (btowc): Likewise.
34924         * tests/test-canonicalize-lgpl.c (realpath)
34925         (canonicalize_file_name): Likewise.
34926         * tests/test-ceilf1.c (ceilf): Likewise.
34927         * tests/test-ceill.c (ceill): Likewise.
34928         * tests/test-chown.c (chown): Likewise.
34929         * tests/test-dprintf-posix.c (dprintf): Likewise.
34930         * tests/test-dup2.c (dup2): Likewise.
34931         * tests/test-dup3.c (dup3): Likewise.
34932         * tests/test-duplocale.c (duplocale): Likewise.
34933         * tests/test-fchdir.c (fchdir): Likewise.
34934         * tests/test-fchownat.c (fchownat): Likewise.
34935         * tests/test-fcntl.c (fcntl): Likewise.
34936         * tests/test-fdopendir.c (fdopendir): Likewise.
34937         * tests/test-fflush.c (fflush): Likewise.
34938         * tests/test-flock.c (flock): Likewise.
34939         * tests/test-floorf1.c (floorf): Likewise.
34940         * tests/test-floorl.c (floorl): Likewise.
34941         * tests/test-fnmatch.c (fnmatch): Likewise.
34942         * tests/test-fopen.c (fopen): Likewise.
34943         * tests/test-fprintf-posix.c (fprintf): Likewise.
34944         * tests/test-freopen.c (freopen): Likewise.
34945         * tests/test-frexp.c (frexp): Likewise.
34946         * tests/test-frexpl.c (frexpl): Likewise.
34947         * tests/test-fseek.c (fseek): Likewise.
34948         * tests/test-fseeko.c (fseeko): Likewise.
34949         * tests/test-fstatat.c (fstatat): Likewise.
34950         * tests/test-fsync.c (fsync): Likewise.
34951         * tests/test-ftell.c (ftell): Likewise.
34952         * tests/test-ftello.c (ftello): Likewise.
34953         * tests/test-futimens.c (futimens): Likewise.
34954         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
34955         (gai_strerror): Likewise.
34956         * tests/test-getcwd.c (getcwd): Likewise.
34957         * tests/test-getdelim.c (getdelim): Likewise.
34958         * tests/test-getdtablesize.c (getdtablesize): Likewise.
34959         * tests/test-getgroups.c (getgroups): Likewise.
34960         * tests/test-gethostname.c (gethostname): Likewise.
34961         * tests/test-getline.c (getline): Likewise.
34962         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
34963         Likewise.
34964         * tests/test-gettimeofday.c (gettimeofday): Likewise.
34965         * tests/test-glob.c (glob, globfree): Likewise.
34966         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
34967         * tests/test-inet_ntop.c (inet_ntop): Likewise.
34968         * tests/test-inet_pton.c (inet_pton): Likewise.
34969         * tests/test-isblank.c (isblank): Likewise.
34970         * tests/test-lchown.c (lchown): Likewise.
34971         * tests/test-ldexpl.c (ldexpl): Likewise.
34972         * tests/test-link.c (link): Likewise.
34973         * tests/test-linkat.c (linkat): Likewise.
34974         * tests/test-lseek.c (lseek): Likewise.
34975         * tests/test-lstat.c (lstat): Likewise.
34976         * tests/test-mbrtowc.c (mbrtowc): Likewise.
34977         * tests/test-mbsinit.c (mbsinit): Likewise.
34978         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
34979         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
34980         * tests/test-memchr.c (memchr): Likewise.
34981         * tests/test-memcmp.c (memcmp): Likewise.
34982         * tests/test-memmem.c (memmem): Likewise.
34983         * tests/test-memrchr.c (memrchr): Likewise.
34984         * tests/test-mkdir.c (mkdir): Likewise.
34985         * tests/test-mkdirat.c (mkdirat): Likewise.
34986         * tests/test-mkfifo.c (mkfifo): Likewise.
34987         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
34988         * tests/test-mknod.c (mknod): Likewise.
34989         * tests/test-nanosleep.c (nanosleep): Likewise.
34990         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
34991         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
34992         Likewise.
34993         * tests/test-open.c (open): Likewise.
34994         * tests/test-openat.c (openat): Likewise.
34995         * tests/test-perror.c (perror): Likewise.
34996         * tests/test-pipe2.c (pipe2): Likewise.
34997         * tests/test-poll.c (poll): Likewise.
34998         * tests/test-popen.c (popen, pclose): Likewise.
34999         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
35000         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
35001         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
35002         (posix_spawn_file_actions_destroy)
35003         (posix_spawn_file_actions_addclose)
35004         (posix_spawn_file_actions_addopen)
35005         (posix_spawn_file_actions_adddup2): Likewise.
35006         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
35007         * tests/test-pread.c (pread): Likewise.
35008         * tests/test-printf-posix.c (printf): Likewise.
35009         * tests/test-pty.c (openpty, forkpty): Likewise.
35010         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
35011         (random_r): Likewise.
35012         * tests/test-rawmemchr.c (rawmemchr): Likewise.
35013         * tests/test-readlink.c (readlink): Likewise.
35014         * tests/test-remove.c (remove): Likewise.
35015         * tests/test-rename.c (rename): Likewise.
35016         * tests/test-renameat.c (renameat): Likewise.
35017         * tests/test-rmdir.c (rmdir): Likewise.
35018         * tests/test-round1.c (round): Likewise.
35019         * tests/test-roundf1.c (roundf): Likewise.
35020         * tests/test-roundl.c (roundl): Likewise.
35021         * tests/test-setenv.c (setenv): Likewise.
35022         * tests/test-sigaction.c (sigaction): Likewise.
35023         * tests/test-sleep.c (sleep): Likewise.
35024         * tests/test-snprintf.c (snprintf): Likewise.
35025         * tests/test-sprintf-posix.c (sprintf): Likewise.
35026         * tests/test-stat.c (stat): Likewise.
35027         * tests/test-stpncpy.c (stpncpy): Likewise.
35028         * tests/test-strcasestr.c (strcasestr): Likewise.
35029         * tests/test-strchrnul.c (strchrnul): Likewise.
35030         * tests/test-strerror.c (strerror): Likewise.
35031         * tests/test-strsignal.c (strsignal): Likewise.
35032         * tests/test-strstr.c (strstr): Likewise.
35033         * tests/test-strtod.c (strtod): Likewise.
35034         * tests/test-strverscmp.c (strverscmp): Likewise.
35035         * tests/test-symlink.c (symlink): Likewise.
35036         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
35037         * tests/test-times.c (times): Likewise.
35038         * tests/test-trunc1.c (trunc): Likewise.
35039         * tests/test-truncf1.c (truncf): Likewise.
35040         * tests/test-truncl.c (truncl): Likewise.
35041         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
35042         Likewise.
35043         * tests/test-uname.c (uname): Likewise.
35044         * tests/test-unlink.c (unlink): Likewise.
35045         * tests/test-unlinkat.c (unlinkat): Likewise.
35046         * tests/test-unsetenv.c (unsetenv): Likewise.
35047         * tests/test-usleep.c (usleep): Likewise.
35048         * tests/test-utimensat.c (utimensat): Likewise.
35049         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
35050         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
35051         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
35052         * tests/test-vprintf-posix.c (vprintf): Likewise.
35053         * tests/test-vsnprintf.c (vsnprintf): Likewise.
35054         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
35055         * tests/test-wcrtomb.c (wcrtomb): Likewise.
35056         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
35057         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
35058         * tests/test-wcwidth.c (wcwidth): Likewise.
35059
35060         build: pull in conditional headers during GNULIB_POSIXCHECK
35061         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
35062         definitions from any conditionally-included headers.
35063         * lib/stdlib.in.h (includes): Likewise.
35064         * lib/unistd.in.h (includes): Likewise.
35065
35066 2009-12-24  Bruno Haible  <bruno@clisp.org>
35067
35068         * tests/test-argv-iter.c: Include header file being tested immediately
35069         after config.h.
35070         * tests/test-base64.c: Likewise.
35071         * tests/test-flock.c: Likewise.
35072         * tests/test-fsync.c: Likewise.
35073         * tests/test-getdate.c: Likewise.
35074         * tests/test-getndelim2.c: Likewise.
35075         * tests/test-isfinite.c: Likewise.
35076         * tests/test-isinf.c: Likewise.
35077         * tests/test-strerror.c: Likewise.
35078         * tests/test-strsignal.c: Likewise.
35079
35080 2009-12-23  Eric Blake  <ebb9@byu.net>
35081
35082         unistd: work around cygwin bug
35083         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
35084         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
35085         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
35086
35087 2009-12-23  Bruno Haible  <bruno@clisp.org>
35088
35089         localename: More tests.
35090         * tests/test-localename.c (SIZEOF): New macro.
35091         (categories): New variable.
35092         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
35093         test_locale_name_default): Add test w.r.t. thread locale.
35094         (test_locale_name_thread): New function.
35095         (main): Invoke it.
35096
35097         localename: Make aware of thread locale.
35098         * lib/localename.h (gl_locale_name_thread): New declaration.
35099         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
35100         behaviour with respect to thread locale.
35101         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
35102         <langinfo.h>, glthread/lock.h.
35103         (SIZE_BITS): New macro.
35104         (string_hash): New function.
35105         (struct hash_node): New type.
35106         (HASH_TABLE_SIZE): New macro.
35107         (struniq_hash_table, struniq_lock): New variables.
35108         (struniq): New function.
35109         (gl_locale_name_thread): New function.
35110         (gl_locale_name): Invoke it.
35111         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
35112         * modules/localename (Depends-on): Add lock.
35113         Reported by Mike Gran <spk121@yahoo.com>.
35114
35115 2009-12-23  Eric Blake  <ebb9@byu.net>
35116
35117         va-args: new module
35118         * modules/va-args: New file.
35119         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
35120         * MODULES.html.sh (Core language properties): Mention it.
35121
35122         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
35123         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
35124         named alias for __attribute__((__unused__)).
35125         * lib/chown.c: Update client.
35126         * lib/fchmodat.c: Likewise.
35127         * lib/fts.c: Likewise.
35128         * lib/getdate.y: Likewise.
35129         * lib/getgroups.c: Likewise.
35130         * lib/getopt.c: Likewise.
35131         * lib/getugroups.c: Likewise.
35132         * lib/mkdir.c: Likewise.
35133         * lib/mkfifo.c: Likewise.
35134         * lib/mkfifoat.c: Likewise.
35135         * lib/mknod.c: Likewise.
35136         * lib/mknodat.c: Likewise.
35137         * lib/readlink.c: Likewise.
35138         * lib/se-context.in.h: Likewise.
35139         * lib/se-selinux.in.h: Likewise.
35140         * lib/sockets.c: Likewise.
35141         * lib/symlink.c: Likewise.
35142         * lib/symlinkat.c: Likewise.
35143         * lib/unicodeio.c: Likewise.
35144         * lib/unistr.h: Likewise.
35145         * tests/test-areadlink.c: Likewise.
35146         * tests/test-areadlinkat.c: Likewise.
35147         * tests/test-filenamecat.c: Likewise.
35148         * tests/test-fseeko.c: Likewise.
35149         * tests/test-ftello.c: Likewise.
35150         * tests/test-getdate.c: Likewise.
35151         * tests/test-getgroups.c: Likewise.
35152         * tests/test-gethostname.c: Likewise.
35153         * tests/test-quotearg.c: Likewise.
35154         * tests/test-version-etc.c: Likewise.
35155         * tests/test-xalloc-die.c: Likewise.
35156         * tests/test-xfprintf-posix.c: Likewise.
35157         * tests/test-xprintf-posix.c: Likewise.
35158         * tests/test-xvasprintf.c: Likewise.
35159
35160         tests: avoid compiler warnings
35161         * tests/test-fcntl.c (main): Delete unused parameters.
35162         * tests/test-freopen-safer.c (main): Likewise.
35163         * tests/test-xalloc-die.c (main): Mark unused parameters.
35164         * tests/test-fseeko.c (main): Likewise.
35165         * tests/test-ftello.c (main): Likewise.
35166         * tests/test-nanosleep.c (main): Avoid declaration warning.
35167         * tests/test-sleep.c (main): Likewise.
35168         * tests/test-unsetenv.c (main): Silence warning about string
35169         literal.
35170         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
35171
35172 2009-12-23  Bruno Haible  <bruno@clisp.org>
35173
35174         * tests/test-localename.c (test_locale_name): New function, extracted
35175         from main. Also test mixed situations.
35176         (test_locale_name_posix, test_locale_name_environ,
35177         test_locale_name_default): New functions.
35178         (main): Invoke them all.
35179         * modules/localename-tests (configure.ac): Test for newlocale.
35180
35181 2009-12-23  Bruno Haible  <bruno@clisp.org>
35182
35183         unistd: Ensure getcwd gets declared before being overridden.
35184         * lib/unistd.in.h: Conditionally include <io.h>.
35185
35186 2009-12-22  Bruno Haible  <bruno@clisp.org>
35187
35188         wchar: Diagnose broken combination of glibc and gcc versions and flags.
35189         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
35190         (gl_WCHAR_H): Invoke it.
35191         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
35192         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
35193         Reported by Karl Berry <karl@freefriends.org>.
35194
35195 2009-12-22  Eric Blake  <ebb9@byu.net>
35196
35197         math, unistd: avoid redundant includes
35198         * lib/math.in.h (isnan): No need to re-include <math.h>.
35199         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
35200
35201         getsubopt: work around cygwin bug
35202         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
35203         avoid conflicting with system getsubopt.
35204         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
35205         bug.
35206
35207         getopt: synchronize from glibc
35208         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
35209         parameter order.  Adjust all callers.
35210         (_getopt_internal_r, main): Adjust quoting in error messages.
35211         Drop considerations for outdated POSIX 1003.2 error message.
35212         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
35213         callers.
35214         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
35215
35216         test-getopt: test stderr behavior
35217         * modules/getopt-posix-tests (Depends-on): Add dup2.
35218         * tests/test-getopt.c (ASSERT): Avoid stderr.
35219         (main): Move stderr to a temporary file.
35220         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
35221         Instead, add parameter to inform caller if output occurred.
35222         (test_getopt): Adjust all existing tests to expect silence, and
35223         add new tests of leading ":".
35224         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35225         glibc shortcomings with leading "-:" or "+:" in optstring.
35226         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35227         Likewise.
35228         * doc/posix-functions/getopt.texi (getopt): Likewise.
35229
35230         test-getopt: enhance test
35231         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
35232         supports optind=0.
35233         * tests/test-getopt.c (OPTIND_MIN): Move...
35234         * tests/test-getopt.h (OPTIND_MIN): ...here.
35235         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
35236         Require that optind=0 works, since modern BSD supports it in
35237         addition to optreset, and since coreutils expects it.
35238         (test_getopt_long_only): New test.
35239         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
35240         glibc shortcomings with 'W;', and enforcement of optind=0.
35241         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
35242         Likewise.
35243
35244 2009-12-21  Bruno Haible  <bruno@clisp.org>
35245
35246         localename: Improvements for MacOS X and Cygwin.
35247         * lib/localename.h (gl_locale_name_environ): New declaration.
35248         * lib/localename.c (gl_locale_name_environ): New function, extracted from
35249         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
35250         (gl_locale_name_posix): Invoke it.
35251         (gl_locale_name_default): Add comments. Use Windows native API also on
35252         Cygwin.
35253
35254 2009-12-21  Bruno Haible  <bruno@clisp.org>
35255
35256         Update list of Win32 locale ids.
35257         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
35258         (LANG_SAMI): Renamed from LANG_SAAMI.
35259         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
35260         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
35261         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
35262         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
35263         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
35264         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
35265         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
35266         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
35267         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
35268         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
35269         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
35270         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
35271         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
35272         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
35273         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
35274         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
35275         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
35276         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
35277         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
35278         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
35279         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
35280         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
35281         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
35282         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
35283         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
35284         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
35285         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
35286         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
35287         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
35288         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
35289         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
35290         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
35291         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
35292         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
35293         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
35294         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
35295         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
35296         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
35297         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
35298         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
35299         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
35300         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
35301         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
35302         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
35303         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
35304         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
35305         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
35306         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
35307         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
35308         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
35309         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
35310         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
35311         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
35312         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
35313         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
35314         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
35315         Add more languages and countries for Sami, Sorbian. Add more countries
35316         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
35317         for Pashto. Change country for Syriac, Tswana.
35318
35319 2009-12-21  Eric Blake  <ebb9@byu.net>
35320
35321         test-utimens: avoid spurious failure
35322         * tests/test-chown.h (nap): Factor...
35323         * tests/nap.h: ...into new file.
35324         * tests/test-lchown.h (nap): Avoid duplication.
35325         * tests/test-utimens-common.h (nap): Use shared implementation,
35326         necessary on file systems with 1-second resolution.
35327         * modules/chown-tests (Files): Include new file.
35328         * modules/fdutimensat-tests (Files): Likewise.
35329         * modules/futimens-tests (Files): Likewise.
35330         * modules/lchown-tests (Files): Likewise.
35331         * modules/openat-tests (Files): Likewise.
35332         * modules/utimens-tests (Files): Likewise.
35333         * modules/utimensat-tests (Files): Likewise.
35334
35335 2009-12-19  Eric Blake  <ebb9@byu.net>
35336
35337         futimens, utimensat: work around Linux bug
35338         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
35339         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
35340         * lib/utimensat.c (rpl_utimensat): Work around it.
35341         * lib/futimens.c (rpl_futimens): Adjust comment.
35342
35343         utimens: work around Linux ctime bug
35344         * lib/utimens.c (detect_ctime_bug): New helper function.
35345         (update_timespec): Differentiate between workaround needed for
35346         this bug vs. what is needed for systems that lack utimensat.
35347         (fdutimens, lutimens): Work around bug.
35348
35349         utimens: check for ctime update
35350         * tests/test-utimens-common.h (check_ctime): Define.
35351         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
35352         * tests/test-futimens.h (test_futimens): Likewise.
35353         * tests/test-lutimens.h (test_lutimens): Likewise.
35354         * doc/posix-functions/futimens.texi (futimens): Document the bug.
35355         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
35356
35357 2009-12-19  Bruno Haible  <bruno@clisp.org>
35358
35359         dprintf-posix: Check against memory leak fixed on 2009-12-15.
35360         * tests/test-dprintf-posix2.sh: New file.
35361         * tests/test-dprintf-posix2.c: New file.
35362         * modules/dprintf-posix-tests (Files): Add them.
35363         (configure.ac): Check for getrlimit and setrlimit.
35364         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35365
35366 2009-12-19  Bruno Haible  <bruno@clisp.org>
35367
35368         fprintf-posix: Check against memory leak fixed on 2009-12-15.
35369         * tests/test-fprintf-posix3.sh: New file.
35370         * tests/test-fprintf-posix3.c: New file.
35371         * modules/fprintf-posix-tests (Files): Add them.
35372         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
35373
35374 2009-12-19  Eric Blake  <ebb9@byu.net>
35375
35376         dirfd: fix prototype
35377         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
35378         * lib/dirfd.c (dirfd): Likewise.
35379
35380         canonicalize: reduce memory usage
35381         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
35382         allocation to size.
35383         Reported by Solar Designer <solar@openwall.com>.
35384
35385 2009-12-19  Bruno Haible  <bruno@clisp.org>
35386
35387         New module attribute 'Applicability'.
35388         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
35389         * gnulib-tool: New option --extract-applicability.
35390         (func_usage): Document it.
35391         (sed_extract_prog): Recognize it.
35392         (func_get_applicability): New function.
35393         (func_import): Generalize handling of 'link-warning' module.
35394         * modules/link-warning (Applicability): New section.
35395         * modules/arg-nonnull (Applicability): New section.
35396         Repoted by Simon Josefsson <simon@josefsson.org>.
35397
35398 2009-12-19  Bruno Haible  <bruno@clisp.org>
35399
35400         fflush: tweak
35401         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
35402         * lib/fseeko.c (rpl_fseeko): Likewise.
35403
35404 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
35405
35406         * lib/gl_list.h: Fix typo in comment.
35407
35408 2009-12-16  Eric Blake  <ebb9@byu.net>
35409
35410         fcntl: use to simplify other modules
35411         * modules/cloexec (Depends-on): Add fcntl.
35412         * modules/fchdir (Depends-on): Likewise.
35413         * modules/fd-safer-flag (Depends-on): Likewise.
35414         * modules/unistd-safer (Depends-on): Likewise.
35415         * modules/dup3 (configure.ac): Set module indicator.
35416         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
35417         missing.
35418         * lib/fchdir.c (_gl_register_dup): Fix comment.
35419         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
35420         * lib/dup-safer.c (dup_safer): Likewise.
35421         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
35422         * lib/dup3.c (dup3): Likewise.
35423         * tests/test-fchdir.c (main): Enhance test.
35424         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
35425
35426         fcntl: port portions of fcntl to mingw
35427         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
35428         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
35429         replacement for mingw.
35430         * modules/fcntl (Description): Update.
35431         (Depends-on): Add dup2.
35432         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
35433         * modules/fcntl-h (Makefile.am): Substitute it.
35434         * lib/fcntl.in.h (fcntl): Update declaration.
35435         (F_DUPFD, F_GETFD): New macros, when needed.
35436         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
35437         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
35438         * tests/test-fcntl.c (check_flags, main): Enhance test for items
35439         we now guarantee.
35440
35441         fcntl: work around cygwin bug in F_DUPFD
35442         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
35443         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
35444         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
35445         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
35446         * doc/posix-functions/fcntl.texi (fcntl): Document it.
35447
35448         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
35449         * modules/fcntl (Files): List new files.
35450         (configure.ac): Run a test.
35451         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
35452         * lib/fcntl.c (rpl_fcntl): Likewise.
35453         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
35454         (gl_FCNTL_H): Always replace fcntl.h.
35455         * modules/fcntl-h (Makefile.am): Substitute witnesses.
35456         * lib/fcntl.in.h (fcntl): Declare replacement.
35457         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
35458         needed, plus a witness.
35459         * doc/posix-functions/fcntl.texi (fcntl): Document this.
35460         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
35461         * tests/test-fcntl.c: New file.
35462         * modules/fcntl-tests: Likewise.
35463
35464         binary-io: avoid potential compilation warning
35465         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
35466         directives.
35467
35468         fflush: avoid compilation error on NetBSD
35469         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
35470         between off_t and fpos_t, since the latter is sometimes a struct.
35471         * lib/fseeko.c (rpl_fseeko): Likewise.
35472         Reported by Alexander Nasonov <alnsn@yandex.ru>.
35473
35474 2009-12-15  Eric Blake  <ebb9@byu.net>
35475
35476         fcntl-h, stdio, sys_ioctl: fix declarations
35477         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
35478         function must not take arguments.
35479         * lib/sys_ioctl.in.h (ioctl): Likewise.
35480         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
35481         (open): Add a link warning.
35482
35483 2009-12-15  Jim Meyering  <meyering@redhat.com>
35484
35485         areadlink, areadlink-with-size: relax license to LGPLv2+
35486         * modules/areadlink (License): Relax to LGPLv2+.
35487         * modules/areadlink-with-size (License): Likewise.
35488
35489 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
35490             Bruno Haible  <bruno@clisp.org>
35491
35492         *printf: Fix memory leak.
35493         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
35494         * lib/vfprintf.c (vfprintf): Likewise.
35495         * lib/dprintf.c (dprintf): Likewise.
35496         * lib/vdprintf.c (vdprintf): Likewise.
35497
35498 2009-12-14  Eric Blake  <ebb9@byu.net>
35499
35500         accept4: adjust module dependencies
35501         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
35502
35503         utimens: one more try at avoiding compiler warning
35504         * lib/utimens.c (lutimens): Lower scope of result.
35505
35506 2009-12-13  Bruno Haible  <bruno@clisp.org>
35507
35508         Move the malloc checking from module 'list' to new module 'xlist'.
35509         * modules/xlist: New file.
35510         * lib/gl_xlist.h: New file.
35511         * lib/gl_xlist.c: New file.
35512         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
35513         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
35514         gl_list_add_last, gl_list_add_before, gl_list_add_after,
35515         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
35516         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
35517         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
35518         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
35519         gl_sortedlist_nx_add): New declarations.
35520         (struct gl_list_implementation): Rename and change methods accordingly.
35521         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
35522         (gl_list_nx_create): Renamed from gl_list_create.
35523         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35524         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35525         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35526         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35527         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35528         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35529         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35530         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35531         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
35532         gl_list_create_empty.
35533         (gl_list_nx_create): Renamed from gl_list_create.
35534         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
35535         (gl_list_nx_set_at): Renamed from gl_list_set_at.
35536         (gl_list_nx_add_first): Renamed from gl_list_add_first.
35537         (gl_list_nx_add_last): Renamed from gl_list_add_last.
35538         (gl_list_nx_add_before): Renamed from gl_list_add_before.
35539         (gl_list_nx_add_after): Renamed from gl_list_add_after.
35540         (gl_list_nx_add_at): Renamed from gl_list_add_at.
35541         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
35542         * lib/gl_array_list.c: Don't include xalloc.h.
35543         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
35544         NULL upon out-of-memory.
35545         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
35546         out-of-memory.
35547         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
35548         Change return type to 'int'.
35549         (gl_array_nx_set_at): Renamed from gl_array_set_at.
35550         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35551         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
35552         upon out-of-memory.
35553         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
35554         upon out-of-memory.
35555         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
35556         upon out-of-memory.
35557         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
35558         upon out-of-memory.
35559         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
35560         out-of-memory.
35561         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
35562         Update.
35563         (gl_array_list_implementation): Update.
35564         * lib/gl_carray_list.c: Don't include xalloc.h.
35565         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
35566         Return NULL upon out-of-memory.
35567         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
35568         out-of-memory.
35569         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
35570         Change return type to 'int'.
35571         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
35572         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
35573         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
35574         upon out-of-memory.
35575         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
35576         upon out-of-memory.
35577         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
35578         out-of-memory.
35579         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
35580         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
35581         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
35582         Update.
35583         (gl_carray_list_implementation): Update.
35584         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
35585         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
35586         gl_linked_create_empty. Return NULL upon out-of-memory.
35587         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
35588         out-of-memory.
35589         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
35590         Change return type to 'int'. Return -1 upon out-of-memory.
35591         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
35592         out-of-memory.
35593         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
35594         upon out-of-memory.
35595         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
35596         upon out-of-memory.
35597         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
35598         NULL upon out-of-memory.
35599         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
35600         upon out-of-memory.
35601         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
35602         out-of-memory.
35603         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
35604         Update.
35605         * lib/gl_linked_list.c: Don't include xalloc.h.
35606         (gl_linked_list_implementation): Update.
35607         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
35608         (add_to_bucket): Change return type to 'int'.
35609         (gl_linkedhash_list_implementation): Update.
35610         * lib/gl_anytree_list1.h (free_subtree): New function.
35611         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
35612         gl_tree_create_empty. Return NULL upon out-of-memory.
35613         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
35614         Change return type to 'int'. Return -1 upon out-of-memory.
35615         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
35616         out-of-memory.
35617         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
35618         (gl_tree_remove_node): New function, moved here from
35619         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
35620         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
35621         Update.
35622         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
35623         malloc, not xmalloc. Return NULL upon out-of-memory.
35624         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
35625         out-of-memory.
35626         (gl_tree_remove_node_from_tree): New function, extracted from
35627         gl_tree_remove_node.
35628         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
35629         upon out-of-memory.
35630         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
35631         out-of-memory.
35632         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
35633         upon out-of-memory.
35634         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
35635         upon out-of-memory.
35636         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
35637         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
35638         not xmalloc. Return NULL upon out-of-memory.
35639         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
35640         out-of-memory.
35641         (gl_tree_remove_node_from_tree): New function, extracted from
35642         gl_tree_remove_node.
35643         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
35644         upon out-of-memory.
35645         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
35646         out-of-memory.
35647         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
35648         upon out-of-memory.
35649         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
35650         upon out-of-memory.
35651         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
35652         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
35653         gl_anytree_list1.h before gl_anyavltree_list2.h.
35654         (gl_avltree_list_implementation): Update.
35655         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
35656         gl_anytree_list1.h before gl_anyavltree_list2.h.
35657         (gl_rbtree_list_implementation): Update.
35658         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
35659         Change return type to 'int'. Return -1 upon out-of-memory. Use
35660         __builtin_expect.
35661         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
35662         (gl_avltreehash_list_implementation): Update.
35663         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
35664         (gl_rbtreehash_list_implementation): Update.
35665         * modules/array-list (Depends-on): Remove xalloc.
35666         * modules/carray-list (Depends-on): Likewise.
35667         * modules/linked-list (Depends-on): Likewise.
35668         * modules/linkedhash-list (Depends-on): Likewise.
35669         * modules/avltree-list (Depends-on): Likewise.
35670         * modules/rbtree-list (Depends-on): Likewise.
35671         * modules/avltreehash-list (Depends-on): Likewise.
35672         * modules/rbtreehash-list (Depends-on): Likewise.
35673
35674         * modules/xsublist: New file.
35675         * lib/gl_xsublist.h: New file.
35676         * lib/gl_xsublist.c: New file.
35677         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
35678         (gl_sublist_nx_create): New declaration.
35679         * lib/gl_sublist.c: Don't include xalloc.h.
35680         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
35681         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
35682         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
35683         Change return type to 'int'. Return -1 upon out-of-memory.
35684         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
35685         upon out-of-memory.
35686         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
35687         NULL upon out-of-memory.
35688         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
35689         upon out-of-memory.
35690         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
35691         NULL upon out-of-memory.
35692         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
35693         NULL upon out-of-memory.
35694         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
35695         upon out-of-memory.
35696         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
35697         (gl_sublist_list_implementation): Update.
35698         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
35699         upon out-of-memory.
35700         * modules/sublist (Depends-on): Remove xalloc.
35701
35702         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
35703         * tests/test-carray_list.c: Likewise.
35704         * tests/test-linked_list.c: Likewise.
35705         * tests/test-linkedhash_list.c: Likewise.
35706         * tests/test-avltree_list.c: Likewise.
35707         * tests/test-rbtree_list.c: Likewise.
35708         * tests/test-avltreehash_list.c: Likewise.
35709         * tests/test-rbtreehash_list.c: Likewise.
35710         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
35711         * modules/carray-list-tests (Makefile.am): Likewise.
35712         * modules/linked-list-tests (Makefile.am): Likewise.
35713         * modules/linkedhash-list-tests (Makefile.am): Likewise.
35714         * modules/avltree-list-tests (Makefile.am): Likewise.
35715         * modules/rbtree-list-tests (Makefile.am): Likewise.
35716         * modules/avltreehash-list-tests (Makefile.am): Likewise.
35717         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
35718
35719         * NEWS: Mention the changes.
35720
35721         * lib/clean-temp.c: Include gl_xlist.h.
35722         * modules/clean-temp (Depends-on): Add xlist.
35723
35724         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
35725         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
35726
35727         * tests/test-array_oset.c: Include gl_xlist.h.
35728         * modules/array-oset-tests (Depends-on): Add xlist.
35729
35730         Reported by José E. Marchesi <jemarch@gnu.org>.
35731
35732 2009-12-13  Bruno Haible  <bruno@clisp.org>
35733
35734         Move the malloc checking from module 'oset' to new module 'xoset'.
35735         * modules/xoset: New file.
35736         * lib/gl_xoset.h: New file.
35737         * lib/gl_xoset.c: New file.
35738         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
35739         declarations.
35740         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
35741         (struct gl_oset_implementation): Rename and change methods accordingly.
35742         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
35743         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
35744         'int'. Mark as __warn_unused_result__.
35745         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
35746         gl_oset_create_empty.
35747         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
35748         'int'.
35749         * lib/gl_array_oset.c: Don't include xalloc.h.
35750         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
35751         malloc, not xmalloc.
35752         (grow): Change return type to 'int'. Don't call xalloc_die.
35753         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
35754         to 'int'.
35755         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
35756         'int'.
35757         (gl_array_oset_implementation): Update.
35758         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
35759         gl_tree_create_empty.
35760         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
35761         'int'.
35762         * lib/gl_avltree_oset.c: Don't include xalloc.h.
35763         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
35764         xmalloc.
35765         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
35766         not xmalloc.
35767         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
35768         xmalloc.
35769         (gl_avltree_oset_implementation): Update.
35770         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
35771         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
35772         xmalloc.
35773         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
35774         not xmalloc.
35775         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
35776         xmalloc.
35777         (gl_rbtree_oset_implementation): Update.
35778         * modules/array-oset (Depends-on): Remove xalloc.
35779         * modules/avltree-oset (Depends-on): Likewise.
35780         * modules/rbtree-oset (Depends-on): Likewise.
35781         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
35782         * tests/test-avltree_oset.c: Likewise.
35783         * tests/test-rbtree_oset.c: Likewise.
35784         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
35785         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
35786         * modules/rbtree-oset-tests (Makefile.am): Likewise.
35787         * NEWS: Mention the change.
35788
35789 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
35790
35791         maint.mk: allow a project to override release-prep commands
35792         * top/maint.mk (alpha, beta, stable): Move release-preparatory
35793         commands into a new rule.
35794         (release-prep): New rule.
35795         (release-prep-hook): New overridable variable.
35796
35797 2009-12-13  Bruno Haible  <bruno@clisp.org>
35798
35799         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
35800
35801 2009-12-13  Jim Meyering  <meyering@redhat.com>
35802
35803         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
35804         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
35805
35806 2009-12-12  Bruno Haible  <bruno@clisp.org>
35807
35808         duplocale: Tweak.
35809         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
35810
35811 2009-12-12  Karl Berry  <karl@gnu.org>
35812
35813         * config/srclist.txt (strtoll.c): tab changes, no more sync.
35814
35815 2009-12-12  Bruno Haible  <bruno@clisp.org>
35816
35817         * m4/po.m4: Undo incorrect untabification.
35818
35819 2009-12-12  Bruno Haible  <bruno@clisp.org>
35820
35821         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
35822         * modules/c-strtod (Depends-on): Add locale.
35823         * modules/c-strtold (Depends-on): Likewise.
35824
35825 2009-12-12  Bruno Haible  <bruno@clisp.org>
35826
35827         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
35828
35829 2009-12-11  Eric Blake  <ebb9@byu.net>
35830
35831         setenv: relax requirement in light of POSIX ruling
35832         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
35833         not NULL.
35834         * tests/test-setenv.c (main): Relax test.
35835         * tests/test-unsetenv.c (main): Likewise.
35836         * doc/posix-functions/setenv.texi (setenv): Document this.
35837         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
35838
35839 2009-12-11  Bruno Haible  <bruno@clisp.org>
35840
35841         New module 'fd-safer-flag'.
35842         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
35843         * lib/dup-safer.c (dup_safer_flag): Remove function.
35844         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
35845         * lib/fd-safer.c (fd_safer_flag): Remove function.
35846         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
35847         * modules/cloexec (configure.ac): Drop indicator macro.
35848         * modules/fd-safer-flag: New file.
35849         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
35850         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
35851         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
35852
35853 2009-12-11  Bruno Haible  <bruno@clisp.org>
35854
35855         Tests for module 'nl_langinfo'.
35856         * modules/nl_langinfo-tests: New file.
35857         * tests/test-nl_langinfo.sh: New file.
35858         * tests/test-nl_langinfo.c: New file.
35859
35860         New module 'nl_langinfo'.
35861         * lib/nl_langinfo.c: New file.
35862         * m4/nl_langinfo.m4: New file.
35863         * modules/nl_langinfo: New file.
35864         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
35865
35866 2009-12-11  Bruno Haible  <bruno@clisp.org>
35867
35868         Tests for module 'langinfo'.
35869         * modules/langinfo-tests: New file.
35870         * tests/test-langinfo.c: New file.
35871
35872         New module 'langinfo'.
35873         * lib/langinfo.in.h: New file.
35874         * m4/langinfo_h.m4: New file.
35875         * modules/langinfo: New file.
35876         * doc/posix-headers/langinfo.texi: Mention the new module.
35877
35878 2009-12-11  Bruno Haible  <bruno@clisp.org>
35879
35880         * lib/config.charset: Untabify.
35881
35882 2009-12-11  Bruno Haible  <bruno@clisp.org>
35883
35884         * modules/unistd-safer (configure.ac): Drop indicator macro.
35885
35886 2009-12-11  Bruno Haible  <bruno@clisp.org>
35887
35888         Move pipe2-safer code to its own file.
35889         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
35890         * lib/pipe-safer.c (pipe2_safer): Remove function.
35891         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
35892         (Makefile.am): Add it to lib_SOURCES.
35893
35894 2009-12-10  Bruno Haible  <bruno@clisp.org>
35895
35896         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
35897
35898 2009-12-10  Bruno Haible  <bruno@clisp.org>
35899
35900         Declare which arguments expect non-NULL values, for GCC and clang.
35901         * build-aux/arg-nonnull.h: New file.
35902         * modules/arg-nonnull: New file.
35903         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
35904         (inet_ntop, inet_pton): Use it.
35905         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
35906         (closedir, dirfd, opendir, scandir, alphasort): Use it.
35907         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
35908         (open, openat): Use it.
35909         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
35910         (fnmatch): Use it.
35911         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
35912         (getopt, getopt_long, getopt_long_only): Use it.
35913         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
35914         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
35915         Use it.
35916         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
35917         (iconv_open): Use it.
35918         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
35919         (strtoimax, strtoumax): Use it.
35920         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
35921         (duplocale): Use it.
35922         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
35923         (frexp, frexpl): Use it.
35924         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
35925         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
35926         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
35927         (tsearch, tfind, tdelete, twalk): Use it.
35928         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
35929         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
35930         sigpending): Use it.
35931         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
35932         (posix_spawn, posix_spawnp, posix_spawnattr_init,
35933         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
35934         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
35935         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
35936         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
35937         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
35938         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
35939         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
35940         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
35941         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
35942         Use it.
35943         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
35944         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
35945         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
35946         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
35947         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
35948         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
35949         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
35950         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
35951         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
35952         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
35953         strtoull, unsetenv): Use it.
35954         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
35955         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
35956         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
35957         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
35958         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
35959         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
35960         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
35961         (strcasecmp, strncasecmp): Use it.
35962         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
35963         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
35964         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
35965         rpl_setsockopt): Use it.
35966         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
35967         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
35968         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
35969         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
35970         (gettimeofday): Use it.
35971         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
35972         (times): Use it.
35973         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
35974         (uname): Use it.
35975         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
35976         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
35977         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
35978         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
35979         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
35980         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
35981         unlinkat, write): Use it.
35982         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
35983         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
35984         * lib/argv-iter.h: Include arg-nonnull.h.
35985         (_ATTRIBUTE_NONNULL_): Remove macro.
35986         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
35987         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
35988         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
35989         optimization.
35990         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
35991         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
35992         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
35993         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
35994         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
35995         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
35996         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
35997         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
35998         * modules/arpa_inet (Depends-on): Add arg-nonnull.
35999         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
36000         * modules/dirent (Depends-on): Add arg-nonnull.
36001         (Makefile.am): Insert arg-nonnull.h into dirent.h.
36002         * modules/fcntl-h (Depends-on): Add arg-nonnull.
36003         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
36004         * modules/fnmatch (Depends-on): Add arg-nonnull.
36005         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
36006         * modules/getopt-posix (Depends-on): Add arg-nonnull.
36007         (Makefile.am): Insert arg-nonnull.h into getopt.h.
36008         * modules/glob (Depends-on): Add arg-nonnull.
36009         (Makefile.am): Insert arg-nonnull.h into glob.h.
36010         * modules/iconv_open (Depends-on): Add arg-nonnull.
36011         (Makefile.am): Insert arg-nonnull.h into iconv.h.
36012         * modules/inttypes (Depends-on): Add arg-nonnull.
36013         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
36014         * modules/locale (Depends-on): Add arg-nonnull.
36015         (Makefile.am): Insert arg-nonnull.h into locale.h.
36016         * modules/math (Depends-on): Add arg-nonnull.
36017         (Makefile.am): Insert arg-nonnull.h into math.h.
36018         * modules/netdb (Depends-on): Add arg-nonnull.
36019         (Makefile.am): Insert arg-nonnull.h into netdb.h.
36020         * modules/search (Depends-on): Add arg-nonnull.
36021         (Makefile.am): Insert arg-nonnull.h into search.h.
36022         * modules/signal (Depends-on): Add arg-nonnull.
36023         (Makefile.am): Insert arg-nonnull.h into signal.h.
36024         * modules/spawn (Depends-on): Add arg-nonnull.
36025         (Makefile.am): Insert arg-nonnull.h into spawn.h.
36026         * modules/stdio (Depends-on): Add arg-nonnull.
36027         (Makefile.am): Insert arg-nonnull.h into stdio.h.
36028         * modules/stdlib (Depends-on): Add arg-nonnull.
36029         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
36030         * modules/string (Depends-on): Add arg-nonnull.
36031         (Makefile.am): Insert arg-nonnull.h into string.h.
36032         * modules/strings (Depends-on): Add arg-nonnull.
36033         (Makefile.am): Insert arg-nonnull.h into strings.h.
36034         * modules/sys_socket (Depends-on): Add arg-nonnull.
36035         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
36036         * modules/sys_stat (Depends-on): Add arg-nonnull.
36037         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
36038         * modules/sys_time (Depends-on): Add arg-nonnull.
36039         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
36040         * modules/sys_times (Depends-on): Add arg-nonnull.
36041         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
36042         * modules/sys_utsname (Depends-on): Add arg-nonnull.
36043         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
36044         * modules/time (Depends-on): Add arg-nonnull.
36045         (Makefile.am): Insert arg-nonnull.h into time.h.
36046         * modules/unistd (Depends-on): Add arg-nonnull.
36047         (Makefile.am): Insert arg-nonnull.h into unistd.h.
36048         * modules/wchar (Depends-on): Add arg-nonnull.
36049         (Makefile.am): Insert arg-nonnull.h into wchar.h.
36050         * modules/argv-iter (Depends-on): Add arg-nonnull.
36051         * tests/test-canonicalize.c (null_ptr): New function.
36052         (main): Use it.
36053         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
36054         (main): Use it.
36055         * tests/test-memmem.c (null_ptr): New function.
36056         (main): Use it.
36057         Reported by Jim Meyering.
36058
36059 2009-12-10  Bruno Haible  <bruno@clisp.org>
36060
36061         Use spaces for indentation, not tabs.
36062         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
36063         * m4/*.m4: Untabify.
36064         * build-aux/*.h: Untabify.
36065         * tests/**/*.[hc]: Untabify.
36066         * README: New section "Indent with spaces, not TABs", based on
36067         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
36068         * NEWS: Mention the change.
36069
36070 2009-12-10  Bruno Haible  <bruno@clisp.org>
36071
36072         pty test: Fix link error.
36073         * modules/pty-tests (Makefile.am): Add the default LDADD value to
36074         test_pty_LDADD.
36075
36076 2009-12-07  Simon Josefsson  <simon@josefsson.org>
36077
36078         * modules/pty: New file.
36079         * modules/pty-tests: New file.
36080         * m4/pty.m4: New file.
36081         * tests/test-pty.c: New file.
36082         * doc/glibc-headers/pty.texi: Modified.
36083         * doc/glibc-functions/forkpty.texi: Modified.
36084         * doc/glibc-functions/openpty.texi: Modified.
36085
36086 2009-12-10  Bruno Haible  <bruno@clisp.org>
36087
36088         Avoid syntax error in C++ mode.
36089         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
36090
36091 2009-12-10  Bruno Haible  <bruno@clisp.org>
36092
36093         Use sed with option -e.
36094         * gnulib-tool (func_version, func_emit_copyright_notice,
36095         func_emit_initmacro_end, func_import, func_create_testdir): Pass
36096         option -e to sed.
36097         * modules/link-warning (Makefile.am): Likewise.
36098
36099 2009-12-10  Jim Meyering  <meyering@redhat.com>
36100
36101         mgetgroups: do not write bytes beyond end of malloc'd buffer
36102         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
36103         username, we call getgroups with a one-element-shorter buffer,
36104         but still told it the length was original, max_n_groups.
36105
36106 2009-12-09  Eric Blake  <ebb9@byu.net>
36107
36108         cloexec: relax license
36109         * modules/cloexec (Maintainer): Add myself.
36110         (License): Use LGPL, not GPL.
36111
36112         link-warning: optimize generation
36113         * modules/link-warning (Makefile.am): Reduce process usage.
36114
36115 2009-12-09  Bruno Haible  <bruno@clisp.org>
36116
36117         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
36118         workaround was added on 2009-11-17.
36119
36120 2009-12-09  Jim Meyering  <meyering@redhat.com>
36121             Bruno Haible  <bruno@clisp.org>
36122
36123         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
36124         * modules/link-warning (Makefile.am): Make the comment-removing sed
36125         command more robust in the face of bootstrap-prepended comment lines.
36126
36127 2009-12-09  Bruno Haible  <bruno@clisp.org>
36128
36129         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
36130         most one group.
36131
36132 2009-12-09  Simon Josefsson <simon@josefsson.org>
36133             Bruno Haible  <bruno@clisp.org>
36134
36135         * build-aux/link-warning.h: Add copyright notice.
36136         * modules/link-warning (Makefile.am): Generate link-warning.h from
36137         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
36138         * NEWS: Mention change in link-warning module.
36139         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
36140         * modules/dirent (Makefile.am): Add dependency to dirent.h.
36141         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
36142         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
36143         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
36144         * modules/math (Makefile.am): Add dependency to math.h.
36145         * modules/search (Makefile.am): Add dependency to search.h.
36146         * modules/signal (Makefile.am): Add dependency to signal.h.
36147         * modules/spawn (Makefile.am): Add dependency to spawn.h.
36148         * modules/stdio (Makefile.am): Add dependency to stdio.h.
36149         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
36150         * modules/string (Makefile.am): Add dependency to string.h.
36151         * modules/strings (Makefile.am): Add dependency to strings.h.
36152         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
36153         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
36154         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
36155         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
36156         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
36157         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
36158         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
36159         * modules/unistd (Makefile.am): Add dependency to unistd.h.
36160         * modules/wchar (Makefile.am): Add dependency to wchar.h.
36161
36162 2009-12-09  Bruno Haible  <bruno@clisp.org>
36163
36164         fchdir: Optimize away rpl_fstat when possible.
36165         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
36166         REPLACE_OPEN_DIRECTORY.
36167         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
36168
36169 2009-12-09  Bruno Haible  <bruno@clisp.org>
36170
36171         * lib/fchdir.c: Update comment.
36172
36173 2009-12-09  Bruno Haible  <bruno@clisp.org>
36174
36175         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
36176
36177 2009-12-08  Eric Blake  <ebb9@byu.net>
36178
36179         fchdir: avoid memory leak on re-registration.
36180         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
36181
36182 2009-12-08  Jim Meyering  <meyering@redhat.com>
36183
36184         init.sh: avoid Solaris 10 /bin/sh portability problem
36185         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
36186         sourced script:
36187           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
36188           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
36189           bar
36190         tests/init.sh relied on that, accepting a --set-path=DIR argument,
36191         and two tests used that idiom.
36192         * tests/init.sh: Update suggested usage comments.
36193         (path_prepend_): New function, to be used in place
36194         of the --src-path=DIR option.
36195         (setup_): Move PATH-prepending code into path_prepend_.
36196         * tests/test-pread.sh: Adapt to new usage.
36197         * tests/test-xalloc-die.sh: Likewise.
36198
36199 2009-12-08  Simon Josefsson  <simon@josefsson.org>
36200
36201         * doc/gnulib.texi (Glibc pty.h): Add.
36202         * doc/glibc-functions/forkpty.texi: Add.
36203         * doc/glibc-functions/openpty.texi: Add.
36204         Suggested by Bruno Haible.
36205
36206 2009-12-08  Eric Blake  <ebb9@byu.net>
36207
36208         fchdir: fix logic bugs
36209         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
36210         * tests/test-fchdir.c (main): Enhance test.
36211         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
36212         is in use.
36213
36214         dup2: fix logic bugs
36215         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
36216         REPLACE_DUP2 to decide when rpl_dup2 is needed.
36217         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
36218         exists.
36219         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
36220
36221 2009-12-07  Eric Blake  <ebb9@byu.net>
36222
36223         unlink: fix m4 detection
36224         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
36225
36226         unistd-safer: add unit test
36227         * modules/unistd-safer-tests: New file.
36228         * tests/test-dup-safer.c: Likewise.
36229         * tests/test-cloexec.c (setmode): Avoid compiler warning.
36230         * tests/test-dup2.c (setmode): Likewise.
36231         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
36232
36233         cloexec: preserve text vs. binary across dup_cloexec
36234         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
36235         mode.
36236         * modules/dup2-tests (Depends-on): Add binary-io.
36237         * modules/cloexec-tests (Depends-on): Likewise.
36238         * tests/test-dup2.c (setmode, is_mode): New helpers.
36239         (main): Add tests that translation mode is preserved.
36240         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
36241         Reported by Bruno Haible.
36242
36243         mgetgroups: reduce duplicate listings
36244         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
36245         resulting array.
36246         * tests/test-chown.h (test_chown): Simplify client.
36247         * tests/test-lchown.h (test_lchown): Likewise.
36248
36249 2009-12-06  Bruno Haible  <bruno@clisp.org>
36250
36251         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
36252         value.
36253
36254 2009-12-06  Bruno Haible  <bruno@clisp.org>
36255
36256         * lib/progname.c: Include stdio.h, stdlib.h.
36257         (set_program_name): Reject a NULL argument.
36258
36259 2009-12-05  Eric Blake  <ebb9@byu.net>
36260
36261         pipe2-safer: new module
36262         * modules/pipe2-safer: New file.
36263         * lib/unistd-safer.h (pipe2_safer): New prototype.
36264         * lib/unistd--.h (pipe2): New wrapper.
36265         * lib/pipe-safer.c (pipe2_safer): New function.
36266         * modules/pipe (Depends-on): Add pipe2-safer.
36267         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
36268
36269         stdlib-safer: preserve cloexec flag for mkostemp[s]
36270         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
36271         fd_safer_flag.
36272
36273         unistd-safer: allow preservation of cloexec status via flag
36274         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
36275         prototypes.
36276         * lib/dup-safer.c (dup_safer_flag): New function.
36277         * lib/fd-safer.c (fd_safer_flag): Likewise.
36278         * modules/cloexec (configure.ac): Set witness.
36279
36280         test-dup2: enhance test
36281         * modules/dup2-tests (Depends-on): Add cloexec.
36282         * tests/test-dup2.c (main): Enhance test.
36283
36284         cloexec: add dup_cloexec
36285         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
36286         header and comments.
36287         * lib/cloexec.c (set_cloexec_flag): Add comments.
36288         (dup_cloexec): New function, with mingw implementation borrowed
36289         from...
36290         * lib/w32spawn.h (dup_noinherit): ...here.
36291         * modules/execute (Depends-on): Add cloexec.
36292         * modules/pipe (Depends-on): Likewise.
36293         * modules/cloexec (Depends-on): Add dup2.
36294         * modules/cloexec-tests (Files): New file.
36295         * tests/test-cloexec.c: Likewise.
36296
36297         test-xalloc-die: fix test for mingw
36298         * modules/xalloc-die-tests (Files): Add tests/init.sh.
36299         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
36300         directory and .exe suffix off argv[0] output.
36301
36302         test-fseeko: fix test for mingw
36303         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
36304         than undefining fseek, so test will pass on mingw.
36305
36306 2009-12-05  Bruno Haible  <bruno@clisp.org>
36307
36308         * lib/progname.h (set_program_name): Clarify specification.
36309         * lib/progname.c (set_program_name): Likewise.
36310         Reported by Jim Meyering.
36311
36312 2009-12-05  Jim Meyering  <meyering@redhat.com>
36313
36314         maint.mk: backslash-escape parens in default regexp
36315         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
36316         backslash-escape the literal parentheses.
36317
36318         maint.mk: news-date-check: use grep -E
36319         * top/maint.mk (today): Define a Make variable, not a...
36320         (news-date-check): ...shell variable.
36321         (news-date-regexp): Use the Make variable.
36322         Use grep's -E option.  Change the failing diagnostic to mention
36323         the variable, $(news-date-regexp).
36324
36325 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
36326
36327         maintainer-makefile: allow customization of NEWS entry format
36328         * top/maint.mk (news-date-regexp): New overridable variable.
36329         (news-date-check): Use it.
36330
36331 2009-12-04  Eric Blake  <ebb9@byu.net>
36332
36333         mgetgroups: add xgetgroups, and avoid ENOSYS failures
36334         * lib/mgetgroups.h (xgetgroups): New prototype.
36335         * lib/mgetgroups.c (xgetgroups): New wrapper.
36336         (mgetgroups): Handle ENOSYS.
36337         * modules/mgetgroups (Depends-on): Add realloc.
36338         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
36339
36340         mgetgroups: avoid argument promotion issues with -1
36341         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
36342         for invalid gid_t.
36343         * tests/test-chown.h (getegid, test_chown): Likewise.
36344         * tests/test-lchown.h (getegid, test_lchown): Likewise.
36345
36346 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
36347
36348         exclude: Fix header file problems.
36349         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
36350
36351 2009-12-01  Jim Meyering  <meyering@redhat.com>
36352
36353         fts: fts_open: do not let an empty string cause immediate failure
36354         This is required in support of GNU rm, for which the command
36355         "rm A '' B" must process and remove both A and B, in spite of
36356         the empty string argument.
36357         * lib/fts.c (fts_open): Do not let the presence of an empty string
36358         cause fts_open to fail immediately.  Most fts-using tools must be
36359         able to process all arguments, in order, and can be expected to
36360         diagnose such arguments themselves.
36361
36362 2009-11-30  Eric Blake  <ebb9@byu.net>
36363
36364         utimens: fix compilation error
36365         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
36366         Declare variable at right scope.
36367
36368 2009-11-29  Jim Meyering  <meyering@redhat.com>
36369
36370         bootstrap: handle perl-5.11's changed --version output
36371         * build-aux/bootstrap (get_version): Handle perl separately,
36372         since perl-5.11's --version output is different.
36373
36374 2009-11-28  Jim Meyering  <meyering@redhat.com>
36375
36376         userspec: depend on the inttostr module, too
36377         * modules/userspec (Depends-on): Add inttostr.
36378
36379         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
36380         * lib/userspec.c (parse_with_separator): Do not accept a user ID
36381         number of MAXUID when it evaluates to (uid_t) -1.
36382         Likewise for group ID.  Reported by Matt McCutchen in
36383         <http://savannah.gnu.org/bugs/?28113>
36384
36385         userspec: reformat to use spaces, not TABs
36386         * lib/userspec.c: Expand TABs to spaces.
36387         Add Emacs' "indent-tabs-mode: nil" hint.
36388
36389 2009-11-27  Eric Blake  <ebb9@byu.net>
36390
36391         getopt-gnu: flush out another BSD bug
36392         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
36393         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
36394         flush out BSD bug.
36395         * tests/test-getopt.h (test_getopt): End lists with NULL.
36396         * tests/test-getopt_long.h (test_getopt_long): Likewise.
36397         (test_getopt_long_posix): Enhance test.
36398         * modules/getopt-posix-tests (Depends-on): Add stdbool.
36399         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
36400         getopt-gnu.
36401         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
36402         Likewise.
36403
36404 2009-11-27  Simon Josefsson  <simon@josefsson.org>
36405
36406         * modules/idpriv-droptemp-tests (Notice): Fix text.
36407
36408 2009-11-27  Jim Meyering  <meyering@redhat.com>
36409
36410         test-xalloc-die: avoid spurious failure due to libtool argv difference
36411         In a libtool-enabled project, this test would fail due to a difference
36412         in the emitted program name, e.g.,
36413         -test-xalloc-die: memory exhausted
36414         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
36415         Use program to avoid that.
36416         * modules/xalloc-die-tests (Depends-on): Add progname.
36417         * tests/test-xalloc-die.c: Include progname.h".
36418         (program_name): Remove decl.
36419         (main): Call set_program_name.
36420         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
36421
36422 2009-11-26  Richard Jones  <rjones@redhat.com>
36423
36424         w32sock: leave win32 error in place.
36425         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
36426
36427 2009-11-26  Eric Blake  <ebb9@byu.net>
36428
36429         init.sh: suggest to use skip_ and fail_ functions in comments
36430         * tests/init.sh: Add a sentence.
36431
36432 2009-11-25  Bruno Haible  <bruno@clisp.org>
36433
36434         init.sh: add documentation in comments
36435         * tests/init.sh: Add some developer and user documentation.
36436
36437 2009-11-26  Jim Meyering  <meyering@redhat.com>
36438
36439         init.sh: accommodate even those who specify bogus srcdir manually
36440         * tests/init.sh: Normally, srcdir is guaranteed by automake and
36441         configure-time tests to be sanitized, so that there is no need to
36442         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
36443         (with no double quotes) suffices.  However, since tests may be
36444         invoked manually, and since you may explicitly set srcdir to the
36445         name of a directory containing spaces, do quote its uses here.
36446         * tests/test-pread.sh: Likewise.
36447         Suggested by Bruno Haible.
36448
36449         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
36450         * tests/test-pread.sh: Write no data into the pipe, because
36451         test-pread actually reads none.  This avoids a diagnostic,
36452         "bash: echo: write error: Broken pipe", that arises in the unusual
36453         event something is ignoring SIGPIPE, and might be interpreted
36454         as some sort of failure.  Reported by Bruno Haible.
36455
36456 2009-11-25  Jim Meyering  <meyering@redhat.com>
36457
36458         test-pread: cover failure with ESPIPE and EINVAL
36459         * tests/test-pread.c (main): Test for failure, too.
36460         * tests/test-pread.sh: Invoke with stdin on a pipe.
36461         Suggested by Eric Blake.
36462
36463         pread: improvement and fix
36464         * modules/pread (Depends-on): Depend on lseek, for portability to
36465         e.g., mingw.  Suggested by Eric Blake.
36466         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
36467
36468         unistd.in.h: correct declaration of pread
36469         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
36470         Reported by Richard W.M. Jones.
36471
36472         test-pread.sh: distribute the test script
36473         * modules/pread-tests (Files): Include test-pread.sh.
36474
36475         test-pread.sh: clean up
36476         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
36477         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
36478         That is unnecessary, since it's always ".".
36479         Suggestion from Eric Blake.
36480
36481         test-pread.sh: make executable
36482         * tests/test-pread.sh: Set executable bit.
36483         Reported by Eric Blake.
36484
36485         correct typo in test-pread.sh
36486         * tests/test-pread.sh: Add #! line.
36487
36488         test pread
36489         * tests/test-pread.c: New file.
36490         * tests/test-pread.sh: Likewise.
36491         * modules/pread-tests: Likewise.
36492
36493         pread: new module
36494         * modules/pread: New file.
36495         * lib/unistd.in.h (pread): Define/declare.
36496         * lib/pread.c (pread): New file.
36497         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
36498         * modules/unistd (Makefile.am): Substitute witnesses.
36499         * doc/posix-functions/pread.texi (pread): Update.
36500         * MODULES.html.sh: Add pread.
36501
36502 2009-11-25  Jim Meyering  <meyering@redhat.com>
36503
36504         tests/init.sh: new file to be used via most *.sh tests
36505         * tests/init.sh: New file.
36506
36507 2009-11-25  Eric Blake  <ebb9@byu.net>
36508
36509         utimens: work around older Linux failure with symlinks
36510         * lib/utimens.c (lutimensat_works_really): New variable.
36511         (fdutimens, lutimens): Use it to manage kernels that support
36512         nanosecond times on files, but not on symlinks.
36513         Reported by OndÅ™ej Vašík.
36514
36515         utimes: fix configure grammar
36516         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
36517
36518 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
36519
36520         regex: Fix fastmap for multibyte character ranges.
36521         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
36522         characters when a multibyte character range is included.
36523
36524 2009-11-22  Andy Wingo  <wingo@pobox.com>
36525
36526         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
36527         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
36528
36529 2009-11-24  Bruno Haible  <bruno@clisp.org>
36530
36531         doc: Most *_l functions exist in MacOS X 10.5.
36532         * doc/posix-functions/duplocale.texi: Update platforms list.
36533         * doc/posix-functions/freelocale.texi: Likewise.
36534         * doc/posix-functions/newlocale.texi: Likewise.
36535         * doc/posix-functions/uselocale.texi: Likewise.
36536         * doc/posix-functions/isalnum_l.texi: Likewise.
36537         * doc/posix-functions/isalpha_l.texi: Likewise.
36538         * doc/posix-functions/isblank_l.texi: Likewise.
36539         * doc/posix-functions/iscntrl_l.texi: Likewise.
36540         * doc/posix-functions/isdigit_l.texi: Likewise.
36541         * doc/posix-functions/isgraph_l.texi: Likewise.
36542         * doc/posix-functions/islower_l.texi: Likewise.
36543         * doc/posix-functions/isprint_l.texi: Likewise.
36544         * doc/posix-functions/ispunct_l.texi: Likewise.
36545         * doc/posix-functions/isspace_l.texi: Likewise.
36546         * doc/posix-functions/isupper_l.texi: Likewise.
36547         * doc/posix-functions/iswalnum_l.texi: Likewise.
36548         * doc/posix-functions/iswalpha_l.texi: Likewise.
36549         * doc/posix-functions/iswblank_l.texi: Likewise.
36550         * doc/posix-functions/iswcntrl_l.texi: Likewise.
36551         * doc/posix-functions/iswctype_l.texi: Likewise.
36552         * doc/posix-functions/iswdigit_l.texi: Likewise.
36553         * doc/posix-functions/iswgraph_l.texi: Likewise.
36554         * doc/posix-functions/iswlower_l.texi: Likewise.
36555         * doc/posix-functions/iswprint_l.texi: Likewise.
36556         * doc/posix-functions/iswpunct_l.texi: Likewise.
36557         * doc/posix-functions/iswspace_l.texi: Likewise.
36558         * doc/posix-functions/iswupper_l.texi: Likewise.
36559         * doc/posix-functions/iswxdigit_l.texi: Likewise.
36560         * doc/posix-functions/isxdigit_l.texi: Likewise.
36561         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
36562         * doc/posix-functions/strcasecmp_l.texi: Likewise.
36563         * doc/posix-functions/strcoll_l.texi: Likewise.
36564         * doc/posix-functions/strfmon_l.texi: Likewise.
36565         * doc/posix-functions/strftime_l.texi: Likewise.
36566         * doc/posix-functions/strncasecmp_l.texi: Likewise.
36567         * doc/posix-functions/strxfrm_l.texi: Likewise.
36568         * doc/posix-functions/tolower_l.texi: Likewise.
36569         * doc/posix-functions/toupper_l.texi: Likewise.
36570         * doc/posix-functions/towctrans_l.texi: Likewise.
36571         * doc/posix-functions/towlower_l.texi: Likewise.
36572         * doc/posix-functions/towupper_l.texi: Likewise.
36573         * doc/posix-functions/wcscoll_l.texi: Likewise.
36574         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
36575         * doc/posix-functions/wctrans_l.texi: Likewise.
36576         * doc/posix-functions/wctype_l.texi: Likewise.
36577         * doc/glibc-functions/strptime_l.texi: Likewise.
36578         * doc/glibc-functions/strtod_l.texi: Likewise.
36579         * doc/glibc-functions/strtof_l.texi: Likewise.
36580         * doc/glibc-functions/strtol_l.texi: Likewise.
36581         * doc/glibc-functions/strtold_l.texi: Likewise.
36582         * doc/glibc-functions/strtoll_l.texi: Likewise.
36583         * doc/glibc-functions/strtoul_l.texi: Likewise.
36584         * doc/glibc-functions/strtoull_l.texi: Likewise.
36585         * doc/glibc-functions/wcsftime_l.texi: Likewise.
36586         * doc/glibc-functions/wcstod_l.texi: Likewise.
36587         * doc/glibc-functions/wcstof_l.texi: Likewise.
36588         * doc/glibc-functions/wcstol_l.texi: Likewise.
36589         * doc/glibc-functions/wcstold_l.texi: Likewise.
36590         * doc/glibc-functions/wcstoll_l.texi: Likewise.
36591         * doc/glibc-functions/wcstoul_l.texi: Likewise.
36592         * doc/glibc-functions/wcstoull_l.texi: Likewise.
36593
36594 2009-11-24  Bruno Haible  <bruno@clisp.org>
36595
36596         duplocale: Fix logic bug.
36597         * lib/duplocale.c: Don't include <langinfo.h>.
36598         (_NL_LOCALE_NAME): Remove macro.
36599         (rpl_duplocale): Use setlocale instead of nl_langinfo.
36600         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
36601
36602 2009-11-23  Jim Meyering  <meyering@redhat.com>
36603
36604         test-update-copyright: don't hard-code /usr/bin/perl
36605         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
36606         perl to print the current year.  Gilles Espinasse reported that
36607         the replaced use of perl was hard-coded as /usr/bin/perl.
36608
36609 2009-11-23  Bruno Haible  <bruno@clisp.org>
36610
36611         duplocale: Add support for glibc 2.3.x.
36612         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
36613
36614 2009-11-22  Bruno Haible  <bruno@clisp.org>
36615
36616         vasnprintf: Tiny optimization.
36617         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
36618         MacOS X.
36619
36620 2009-11-22  Bruno Haible  <bruno@clisp.org>
36621
36622         Tests for module 'duplocale'.
36623         * modules/duplocale-tests: New file.
36624         * tests/test-duplocale.c: New file.
36625
36626         New module 'duplocale'.
36627         * m4/duplocale.m4: New file.
36628         * lib/locale.in.h (duplocale): New declaration.
36629         * lib/duplocale.c: New file.
36630         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
36631         gl_LOCALE_H_DEFAULTS): New macros.
36632         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
36633         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
36634         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
36635         REPLACE_DUPLOCALE.
36636         * modules/duplocale: New file.
36637         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
36638
36639 2009-11-22  Bruno Haible  <bruno@clisp.org>
36640
36641         * modules/locale-tests (configure.ac): Test for newlocale function.
36642         * tests/test-locale.c: When the system has extended locale functions,
36643         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
36644
36645         locale: Make locale_t available when possible.
36646         * lib/locale.in.h: Include <xlocale.h> when it exists.
36647         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
36648         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
36649         * modules/locale (Depends-on): Add extensions.
36650         (Makefile.am): Also substitute HAVE_XLOCALE_H.
36651         * doc/posix-headers/locale.texi: Document the problem with locale_t.
36652
36653 2009-11-22  Bruno Haible  <bruno@clisp.org>
36654
36655         Add comments.
36656         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
36657         invocation.
36658         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
36659         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
36660         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
36661
36662 2009-11-22  Bruno Haible  <bruno@clisp.org>
36663
36664         error: account for the possibility of freopen (stdout).
36665         * lib/error.c: Include <unistd.h>.
36666         (flush_stdout): New function, extracted from error and error_at_line.
36667         Determine stdout's fd dynamically.
36668         (error, error_at_line): Invoke flush_stdout.
36669         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
36670         * modules/error (Depends-on): Add unistd.
36671
36672 2009-11-22  Bruno Haible  <bruno@clisp.org>
36673
36674         diffseq: Add comment.
36675         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
36676
36677 2009-11-22  Jim Meyering  <meyering@redhat.com>
36678
36679         c-stack: avoid defining an unused static function
36680         * lib/c-stack.c (find_stack_direction): Do not define this function
36681         when it will not be used.
36682
36683         diffseq: avoid spurious gcc warnings
36684         * lib/diffseq.h (IF_LINT2): Define.
36685         (compareseq): Use it to initialize two members of "part".
36686         This avoids two used-uninitialized warnings.
36687
36688 2009-11-21  Jim Meyering  <meyering@redhat.com>
36689
36690         c-stack: avoid "ignoring return value of `write'" warning
36691         * lib/c-stack.c: Include "ignore-value.h".
36692         (die): Explicitly ignore each write return value.
36693         * modules/c-stack (Depends-on): Add ignore-value.
36694
36695 2009-11-21  Bruno Haible  <bruno@clisp.org>
36696
36697         diffseq: reduce scope of variable 'best'.
36698         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
36699         variable, earlier used for two different purposes.
36700
36701 2009-11-21  Jim Meyering  <meyering@redhat.com>
36702
36703         diffseq: remove useless assignment to "best"
36704         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
36705         assignment.  At that point "best" is already guaranteed to be zero.
36706
36707 2009-11-20  Eric Blake  <ebb9@byu.net>
36708
36709         build: mention ftp redirector in release announcements
36710         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
36711         values that used to come from cfg.mk; mention FTP redirect URL.
36712         * build-aux/announce-gen: Mention the mirror list.
36713         Suggested by Karl Berry.
36714
36715         nanosleep: improve port to mingw
36716         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
36717         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
36718         LIB_NANOSLEEP, but only when needed.
36719         * modules/select (Link): Document LIBSOCKET.
36720         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
36721         enough.
36722
36723         nanosleep: work around cygwin bug
36724         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
36725         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
36726         bug.
36727         (getnow): Delete, not needed.
36728         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
36729         LIB_CLOCK_GETTIME.
36730         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
36731         clock-time, gettime.
36732         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
36733         bug.
36734         * modules/nanosleep-tests: New test.
36735         * tests/test-nanosleep.c: New file.
36736
36737         sleep: work around cygwin bug
36738         * lib/sleep.c (rpl_sleep): Work around the bug.
36739         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
36740         (gl_PREREQ_SLEEP): Delete unused macro.
36741         * modules/sleep (Depends-on): Add verify.
36742         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
36743         * modules/unistd (Makefile.am): Substitute witness.
36744         * lib/unistd.in.h (sleep): Update prototype.
36745         * doc/posix-functions/sleep.texi (sleep): Document the bug.
36746         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
36747         * modules/sleep-tests (Depends-on): Check for alarm.
36748
36749 2009-11-20  Jim Meyering  <meyering@redhat.com>
36750
36751         maint.mk: improve sc_prohibit_magic_number_exit
36752         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
36753         so it does not match uses like System.exit(1).
36754         Add comments showing how to correct all offenders.
36755
36756 2009-11-19  Eric Blake  <ebb9@byu.net>
36757
36758         xalloc-die-tests: add missing library
36759         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
36760
36761         test-xvasprintf: silence compiler warnings
36762         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
36763         empty string from gcc.
36764
36765 2009-11-19  Jim Meyering  <meyering@redhat.com>
36766
36767         xfreopen: new module, from coreutils
36768         * modules/xfreopen: New module.
36769         * lib/xfreopen.c: New file.
36770         * lib/xfreopen.h: New file.
36771         * MODULES.html.sh (File stream based Input/Output"): Add it.
36772
36773 2009-11-19  Eric Blake  <ebb9@byu.net>
36774
36775         manywarnings: depend on warnings
36776         * modules/manywarnings (Depends-on): Add warnings.
36777
36778         build: avoid compiler warnings
36779         * lib/select.c (rpl_select): Delete unused variable.
36780         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
36781
36782 2009-11-18  Eric Blake  <ebb9@byu.net>
36783
36784         tests: avoid false negative with --with-packager
36785         * tests/test-version-etc.sh: Discard packager information.
36786         * tests/test-argp-version-etc-1.sh: Likewise.
36787         Reported by Mike Frysinger.
36788
36789         utimens: fix regression on Solaris
36790         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
36791         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
36792         can only change fd timestamps via futimesat.  Instead, use an
36793         additional witness macro to avoid BSD bug.
36794         Reported by Jim Meyering.
36795
36796 2009-11-17  Eric Blake  <ebb9@byu.net>
36797
36798         usleep: use it to simplify tests
36799         * modules/stat-time-tests (Depends-on): Add usleep.
36800         (configure.ac): Drop usleep check.
36801         * modules/chown-tests (Depends-on, configure.ac): Likewise.
36802         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
36803         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
36804         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
36805         * modules/openat-tests (Depends-on, configure.ac): Likewise.
36806         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
36807         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
36808         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
36809         Likewise.
36810         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
36811         * tests/test-lchown.h (nap): Likewise.
36812         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
36813         * tests/test-stat-time.c (nap): Likewise.
36814         * tests/test-utimens-common.h (nap): Update comments.
36815
36816         usleep: new module
36817         * modules/usleep: New file.
36818         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
36819         * lib/usleep.c (usleep): Likewise.
36820         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
36821         * modules/unistd (Makefile.am): Substitute witnesses.
36822         * lib/unistd.in.h (usleep): Add declaration.
36823         * doc/pastposix-functions/usleep.texi (usleep): Document this.
36824         * MODULES.html.sh (Date and time): Likewise.
36825         * modules/usleep-tests (Depends-on): New test.
36826         * tests/test-usleep.c: New file.
36827
36828         chown: work around OpenBSD bug
36829         * lib/chown.c (rpl_chown): Work around the bug.
36830         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
36831         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
36832         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
36833         * modules/chown (Depends-on): Add stdbool.
36834         * modules/lchown (Depends-on): Likewise.
36835         * doc/posix-functions/chown.texi (chown): Document the bug.
36836         * doc/posix-functions/lchown.texi (lchown): Likewise.
36837         * tests/test-lchown.h (test_chown): Relax test.
36838
36839         mkstemp: avoid conflict with C++ keyword template
36840         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
36841         * lib/mkostemp.c (mkostemp): Likewise.
36842         * lib/mkostemps.c (mkostemps): Likewise.
36843         * lib/mkstemp.c (mkstemp): Likewise.
36844         * lib/mkstemps.c (mkstemps): Likewise.
36845
36846         xalloc-die-tests: optimize
36847         * tests/test-xalloc-die.sh: Reduce number of processes.
36848
36849 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36850
36851         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
36852         patch from ludo@gnu.org (Ludovic Courtès).
36853
36854 2009-11-17  Jim Meyering  <meyering@redhat.com>
36855
36856         version-etc: use proper license string
36857         * modules/version-etc (License): Use LGPL, not LGPLv3+.
36858         * modules/version-etc-fsf: Likewise.
36859
36860 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36861
36862         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
36863         printed to stdout.  Deal with EOL differences.
36864
36865 2009-11-17  Eric Blake  <ebb9@byu.net>
36866
36867         unsetenv: work around Solaris bug
36868         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
36869         * lib/unsetenv.c (rpl_unsetenv): Work around it.
36870         Reported by Jim Meyering.
36871
36872         vasnprintf: avoid compiler warnings
36873         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
36874         variables.
36875         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
36876
36877 2009-11-17  Simon Josefsson  <simon@josefsson.org>
36878
36879         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
36880         settings since xalloc-die is no longer the self test,
36881         xalloc-die.sh is.
36882
36883 2009-11-17  Jim Meyering  <meyering@redhat.com>
36884
36885         test-xalloc-die.sh: make the code agree with the commit log
36886         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
36887         at the end, just in case you happen to have a test-xalloc-die
36888         program in some other PATH directory.
36889
36890         test-xalloc-die.sh: fix a portability bug
36891         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
36892         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
36893         Otherwise, argv[0] (as often seen in diagnostics) would be too
36894         system-dependent, sometimes with, and sometimes without the leading "./".
36895
36896         version-etc-fsf: relax license to LGPLv3+
36897         * modules/version-etc-fsf (License): Relax license.
36898
36899 2009-11-16  Eric Blake  <ebb9@byu.net>
36900
36901         xalloc-die-tests: avoid printing null pointer
36902         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
36903         shell script.
36904         * tests/test-xalloc-die.c (program_name): Declare.
36905         * tests/test-xalloc-die.sh (tmpfiles): New file.
36906
36907         setenv, unsetenv: work around various bugs
36908         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
36909         (setenv) [HAVE_SETENV]: Work around bugs.
36910         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
36911         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
36912         for bugs.
36913         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
36914         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
36915         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
36916         * modules/stdlib (Makefile.am): Update substitutions.
36917         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
36918         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
36919         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
36920         * modules/setenv-tests: New test.
36921         * modules/unsetenv-tests: Likewise.
36922         * tests/test-setenv.c: New file.
36923         * tests/test-unsetenv.c: Likewise.
36924
36925 2009-11-16  Jim Meyering  <meyering@redhat.com>
36926
36927         version-etc: relax license to LGPLv3+
36928         * modules/version-etc (License): Relax license.
36929
36930         better AC_REQUIRE expanded-before-required-warning avoidance
36931         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
36932         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
36933         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
36934         which is no longer needed.
36935
36936 2009-11-16  Eric Blake  <ebb9@byu.net>
36937
36938         test-freading: clean up temporary file
36939         * tests/test-freading.c (main): Remove file on success, and use
36940         ASSERT more liberally.
36941         Reported by Jim Meyering.
36942
36943 2009-11-16  Jim Meyering  <meyering@redhat.com>
36944
36945         avoid new AC_REQUIRE expanded-before-required warnings
36946         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
36947         merely using it.
36948         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
36949         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
36950
36951 2009-11-15  Simon Josefsson  <simon@josefsson.org>
36952
36953         * tests/test-xalloc-die.c: New file.
36954         * modules/xalloc-die-tests: New file.
36955         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
36956         XFAIL_TESTS so it can be appended by modules.
36957
36958 2009-11-15  Simon Josefsson  <simon@josefsson.org>
36959
36960         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
36961         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
36962
36963 2009-11-14  Eric Blake  <ebb9@byu.net>
36964
36965         fnmatch: avoid compiler warning
36966         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
36967         to silence compiler warning about mismatch signedness in ?:.
36968         Reported by Robert Millan.
36969
36970         intprops: add double-inclusion guard
36971         * lib/intprops.h: Allow idempotent includes.
36972         Suggested by Bruce Korb.
36973
36974         openat: detect Solaris fchownat bug
36975         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
36976         penalizing glibc chownat when only lchownat is broken.
36977         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
36978         trailing slash bugs.
36979         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
36980         * modules/openat-tests (Files): Include more files.
36981         (Depends-on): Add mgetgroups, sleep, stat-time.
36982         (configure.ac): Add additional checks.
36983         (Makefile.am): Build new test.
36984         * tests/test-fchownat.c: New file.
36985
36986         lchown: detect Solaris and FreeBSD bug
36987         * lib/lchown.c (rpl_lchown): Work around bug.
36988         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
36989         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
36990         * modules/unistd (Makefile.am): Populate it.
36991         * lib/unistd.in.h (lchown): Update declaration.
36992         * doc/posix-functions/lchown.texi (lchown): Document the bug.
36993         * modules/lchown-tests: New file.
36994         * tests/test-lchown.h (test_lchown): Likewise.
36995         * tests/test-lchown.c (main): Likewise.
36996
36997         chown: detect Solaris and FreeBSD bug
36998         * lib/chown.c (rpl_chown): Work around bug.
36999         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
37000         (gl_PREREQ_CHOWN): Delete.
37001         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
37002         * modules/unistd (Makefile.am): Populate it.
37003         * lib/unistd.in.h (chown): Update declaration.
37004         * lib/lchown.c (chown): Update client.
37005         * modules/lchown (Depends-on): Add lstat.
37006         * doc/posix-functions/chown.texi (chown): Document the bug.
37007         * doc/posix-functions/getgroups.texi (getgroups): Document
37008         getgroups pitfall.
37009         * modules/chown-tests: New file.
37010         * tests/test-chown.h (test_chown): Likewise.
37011         * tests/test-chown.c (main): Likewise.
37012
37013 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
37014
37015         gnulib-tool: correctly detect absence of m4 directories
37016         * gnulib-tool: Avoid extra newline on data passed to wc -l.
37017
37018 2009-11-14  Jim Meyering  <meyering@redhat.com>
37019
37020         maint.mk: Prohibit inclusion of "xalloc.h" without use.
37021         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37022
37023 2009-11-14  John W. Eaton  <jwe@gnu.org>
37024
37025         strftime.h: wrap funtion declaration in extern "C" block
37026         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
37027
37028 2009-11-13  Eric Blake  <ebb9@byu.net>
37029
37030         getgroups: avoid compiler warning
37031         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
37032
37033         getgroups: work around FreeBSD bug
37034         * lib/getgroups.c (rpl_getgroups): Work around the bug.
37035         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
37036         * doc/posix-functions/getgroups.texi (getgroups): Document it.
37037         * tests/test-getgroups.c (main): Fix buffer overrun.
37038
37039         getgroups: avoid compilation failure
37040         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
37041         * modules/getgroups (Depends-on): Add stdint.
37042
37043 2009-11-13  Jim Meyering  <meyering@redhat.com>
37044
37045         test-getgroups: avoid compilation failure
37046         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
37047
37048 2009-11-13  Eric Blake  <ebb9@byu.net>
37049
37050         mgetgroups: new module, taken from coreutils
37051         * modules/mgetgroups: New file.
37052         * lib/mgetgroups.h: Likewise.
37053         * lib/mgetgroups.c (mgetgroups): Likewise.
37054         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
37055         * MODULES.html.sh (Users and groups): Mention it.
37056
37057         getgroups: don't expose GETGROUPS_T to user
37058         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
37059         an element at a time if GETGROUPS_T is wrong size.
37060         * lib/getugroups.h (getugroups): Change signature.
37061         * lib/unistd.in.h (getgroups): Likewise.
37062         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
37063         signature needs fixing.
37064         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
37065         AC_TYPE_GETGROUPS.
37066         * modules/group-member (Depends-on): Add getgroups.
37067         * lib/group-member.c (group_info, get_group_info): Use gid_t.
37068         (group_member): Rely on getgroups replacement.
37069         * lib/getugroups.c (getugroups): Use gid_t.
37070         * tests/test-getgroups.c (main): Likewise.
37071         * NEWS: Mention the signature change.
37072         * doc/posix-functions/getgroups.texi (getgroups): Mention the
37073         problem with signature.
37074         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
37075         GETGROUPS_T is still useful for setgroups.
37076
37077         getgroups, getugroups: provide stubs for mingw
37078         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
37079         * lib/getugroups.c (getugroups): Likewise.
37080         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
37081         function.  Modernize replacement scheme.
37082         (gl_PREREQ_GETGROUPS): Delete.
37083         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
37084         * modules/getgroups (configure.ac): Declare witness.
37085         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
37086         * modules/unistd (Depends-on): Substitute witness.
37087         * lib/unistd.in.h (getgroups): Declare replacement.
37088
37089         getgroups: avoid calling exit
37090         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
37091         drop xalloc.
37092         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
37093         dependencies.
37094         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
37095         exiting, in the rare case of malloc failure.
37096
37097         getgroups: fix logic error
37098         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
37099         has more than 20 groups.
37100         * modules/getgroups-tests: New test.
37101         * tests/test-getgroups.c: New file.
37102
37103 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37104
37105         * tests/test-base64.c: Improve.
37106
37107 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37108
37109         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
37110         Blake <ebb9@byu.net>.
37111
37112 2009-11-13  Simon Josefsson  <simon@josefsson.org>
37113
37114         * tests/test-xvasprintf.c: Add %s%s related checks.
37115
37116 2009-11-12  Eric Blake  <ebb9@byu.net>
37117
37118         version-etc: match standards.texi style
37119         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
37120         and use <> only for URLs.
37121
37122 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
37123
37124         fts: do not fail on a submount during traversal
37125         * lib/fts.c (fts_build): Read the stat info again after opening
37126         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
37127         Original report at http://bugzilla.redhat.com/501848.
37128
37129 2009-11-12  Jim Meyering  <meyering@redhat.com>
37130
37131         bootstrap: sync from coreutils
37132         * build-aux/bootstrap (bootstrap_epilogue): New function.
37133         Use git_modules_config in one more place.  This make bootstrap's
37134         --gnulib-srcdir option more useful for testing.
37135
37136         bootstrap: generalize autoheader check
37137         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
37138         AC_CONFIG_HEADERS.
37139
37140 2009-11-11  Eric Blake  <ebb9@byu.net>
37141
37142         mkfifoat: use new modules for Solaris and BSD bugs
37143         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
37144         * lib/mkfifoat.c (mknodat): Split...
37145         * lib/mknodat.c (mknodat): ...into new file.
37146         * modules/mkfifoat (Files): Ship new file.
37147         (Depends-on): Add mkfifo, mknod.
37148         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
37149         (Depends-on): Add symlink.
37150         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
37151         redundant with test_mkfifo.h.
37152         (do_mkfifoat, do_mknodat): New helpers.
37153
37154         mknod: new module
37155         * modules/mknod: New file.
37156         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
37157         * lib/mknod.c (mknod): Likewise.
37158         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37159         defaults.
37160         * modules/sys_stat (Makefile.am): Substitute them.
37161         * lib/sys_stat.in.h (mknod): Declare replacement.
37162         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37163         Document it.
37164         * doc/posix-functions/mknod.texi (mknod): Likewise.
37165         * modules/mknod-tests: New test.
37166         * tests/test-mknod.c: Likewise.
37167
37168         mkfifo: new module
37169         * modules/mkfifo: New file.
37170         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
37171         * lib/mkfifo.c (mkfifo): Likewise.
37172         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
37173         defaults.
37174         * modules/sys_stat (Makefile.am): Substitute them.
37175         * lib/sys_stat.in.h (mkfifo): Declare replacement.
37176         * MODULES.html.sh (Support for systems lacking POSIX:2008):
37177         Document it.
37178         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
37179         * modules/mkfifo-tests: New test.
37180         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
37181         from test-mkfifoat.c.
37182         * tests/test-mkfifo.c: New file.
37183
37184         readlink: detect FreeBSD bug
37185         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
37186         slash on symlink.
37187         * doc/posix-functions/readlink.texi (readlink): Document the bug.
37188         * tests/test-readlink.h (test_readlink): Enhance test.
37189
37190         symlink: detect FreeBSD bug
37191         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
37192         slash on symlink.
37193         * doc/posix-functions/symlink.texi (symlink): Document the bug.
37194         * tests/test-symlink.h (test_symlink): Enhance test.
37195
37196 2009-11-10  Eric Blake  <ebb9@byu.net>
37197
37198         link: detect FreeBSD bug
37199         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
37200         symlink.
37201         * doc/posix-functions/link.texi (link): Document the bug.
37202         * tests/test-link.h (test_link): Enhance test.
37203         * tests/test-linkat.c (main): Update caller.
37204
37205         unlink, remove: detect FreeBSD bug
37206         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
37207         slash on symlink.
37208         * doc/posix-functions/unlink.texi (unlink): Document the bug.
37209         * doc/posix-functions/remove.texi (remove): Likewise.
37210         * tests/test-unlink.h (test_unlink): Enhance test.
37211         * tests/test-remove.c (main): Likewise.
37212
37213 2009-11-09  Eric Blake  <ebb9@byu.net>
37214
37215         rename: detect FreeBSD bug
37216         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
37217         slash on symlink.
37218         * modules/renameat-tests (Depends-on): Add filenamecat.
37219         * tests/test-rename.h (test_rename): Allow one more errno.
37220         * tests/test-renameat.c (main): Likewise.
37221         * doc/posix-functions/rename.texi (rename): Document the bug.
37222
37223         open: detect FreeBSD bug
37224         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
37225         symlink.
37226         * doc/posix-functions/open.texi (open): Document the bug.
37227         * doc/posix-functions/utimes.texi (utimes): Likewise.
37228         * tests/test-open.h (test_open): Add parameters, and test symlink
37229         handling.
37230         * tests/test-open.c (main): Adjust caller.
37231         * tests/test-fcntl-safer.c (main): Likewise.
37232         * modules/open-tests (Depends-on): Add stdbool, symlink.
37233         * modules/fcntl-safer-tests (Depends-on): Likewise.
37234         * tests/test-openat.c (main): Add test-open tests.
37235
37236         stat: detect FreeBSD bug
37237         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
37238         symlink.
37239         * doc/posix-functions/stat.texi (stat): Document the bug.
37240         * tests/test-stat.h (test_stat_func): Add argument.
37241         * tests/test-stat.c (main): Adjust caller.
37242         * tests/test-fstatat.c (main): Likewise.
37243         * modules/stat-tests (Depends-on): Add stdbool, symlink.
37244         Reported by Jim Meyering.
37245
37246 2009-11-09  James Youngman  <jay@gnu.org>
37247
37248         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
37249         * lib/strftime.c: Correct placement of #include "ignore-value.h".
37250
37251 2009-11-08  Jim Meyering  <meyering@redhat.com>
37252
37253         utimens: remove invalid futimesat call
37254         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
37255         It used the file descriptor of the target file as the DIR_FD
37256         parameter and NULL as the file name.  That caused failure with
37257         errno == EFAULT on FreeBSD-8.0-rc2
37258
37259 2009-11-07  Eric Blake  <ebb9@byu.net>
37260
37261         fflush, freadseek: use fseeko, not fseek
37262         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
37263         (clear_ungetc_buffer): Avoid potential problems on large files.
37264         * lib/freadseek.c (freadseek): Likewise.
37265         * modules/freadseek (Depends-on): Add fseeko.
37266         * modules/fseek (configure.ac): Set a witness.
37267         * tests/test-fflush.c (main): Use fseeko.
37268         * tests/test-fpurge.c (fseek): Disable link warning.
37269         * tests/test-freadable.c (fseek): Likewise.
37270         * tests/test-freading.c (fseek): Likewise.
37271         * tests/test-fseeko.c (fseek): Likewise.
37272         * tests/test-ftell.c (fseek): Likewise.
37273         * tests/test-ftello.c (fseek): Likewise.
37274         * tests/test-fwritable.c (fseek): Likewise.
37275         * tests/test-fwriting.c (fseek): Likewise.
37276
37277 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37278
37279         * modules/memchr (Depends-on): Drop getpagesize dependency.
37280
37281 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37282
37283         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
37284         Reported by Ludovic Courtès.
37285         * build-aux/pmccabe2html: Improve example usage.
37286         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
37287
37288 2009-11-06  Jim Meyering  <meyering@redhat.com>
37289
37290         do-release-commit-and-tag: New module.
37291         Automate the release-commit and tag process.
37292         * build-aux/do-release-commit-and-tag: New script, from coreutils.
37293         * modules/do-release-commit-and-tag: New file.
37294         * MODULES.html.sh (Support for maintaining and releasing): Add it.
37295
37296 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37297
37298         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
37299         because test-select.c uses inet_pton.
37300
37301 2009-11-06  Simon Josefsson  <simon@josefsson.org>
37302
37303         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
37304         GETADDRINFO_LIB.  Bump serial number.
37305         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
37306         Suggested by Eric Blake <ebb9@byu.net>.
37307
37308 2009-11-05  Eric Blake  <ebb9@byu.net>
37309
37310         strtod: detect darwin bug
37311         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
37312         Reported by Leo Davis.
37313
37314         freopen-safer: new module
37315         * modules/freopen-safer: New module.
37316         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
37317         * lib/freopen-safer.c (freopen_safer): New file.
37318         * lib/stdio-safer.h (freopen_safer): New declaration.
37319         * lib/stdio--.h (freopen): New override.
37320         * MODULES.html.sh (File stream based Input/Output): Mention it.
37321         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
37322         freopen-safer module.
37323         * doc/posix-functions/stderr.texi (stderr): Likewise.
37324         * doc/posix-functions/stdin.texi (stdin): Likewise.
37325         * doc/posix-functions/stdout.texi (stdout): Likewise.
37326         * modules/freopen-safer-tests: New test.
37327         * tests/test-reopen-safer.c: New file.
37328
37329 2009-11-05  Jim Meyering  <meyering@redhat.com>
37330
37331         maint.mk: Prohibit inclusion of "close-stream.h" without use.
37332         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
37333
37334 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37335
37336         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
37337
37338 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37339
37340         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
37341
37342 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37343
37344         Fix link error.
37345         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37346         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37347
37348 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37349
37350         * tests/test-func.c: Also test value of __func__.
37351
37352 2009-11-05  Simon Josefsson  <simon@josefsson.org>
37353
37354         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
37355         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
37356
37357 2009-11-05  Bruno Haible  <bruno@clisp.org>
37358
37359         Fix link error.
37360         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
37361         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
37362         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
37363
37364 2009-11-05  Bruno Haible  <bruno@clisp.org>
37365
37366         Tests for module 'inet_pton'.
37367         * modules/inet_pton-tests: New file.
37368         * tests/test-inet_pton.c: New file.
37369
37370 2009-11-05  Bruno Haible  <bruno@clisp.org>
37371
37372         Tests for module 'inet_ntop'.
37373         * modules/inet_ntop-tests: New file.
37374         * tests/test-inet_ntop.c: New file.
37375
37376 2009-11-04  Eric Blake  <ebb9@byu.net>
37377
37378         stdlib-safer: wrap all mkstemp variants
37379         * modules/mkostemp (configure.ac): Set witness.
37380         * modules/mkostemps (configure.ac): Likewise.
37381         * modules/mkstemps (configure.ac): Likewise.
37382         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
37383         (mkstemps_safer): Wrap more functions.
37384         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
37385         wrapping.
37386         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
37387         (mkstemps_safer): Implement the wrappers.
37388
37389         mkstemps, mkostemps: new modules
37390         * modules/mkostemps: New module.
37391         * modules/mkstemps: Likewise.
37392         * lib/mkostemps.c (mkostemps): New file.
37393         * lib/mkstemps.c (mkstemps): Likewise.
37394         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
37395         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
37396         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
37397         * modules/stdlib (Makefile.am): Substitute them.
37398         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
37399         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
37400         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
37401         * doc/gnulib.texi (Glibc stdlib.h): Include them.
37402         * MODULES.html.sh (File system functions): Mention them.
37403
37404         tempname: resync from glibc
37405         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
37406         same values for __GT_FILE as glibc.  Abort even when assertions
37407         are disabled.
37408         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
37409         match its value otherwise.  Allow idempotent inclusion.
37410         * lib/mkdtemp.c (mkdtemp): Adjust caller.
37411         * lib/mkostemp.c (mkostemp): Likewise.
37412         * lib/mkstemp.c (mkstemp): Likewise.
37413         * lib/tmpfile.c (tmpfile): Likewise.
37414         * NEWS: Document this.
37415
37416         utimens: fix use of futimens on older Linux
37417         * lib/utimens.c (fdutimens): Use updated, rather than original,
37418         timespec to avoid bug in older Linux kernel.
37419         Reported by Simon Josefsson.
37420
37421 2009-11-04  Bruno Haible  <bruno@clisp.org>
37422
37423         Make num_processors more flexible and consistent.
37424         * lib/nproc.h (enum nproc_query): New type.
37425         (num_processors): Add a 'query' argument.
37426         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
37427         (num_processors): Add a 'query' argument. Test the value of the
37428         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
37429         mingw, count the number of CPUs available for the current process.
37430         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
37431         Check for sched_getaffinity and sched_getaffinity_np.
37432         * modules/nproc (Depends-on): Add c-ctype, extensions.
37433         * NEWS: Mention the change.
37434
37435 2009-11-03  Bruno Haible  <bruno@clisp.org>
37436
37437         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
37438
37439 2009-11-03  Jim Meyering  <meyering@redhat.com>
37440
37441         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
37442         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
37443         if it is defined.
37444
37445 2009-11-02  Eric Blake  <ebb9@byu.net>
37446
37447         mktime, timegm: share common declaration
37448         * lib/mktime-internal.h: New file.
37449         * lib/mktime.c: Use it rather than open-coding a declaration.
37450         * lib/timegm.c: Likewise.
37451         * modules/mktime (Files): Ship it.
37452         * modules/timegm (Files): Likewise.
37453         Suggested by Bruno Haible.
37454
37455         test-update-copyright: update test to match script changes
37456         * tests/test-update-copyright.sh: Avoid hard-coding perl
37457         location.  Don't update *.bak created by earlier runs.
37458
37459 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
37460             Simon Josefsson  <simon@josefsson.org>
37461             Bruno Haible  <bruno@clisp.org>
37462
37463         Fix link error on Solaris 8.
37464         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
37465         also in libnsl. Define also INET_PTON_LIB.
37466         * modules/inet_pton (Link): New section.
37467
37468 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37469             Bruno Haible  <bruno@clisp.org>
37470
37471         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
37472         * modules/inet_ntop (Link): New section.
37473         Reported by Boyan Kasarov <bkasarov@gmail.com>.
37474
37475 2009-11-02  Eric Blake  <ebb9@byu.net>
37476
37477         maint: avoid compiler warnings in m4 macros
37478         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
37479         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
37480
37481 2009-11-02  Simon Josefsson  <simon@josefsson.org>
37482
37483         * m4/pmccabe2html.m4: Remove file.
37484         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
37485         function.  Change maintainer.
37486         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
37487         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
37488         Courtès).
37489
37490 2009-10-31  Eric Blake  <ebb9@byu.net>
37491
37492         fseeko: fix m4 regression
37493         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
37494         regression from 2009-10-27.
37495         Reported by Ralf Wildenhues.
37496
37497 2009-10-31  Jim Meyering  <meyering@redhat.com>
37498
37499         inttostr: aesthetics and improved (compile-time) safety
37500         Define inttype_is_signed rather than inttype_is_unsigned,
37501         since the sole use is via "#if inttype_is_signed".
37502         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
37503         inttype_is_unsigned.
37504         * lib/offtostr.c (inttype_is_signed): Likewise.
37505         * lib/uinttostr.c (inttype_is_signed): Likewise.
37506         * lib/umaxtostr.c (inttype_is_signed): Likewise.
37507         * lib/inttostr.c (inttostr): Use verify to cross-check the
37508         inttype_is_signed value and the signedness of the actual type.
37509         * modules/inttostr (Depends-on): Add verify.
37510
37511 2009-10-30  Eric Blake  <ebb9@byu.net>
37512
37513         build: avoid compiler warnings
37514         * lib/fchmodat.c (lchmod): Mark unused variables.
37515         * lib/getopt.c (_getopt_initialize): Likewise.
37516         * lib/mktime.c (__mktime_internal): Provide prototype.
37517         * lib/inttostr.c (inttostr): Avoid compiler warning even with
37518         older gcc that do not understand #pragma GCC diagnostic.
37519         * lib/uinttostr.c (inttype_is_unsigned): Define.
37520         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
37521
37522 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
37523
37524         stat: fix compilation on AIX
37525         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
37526         only see struct stat64.
37527
37528 2009-10-30  Eric Blake  <ebb9@byu.net>
37529
37530         exclude: make more robust
37531         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
37532         rather than masking a coding bug.
37533         Suggested by Bruno Haible.
37534
37535 2009-10-30  Jim Meyering  <meyering@redhat.com>
37536
37537         perl scripts: remove #!/usr/bin/perl in favor of more portable...
37538         Rather than putting #!/usr/bin/perl on the first line,
37539         start with a variant of what's recommended by "man perlrun" that
37540         invokes the first "perl" program from your shell's search path.
37541         * build-aux/gitlog-to-changelog: Replace #!... as above.
37542         Add a "Local Variables" perl mode setting.
37543         Prompted by a patch from Ludovic Courtès.
37544         Improved by Eric Blake.
37545         * build-aux/useless-if-before-free: Likewise.
37546         * build-aux/announce-gen: Likewise.
37547         * build-aux/update-copyright: Likewise.
37548
37549 2009-10-29  Eric Blake  <ebb9@byu.net>
37550
37551         filenamecat-lgpl: adjust clients
37552         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
37553         filenamecat.
37554         * modules/renameat (Depends-on): Likewise.
37555
37556         filenamecat: split into filenamecat-lgpl
37557         * modules/filenamecat-lgpl: New module.
37558         * modules/filenamecat (Files): Move library-safe files into
37559         filenamecat-lgpl.
37560         (Depends-on): Add filenamecat-lgpl.
37561         (configure.ac): Declare witness.
37562         * lib/filenamecat.h (file_name_concat): Only declare when using
37563         GPL module.
37564         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
37565         Move...
37566         * lib/filenamecat-lgpl.c: ...into new file.
37567         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
37568         (gl_FILE_NAME_CONCAT): Use it.
37569         * MODULES.html.sh (File system functions): Mention new module.
37570
37571         argp: avoid memory leak
37572         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
37573         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
37574         base_name, since the latter malloc()s and can call exit().
37575         Leak introduced 2006-07-03.
37576
37577         dirname-lgpl: adjust clients that don't need full dirname
37578         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
37579         * modules/filenamecat (Depends-on): Likewise.
37580         * modules/linkat (Depends-on): Likewise.
37581         * modules/mkancesdirs (Depends-on): Likewise.
37582         * modules/mkdir (Depends-on): Likewise.
37583         * modules/openat (Depends-on): Likewise.
37584         * modules/savewd (Depends-on): Likewise.
37585         * modules/rename (Depends-on): Likewise.
37586         (License): Relax license.
37587         * modules/mkdir-tests (Depends-on): Drop progname.
37588         (Makefile.am): Delete unneeded LDADD.
37589         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
37590
37591         dirname: split into dirname-lgpl
37592         * modules/dirname-lgpl: New module.
37593         * modules/dirname (Files): Move library-safe files into
37594         dirname-lgpl.
37595         (Depends-on): Add dirname-lgpl.
37596         (configure.ac): Declare witness.
37597         * modules/double-slash-root (License): Relax license.
37598         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
37599         module.
37600         * lib/dirname.c (dir_len, mdir_name): Move...
37601         * lib/dirname-lgpl.c: ...into new file.
37602         * lib/basename.c (last_component, base_len): Move...
37603         * lib/basename-lgpl.c: ...into new file.
37604         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
37605         (gl_DIRNAME): Use it.
37606         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
37607         Mention new module.
37608         * modules/dirname-tests (Depends-on): Add progname.
37609         * tests/test-dirname.c (program_name): Delete.
37610
37611         mkdir: make safe for libraries
37612         * modules/mkdir (Depends-on): Drop xalloc.
37613         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
37614         exit.
37615
37616         tests: avoid some compiler warnings
37617         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
37618         literals.
37619         * tests/test-memchr.c (main): Avoid type mismatch.
37620         * tests/test-arpa_inet.c (main): Avoid unused parameters.
37621         * tests/test-base64.c (main): Likewise.
37622         * tests/test-getdelim.c (main): Likewise.
37623         * tests/test-gethostname.c (main): Likewise.
37624         * tests/test-getline.c (main): Likewise.
37625         * tests/test-netinet_in.c (main): Likewise.
37626         * tests/test-select.c (open_server_socket, main): Likewise.
37627         * tests/test-select-stdin.c (main): Likewise.
37628         * tests/test-sockets.c (main): Likewise.
37629         * tests/test-strsignal.c (main): Likewise.
37630         * tests/test-sys_select.c (main): Likewise.
37631         * tests/test-sys_socket.c (main): Likewise.
37632         * tests/test-u64.c (main): Likewise.
37633         * tests/test-xfprintf-posix.c (main): Likewise.
37634         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
37635
37636         sockets: avoid compiler warning
37637         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
37638
37639         maint: detect usage(1) and other suspicious exits
37640         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
37641
37642 2009-10-29  Jim Meyering  <meyering@redhat.com>
37643
37644         timespec: long-to-int truncation could make timespec_cmp malfunction
37645         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
37646         a multiple of 2^32 nanoseconds as no difference.
37647
37648 2009-10-28  Jim Meyering  <meyering@redhat.com>
37649
37650         fprintftime: wrap macro code argument in "do {...} while(0)"
37651         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
37652         cpy macro must be a statement that can be followed by a semicolon.
37653         Now that the else clause contains a comment and is hence longer
37654         than one line, I require curly braces.  That in turn requires
37655         that we wrap this code block in the standard do...while(0).
37656
37657         fprintftime: remove stray semicolon from previous change
37658         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
37659
37660         fprintftime: avoid a warning about ignored fwrite return value
37661         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
37662         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
37663         that is unsafe.
37664         * modules/fprintftime (Depends-on): Add ignore-value.
37665
37666         exclude: avoid an unwarranted warning
37667         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
37668
37669 2009-10-27  Eric Blake  <ebb9@byu.net>
37670
37671         fseek: avoid compilation failure when fflush is replaced
37672         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
37673         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
37674         module is in use.
37675         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
37676         module is not in use; since REPLACE_FSEEK worked otherwise.
37677         (GNULIB_FTELLO): Likewise for ftell.
37678         Reported by Ian Beckwith and others.
37679
37680 2009-10-27  Bruno Haible  <bruno@clisp.org>
37681
37682         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
37683         Reported by Jim Meyering.
37684
37685 2009-10-27  Jim Meyering  <jim@meyering.net>
37686             Bruno Haible  <bruno@clisp.org>
37687
37688         Avoid warning despite dropping the return value of fwrite.
37689         * lib/unicodeio.c: Include ignore-value.h.
37690         (fwrite_success_callback): Explicitly ignore fwrite's return value.
37691         * modules/unicodeio (Depends-on): Add ignore-value.
37692
37693 2009-10-26  Eric Blake  <ebb9@byu.net>
37694
37695         areadlinkat: fix fallback path
37696         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
37697         pointer and zero.
37698
37699 2009-10-22  Pádraig Brady  <P@draigBrady.com>
37700
37701         Use a better IO block size for modern systems
37702         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
37703         * lib/md2.c: Likewise.
37704         * lib/md4.c: Likewise.
37705         * lib/md5.c: Likewise.
37706         * lib/sha1.c: Likewise.
37707         * lib/sha256.c: Likewise.
37708         * lib/sha512.c: Likewise.
37709
37710 2009-10-22  Eric Blake  <ebb9@byu.net>
37711
37712         tests: avoid several compiler warnings
37713         * tests/test-getcwd.c (main): Avoid buffer underflow.
37714         * tests/test-getdate.c (main): String literals are not safe with
37715         putenv, so use setenv.  Declare unused argument.
37716         * modules/getdate-tests (Depends-on): Add setenv.
37717         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
37718         problems with string literals in char *.
37719         * tests/test-hash.c (main): Avoid shadowing declaration.
37720         (insert_new): Treat string literals as char const *.
37721         * tests/test-getopt.h (test_getopt): Likewise.
37722         (getopt_loop): Alter types to minimize casting elsewhere.
37723         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
37724         (test_getopt_long_posix): Likewise.
37725         (do_getopt_long): Add wrapper to minimize casting.
37726         * tests/test-atexit.c (clear_temp_file): Use void.
37727         * tests/test-areadlink-with-size.c (main): Declare unused
37728         arguments.
37729         * tests/test-areadlink.c (main): Likewise.
37730         * tests/test-areadlinkat-with-size.c (main): Likewise.
37731         * tests/test-areadlinkat.c (main): Likewise.
37732         * tests/test-canonicalize-lgpl.c (main): Likewise.
37733         * tests/test-canonicalize.c (main): Likewise.
37734         * tests/test-dirent-safer.c (main): Likewise.
37735         * tests/test-dirname.c (main): Likewise.
37736         * tests/test-dup2.c (main): Likewise.
37737         * tests/test-fchdir.c (main): Likewise.
37738         * tests/test-fcntl-h.c (main): Likewise.
37739         * tests/test-fcntl-safer.c (main): Likewise.
37740         * tests/test-fdopendir.c (main): Likewise.
37741         * tests/test-fdutimensat.c (main): Likewise.
37742         * tests/test-fflush.c (main): Likewise.
37743         * tests/test-filenamecat.c (main): Likewise.
37744         * tests/test-filevercmp.c (main): Likewise.
37745         * tests/test-fopen-safer.c (main): Likewise.
37746         * tests/test-fopen.c (main): Likewise.
37747         * tests/test-fpending.c (main): Likewise.
37748         * tests/test-fpurge.c (main): Likewise.
37749         * tests/test-freading.c (main): Likewise.
37750         * tests/test-fstatat.c (main): Likewise.
37751         * tests/test-fsync.c (main): Likewise.
37752         * tests/test-futimens.c (main): Likewise.
37753         * tests/test-getndelim2.c (main): Likewise.
37754         * tests/test-gettimeofday.c (main): Likewise.
37755         * tests/test-getopt.c (main): Likewise.
37756         * tests/test-i-ring.c (main): Likewise.
37757         * tests/test-inttypes.c (main): Likewise.
37758         * tests/test-link.c (main): Likewise.
37759         * tests/test-lstat.c (main): Likewise.
37760         * tests/test-math.c (main): Likewise.
37761         * tests/test-md5.c (main): Likewise.
37762         * tests/test-memchr2.c (main): Likewise.
37763         * tests/test-memrchr.c (main): Likewise.
37764         * tests/test-mkdir.c (main): Likewise.
37765         * tests/test-mkdirat.c (main): Likewise.
37766         * tests/test-mkfifoat.c (main): Likewise.
37767         * tests/test-open.c (main): Likewise.
37768         * tests/test-openat-safer.c (main): Likewise.
37769         * tests/test-openat.c (main): Likewise.
37770         * tests/test-quotearg.c (main): Likewise.
37771         * tests/test-rawmemchr.c (main): Likewise.
37772         * tests/test-readlink.c (main): Likewise.
37773         * tests/test-remove.c (main): Likewise.
37774         * tests/test-rename.c (main): Likewise.
37775         * tests/test-renameat.c (main): Likewise.
37776         * tests/test-rmdir.c (main): Likewise.
37777         * tests/test-sha1.c (main): Likewise.
37778         * tests/test-signal.c (main): Likewise.
37779         * tests/test-sigaction.c (main): Likewise.
37780         * tests/test-stat.c (main): Likewise.
37781         * tests/test-stat-time.c (main): Likewise.
37782         * tests/test-stddef.c (main): Likewise.
37783         * tests/test-stdint.c (main): Likewise.
37784         * tests/test-stdio.c (main): Likewise.
37785         * tests/test-stdlib.c (main): Likewise.
37786         * tests/test-strchrnul.c (main): Likewise.
37787         * tests/test-strerror.c (main): Likewise.
37788         * tests/test-string.c (main): Likewise.
37789         * tests/test-strtod.c (main): Likewise.
37790         * tests/test-strverscmp.c (main): Likewise.
37791         * tests/test-symlink.c (main): Likewise.
37792         * tests/test-symlinkat.c (main): Likewise.
37793         * tests/test-sys_stat.c (main): Likewise.
37794         * tests/test-sys_time.c (main): Likewise.
37795         * tests/test-time.c (main): Likewise.
37796         * tests/test-unistd.c (main): Likewise.
37797         * tests/test-unlink.c (main): Likewise.
37798         * tests/test-unlinkat.c (main): Likewise.
37799         * tests/test-utimens.c (main): Likewise.
37800         * tests/test-utimensat.c (main): Likewise.
37801         * tests/test-version-etc.c (main): Likewise.
37802         * tests/test-wchar.c (main): Likewise.
37803         * tests/test-wctype.c (main): Likewise.
37804         * tests/test-xprintf-posix.c (main): Likewise.
37805         * tests/test-posixtm.c (main): Likewise.
37806         (STREQ): Delete unused macro.
37807         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
37808         shadowed variables.
37809         * tests/test-memchr.c (main): Likewise.
37810
37811 2009-10-21  Eric Blake  <ebb9@byu.net>
37812
37813         areadlinkat: avoid failure on older glibc
37814         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
37815         rather than mis-comparing 0 against FUNC_RESULT of char*.
37816
37817 2009-10-21  Bruno Haible  <bruno@clisp.org>
37818
37819         * modules/stpncpy (License): Relicense under LGPLv2+.
37820         Reported by David Lutterkort <lutter@redhat.com>.
37821
37822 2009-10-20  Eric Blake  <ebb9@byu.net>
37823
37824         utimensat: work around Solaris 9 bug
37825         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
37826         has trailing slash bugs.
37827         * tests/test-lutimens.h (test_lutimens): Enhance test.
37828         * tests/test-utimens.h (test_utimens): Likewise.
37829         * doc/posix-functions/utime.texi (utime): Enhance documentation.
37830         * doc/posix-functions/utimes.texi (utimes): Likewise.
37831         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37832         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
37833         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
37834         * doc/posix-functions/futimens.texi (futimens): Likewise.
37835
37836         fdutimensat: new module
37837         * modules/fdutimensat: New file.
37838         * lib/fdutimensat.c (fdutimensat): Likewise.
37839         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
37840         * MODULES.html.sh (File system functions): Mention module.
37841         * modules/fdutimensat-tests: New test.
37842         * tests/test-fdutimensat.c: Likewise.
37843
37844         doc: regenerate INSTALL
37845         * doc/INSTALL: Reflect recent autoconf update.
37846         * doc/INSTALL.ISO: Likewise.
37847         * doc/INSTALL.UTF-8: Likewise.
37848
37849 2009-10-20  Pádraig Brady  <P@draigBrady.com>
37850
37851         acl: warn if ACL support is not detected
37852         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
37853
37854 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
37855
37856         * lib/nproc.h: Add extern "C" block for C++.
37857
37858 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
37859             Bruno Haible  <bruno@clisp.org>
37860
37861         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
37862         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
37863         * doc/posix-functions/isalpha.texi: Likewise.
37864         * doc/posix-functions/isblank.texi: Likewise.
37865         * doc/posix-functions/iscntrl.texi: Likewise.
37866         * doc/posix-functions/isdigit.texi: Likewise.
37867         * doc/posix-functions/isgraph.texi: Likewise.
37868         * doc/posix-functions/islower.texi: Likewise.
37869         * doc/posix-functions/isprint.texi: Likewise.
37870         * doc/posix-functions/ispunct.texi: Likewise.
37871         * doc/posix-functions/isspace.texi: Likewise.
37872         * doc/posix-functions/isupper.texi: Likewise.
37873         * doc/posix-functions/isxdigit.texi: Likewise.
37874
37875 2009-10-18  Bruno Haible  <bruno@clisp.org>
37876
37877         Tests for module 'isblank'.
37878         * modules/isblank-tests: New file.
37879         * tests/test-isblank.c: New file.
37880
37881         New module 'isblank'.
37882         * lib/isblank.c: New file.
37883         * m4/isblank.m4: New file.
37884         * modules/isblank: New file.
37885         * doc/posix-functions/isblank.texi: Mention the new module.
37886
37887 2009-10-18  Bruno Haible  <bruno@clisp.org>
37888
37889         New module 'ctype'.
37890         * lib/ctype.in.h: New file.
37891         * m4/ctype.m4: New file.
37892         * modules/ctype: New file.
37893         * doc/posix-headers/ctype.texi: Mention the new module.
37894
37895 2009-10-18  Jim Meyering  <meyering@redhat.com>
37896
37897         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
37898         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
37899         right after its initialization, rather than farther down.
37900         Keeping these in close proximity makes it easier to ensure
37901         that each such variable is initialized.  E.g.,
37902
37903             LIB_CLOCK_GETTIME=
37904             AC_SUBST([LIB_CLOCK_GETTIME])
37905
37906         This change also increments these serial numbers.
37907         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
37908         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
37909         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
37910
37911 2009-10-18  Bruno Haible  <bruno@clisp.org>
37912
37913         Don't let environment variables perturb build.
37914         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
37915         (gl_PREREQ_GETHRXTIME): ... not here.
37916
37917 2009-10-18  Bruno Haible  <bruno@clisp.org>
37918
37919         Avoid symlink attack in localcharset module.
37920         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
37921         (O_NOFOLLOW): Define fallback.
37922         (get_charset_aliases): Don't open the file if it is a symbolic link.
37923         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
37924         gl_FCNTL_H.
37925         (gl_FCNTL_H): Require it.
37926         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
37927         * modules/localcharset (Files): Add m4/fcntl_h.m4.
37928         Reported by Fergal Glynn <fglynn@veracode.com>.
37929
37930 2009-10-18  Bruno Haible  <bruno@clisp.org>
37931
37932         Implement nproc for mingw.
37933         * lib/nproc.c: Include <windows.h>
37934         (num_processors): On native Windows platforms, try GetSystemInfo.
37935
37936 2009-10-18  Bruno Haible  <bruno@clisp.org>
37937
37938         Implement nproc for IRIX.
37939         * lib/nproc.c: Include <sys/sysmp.h>.
37940         (num_processors): On IRIX systems, try sysmp.
37941         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
37942
37943 2009-10-18  Bruno Haible  <bruno@clisp.org>
37944
37945         Implement nproc for HP-UX.
37946         * lib/nproc.c: Include <sys/pstat.h>
37947         (num_processors): On HP-UX systems, try pstat_getdynamic.
37948         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
37949         pstat_getdynamic.
37950
37951 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
37952             Bruno Haible  <bruno@clisp.org>
37953
37954         Implement nproc for NetBSD, OpenBSD.
37955         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
37956         (ARRAY_SIZE): New macro.
37957         (num_processors): On BSD systems, try sysctl of HW_NCPU.
37958         * m4/nproc.m4: New file.
37959         * modules/nproc (Files): Add m4/nproc.m4.
37960         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
37961         (Makefile.am): Instead, augment lib_SOURCES.
37962
37963 2009-10-18  Bruno Haible  <bruno@clisp.org>
37964
37965         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
37966         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
37967         sys/param.h.
37968
37969 2009-10-16  Eric Blake  <ebb9@byu.net>
37970
37971         utimensat: new module
37972         * modules/utimensat: New file.
37973         * lib/utimensat.c (utimensat): Likewise.
37974         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
37975         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
37976         so we can work around Linux bugs.
37977         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
37978         * modules/sys_stat (Makefile.am): Substitute them.
37979         * lib/sys_stat.in.h (utimensat): Declare it.
37980         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
37981         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
37982         * modules/utimensat-tests: New test.
37983         * tests/test-utimensat.c: Likewise.
37984
37985         utimens: let lutimens work on non-symlinks
37986         * lib/utimens.c (lutimens): Fall back to utimens rather than
37987         failing with ENOSYS, when file is not a symlink.
37988         (utimens): Reduce redirection.
37989         * tests/test-lutimens.h (test_lutimens): Update test to cover
37990         non-symlinks.
37991         * tests/test-utimens.h (test_utimens): Update test to cover
37992         symlinks.
37993         * tests/test-utimens.c (main): Update caller.
37994
37995         utimens: cache whether utimensat syscall works
37996         * lib/utimens.c (utimensat_works_really): New cache variable.
37997         (fdutimens, lutimens): Use it to avoid failing syscall.
37998
37999         test-stat-time, test-utimens: improve portability
38000         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
38001         ext4 on alpha, and for cygwin.
38002         * tests/test-utimens-common.h: New file.
38003         (nap): Factor delays into single function.
38004         * tests/test-lutimens.h (test_lutimens): Use new header.
38005         * tests/test-futimens.h (test_futimens): Likewise.
38006         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
38007         timestamps to occur from same machine, as was done previously for
38008         test_utimens.
38009         * modules/utimens-tests (Files): Ship new file.
38010         * modules/futimens-tests (Files): Likewise.
38011         Reported in part by Jim Meyering.
38012
38013         sys_stat: sort replacement declarations
38014         * lib/sys_stat.in.h: Sort declarations.
38015         * lib/futimens.c (futimens): Fix typo.
38016
38017 2009-10-15  Jim Meyering  <meyering@redhat.com>
38018
38019         don't let environment settings perturb build
38020         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
38021         could cause a configure-time and/or build-time malfunction.
38022         Typically, a configure-time function-in-library test is performed
38023         via code like this:
38024
38025           LIB_VAR=
38026           AC_SUBST([LIB_VAR])
38027           prefix_saved_LIBS=$LIBS
38028             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
38029                        [test "$ac_cv_search_FUNC" = "none required" ||
38030                         LIB_VAR=$ac_cv_search_FUNC])
38031           LIBS=$prefix_saved_LIBS
38032
38033         However, in each of the files affected by this change, the LIB_VAR=
38034         initialization was omitted.  Thus, when set in the environment, its
38035         value would propagate into generated Makefiles when FUNC is not found
38036         in LIB_NAME.
38037         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
38038         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
38039         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
38040
38041 2009-10-14  Eric Blake  <ebb9@byu.net>
38042
38043         fchdir: avoid infinite recursion in mingw
38044         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
38045         recursing.
38046
38047         test-stat-time: port to mingw
38048         * tests/test-stat-time.c (force_unlink): Return a value.
38049         (test_ctime) [W32]: Fix compilation error.
38050         (nap): Don't call usleep with too large an argument.  Use
38051         force_unlink.
38052         * doc/pastposix-functions/usleep.texi (usleep): Document the
38053         portability issue.
38054
38055 2009-10-13  Jim Meyering  <meyering@redhat.com>
38056
38057         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
38058         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
38059         * modules/pipe-filter-ii: Likewise.
38060         * modules/sys_socket-tests: Likewise.
38061         * modules/tsearch-tests: Likewise.
38062         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
38063         (check): Depend on it.
38064
38065 2009-10-12  Eric Blake  <ebb9@byu.net>
38066
38067         utimens-tests: port to NFS file systems
38068         * tests/test-utimens.h (test_utimens): Refactor utimecmp
38069         comparisons to avoid spurious failures from timestamp drift
38070         between NFS machines.
38071
38072 2009-10-12  Eric Blake  <ebb9@byu.net>
38073
38074         stat-time-tests: minor cleanups
38075         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
38076         * tests/test-stat-time.c (nap): Separate assignment from call.
38077         Suggested by Paolo Bonzini and Bruno Haible.
38078
38079         sys_stat: guarantee struct timespec
38080         * lib/sys_stat.in.h (includes): Always include <time.h>
38081         * modules/sys_stat (Depends-on): Add time.
38082         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
38083         mode_t permission values.
38084         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
38085         get at subsecond timestamps.
38086
38087 2009-10-10  Eric Blake  <ebb9@byu.net>
38088
38089         futimens: new module
38090         * modules/futimens: New file.
38091         * lib/futimens.c (futimens): Likewise.
38092         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
38093         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
38094         we can work around Linux bugs.
38095         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
38096         * modules/sys_stat (Makefile.am): Substitute them.
38097         * lib/sys_stat.in.h (futimens): Declare it.
38098         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38099         * doc/posix-functions/futimens.texi (futimens): Likewise.
38100         * modules/futimens-tests: New test.
38101         * tests/test-futimens.c: Likewise.
38102
38103         utimens: introduce fdutimens
38104         * lib/utimens.h (fdutimens): New prototype.
38105         * lib/utimens.c (gl_futimens): Move guts...
38106         (fdutimens): ...to new interface.
38107         * tests/test-utimens.c (do_fdutimens): Use it.
38108
38109         utimens: add UTIME_NOW and UTIME_OMIT support
38110         * lib/utimens.c (validate_timespec, update_timespec): New helper
38111         functions.
38112         (gl_futimens, lutimens): Use them.
38113         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
38114         stdbool, sys_stat.
38115         (Link): Mention resulting library dependency.
38116         * modules/utimecmp (Link): Likewise.
38117         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
38118         (Makefile.am): Pick up library dependency.
38119         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
38120         definition.
38121         * tests/test-sys_stat.c: Test the definitions.
38122         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
38123         * NEWS: Document library dependency.
38124
38125         utimecmp: support symlink timestamps
38126         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
38127         hashing when possible.  Use pathconf when available.
38128         (SYSCALL_RESOLUTION): Recognize tighter resolution.
38129         * modules/utimecmp (Depends-on): Add lstat.
38130
38131         utimens: add lutimens interface
38132         * lib/utimens.c (lutimens): New function.
38133         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
38134         * lib/utimens.h (lutimens): Declare new interface.
38135         * tests/test-utimens.c (main): Enhance test.
38136         * tests/test-lutimens.h (test_lutimens): New file.
38137         * modules/utimens-tests (Files): Distribute it.
38138         (Depends-on): Add symlink.
38139         (configure.ac): Check for usleep.
38140
38141         utimens: validate futimens usage
38142         * lib/utimens.c (gl_futimens): Require valid fd up front, using
38143         fewer syscalls on failure later on.  Avoid compiler warning on
38144         mingw.
38145         * modules/utimens (Depends-on): Add dup2.
38146
38147         utimens: add test
38148         * modules/utimens-tests: New test.
38149         * tests/test-utimens.h: New file.
38150         * tests/test-futimens.h: Likewise.
38151         * tests/test-utimens.c: Likewise.
38152
38153         doc: mention timestamp portability issues
38154         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
38155         instead.
38156         * doc/posix-functions/utime.texi (utime): Likewise.
38157         * doc/posix-functions/utimes.texi (utimes): Likewise.
38158         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
38159         instead.
38160         * doc/posix-functions/futimens.texi (futimens): Mention utimens
38161         module.
38162         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
38163         Mention weakness with symlink timestamps.
38164         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
38165         to utimensat/futimens instead.
38166         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
38167
38168         test-dup2: enhance test
38169         * tests/test-dup2.c (main): Also check AT_FDCWD.
38170
38171         test-stat-time: avoid more spurious failures
38172         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
38173         xfs; and avoid race if the two timestamps cross quantization edge.
38174
38175         relocatable: prefer 'file system' over 'filesystem'
38176         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
38177         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
38178         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
38179         * doc/relocatable.texi (Enabling Relocatability): Likewise.
38180         * lib/relocatable.c (compute_curr_prefix): Likewise.
38181
38182 2009-10-10  Jim Meyering  <meyering@redhat.com>
38183
38184         stat-time-tests: check for the usleep function
38185         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
38186
38187 2009-10-10  Bruno Haible  <bruno@clisp.org>
38188
38189         * modules/xnanosleep: Put the Link section after the Include section.
38190
38191 2009-10-09  Eric Blake  <ebb9@byu.net>
38192
38193         dup2: work around FreeBSD 6.1 bug
38194         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
38195         * doc/posix-functions/dup2.texi (dup2): Document it.
38196         Reported by Nelson H. F. Beebe and Jim Meyering.
38197
38198         test-stat-time: port to buggy NFS clients
38199         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
38200         (test_ctime): Also skip test if mtime and ctime are skewed.
38201
38202         maint: prefer 'file system' over 'filesystem'
38203         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
38204         * doc/posix-functions/lstat.texi (lstat): Likewise.
38205         * lib/file-has-acl.c (file_has_acl): Likewise.
38206         * lib/fwriteerror.c [TEST]: Likewise.
38207         * tests/test-areadlink.h (test_areadlink): Likewise.
38208         * tests/test-areadlinkat-with-size.c (main): Likewise.
38209         * tests/test-areadlinkat.c (main): Likewise.
38210         * tests/test-canonicalize-lgpl.c (main): Likewise.
38211         * tests/test-canonicalize.c (main): Likewise.
38212         * tests/test-fstatat.c (main): Likewise.
38213         * tests/test-linkat.c (main): Likewise.
38214         * tests/test-lstat.h (test_lstat_func): Likewise.
38215         * tests/test-mkdir.h (test_mkdir): Likewise.
38216         * tests/test-readlink.h (test_readlink): Likewise.
38217         * tests/test-remove.c (main): Likewise.
38218         * tests/test-rename.h (test_rename): Likewise.
38219         * tests/test-renameat.c (main): Likewise.
38220         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38221         * tests/test-symlink.h (test_symlink): Likewise.
38222         * tests/test-symlinkat.c (main): Likewise.
38223         * tests/test-unlink.h (test_unlink_func): Likewise.
38224         * tests/test-unlinkat.c (main): Likewise.
38225
38226         maint: make realtime library usage explicit
38227         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
38228         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
38229         * modules/settime (Link): Likewise.
38230         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
38231
38232         test-stat-time: speed up execution
38233         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
38234         warning on mingw.
38235         (nap): New helper function.
38236         (prepare_test): Use it to reduce sleep time.
38237         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
38238         execution.
38239         * modules/stat-time-tests (configure.ac): Check for usleep.
38240
38241 2009-10-09  Jim Meyering  <meyering@redhat.com>
38242
38243         selinux-h: always use getfilecon wrappers
38244         * lib/getfilecon.c: New file.
38245         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
38246         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
38247         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
38248         (fgetfilecon): Provide a stub.
38249         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
38250         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
38251         file unconditionally.
38252         When <selinux/selinux.h> is found, arrange to use wrappers.
38253         * modules/selinux-h (Files): Add getfilecon.c.
38254         (Makefile.am): Substitute include-next-related bits
38255         into the now-always-generated selinux/selinux.h file.
38256         * doc/glibc-functions/lgetfilecon.texi: New file.
38257         * doc/glibc-functions/fgetfilecon.texi: New file.
38258         * doc/glibc-functions/getfilecon.texi: New file.
38259         * doc/glibc-functions/getfilecon-desc.texi: New file.
38260         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
38261         which to pull in the new files.
38262         * MODULES.html.sh (Misc): Add selinux-h.
38263
38264 2009-10-08  Jim Meyering  <meyering@redhat.com>
38265
38266         unistd: fix comment typo
38267         * lib/unistd.in.h (euidaccess): Fix a comment typo.
38268
38269 2009-10-08  Eric Blake  <ebb9@byu.net>
38270
38271         areadlink: use SIZE_MAX consistently
38272         * modules/areadlink (Depends-on): Add stdint.
38273         * modules/areadlink-with-size (Depends-on): Likewise.
38274         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
38275         gives NULL; drop sys/types, since unistd gives size_t; and add
38276         stdint for SIZE_MAX.
38277         (SIZE_MAX): Rely on headers.
38278         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
38279         and add stdint.
38280         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
38281         (SIZE_MAX): Likewise.
38282         (INITIAL_BUF_SIZE): Turn into enum.
38283         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
38284
38285 2009-10-08  Jim Meyering  <meyering@redhat.com>
38286
38287         areadlinkat: avoid compilation failure
38288         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
38289         Fix typo in comment.
38290
38291 2009-10-07  Eric Blake  <ebb9@byu.net>
38292
38293         areadlinkat-with-size: new module
38294         * modules/areadlinkat-with-size: New module.
38295         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
38296         * lib/areadlink.h (areadlinkat): Declare it.
38297         * MODULES.html.sh (File system functions): Mention it.
38298         * modules/areadlinkat-with-size-tests: New test.
38299         * tests/test-areadlinkat-with-size.c: New file.
38300
38301         xreadlinkat: new module
38302         * modules/xreadlinkat: New module.
38303         * lib/xreadlinkat.c (xreadlinkat): New file.
38304         * lib/xreadlink.h (xreadlinkat): Declare it.
38305         * MODULES.html.sh (File system functions): Mention it.
38306
38307         areadlinkat: new module
38308         * lib/at-func.c (FUNC_FAIL): New define.
38309         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
38310         * modules/areadlinkat: New module.
38311         * lib/linkat.c (areadlinkat): Move...
38312         * lib/areadlinkat.c (areadlinkat): ...to new file.
38313         * lib/areadlink.h (areadlinkat): Declare it.
38314         * modules/linkat (Depends-on): Add areadlinkat.
38315         * MODULES.html.sh (File system functions): Mention it.
38316         * modules/areadlinkat-tests: New test.
38317         * tests/test-areadlinkat.c: New file.
38318
38319         areadlink, areadlink-with-size: add tests
38320         * modules/areadlink-tests: New test.
38321         * modules/areadlink-with-size-tests: Likewise.
38322         * tests/test-areadlink.h: New file.
38323         * tests/test-areadlink.c: Likewise.
38324         * tests/test-areadlink-with-size.c: Likewise.
38325
38326         maint: minor cleanups
38327         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
38328         _UNUSED_PARAMETER_ instead.
38329         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
38330         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
38331         * modules/linkat-tests (Files): Distribute test-link.h.
38332
38333         openat, utimens: whitespace cleanup
38334         * lib/openat.c: Prefer space throughout, rather than mix of 8
38335         spaces vs. tabs.
38336         * lib/at-func.c: Likewise.
38337         * lib/utimens.c: Likewise.
38338
38339         openat: avoid using wrong fd
38340         * lib/openat.c (openat_permissive): Reject user's fd if saving the
38341         working directory chooses same fd.
38342         * lib/at-func.c (AT_FUNC_NAME): Likewise.
38343
38344         mkdir, mkdirat: fix cygwin 1.5.x bug
38345         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
38346         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
38347         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
38348         bug.
38349         (gl_PREREQ_MKDIR): Delete unused macro.
38350         * modules/mkdir (Files): Track file rename.
38351         (configure.ac): Update macro name.
38352         * modules/openat (Depends-on): Add mkdir.
38353         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
38354
38355         mkdir, mkdirat: add tests
38356         * modules/mkdir-tests: New test.
38357         * tests/test-mkdir.h: New file.
38358         * tests/test-mkdir.c: Likewise.
38359         * tests/test-mkdirat.c: Likewise.
38360         * modules/openat-tests (Files): Add new files.
38361         (Makefile.am): Run new test.
38362
38363 2009-10-06  Eric Blake  <ebb9@byu.net>
38364
38365         doc: tweak *at function documentation
38366         * doc/posix-functions/faccessat.texi (faccessat): Mention
38367         known issue with replacement.
38368         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
38369         * doc/posix-functions/linkat.texi (linkat): Likewise.
38370         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
38371         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
38372         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38373         * doc/posix-functions/renameat.texi (renameat): Likewise.
38374         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
38375
38376         openat: fix GNU/Hurd bug in unlinkat
38377         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
38378         broken.
38379         * doc/posix-functions/unlink.texi (unlink): Document this.
38380         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
38381
38382         fdopendir: fix GNU/Hurd bug
38383         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
38384         allowing non-directory fds.
38385         * lib/fdopendir.c (rpl_fdopendir): Work around it.
38386         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
38387         * modules/dirent (Makefile.am): Substitute it.
38388         * lib/dirent.in.h (fdopendir): Declare replacement.
38389         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
38390         * tests/test-fdopendir.c (main): Test something other than
38391         /dev/null, since on Hurd that behaves like a directory.
38392
38393         test-symlink: port to GNU/Hurd
38394         * tests/test-symlink.h (test_symlink): Relax expected errno.
38395
38396         doc: tweak more cygwin information
38397         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
38398         now compatible with glibc.
38399         * doc/posix-functions/getopt.texi (getopt): Likewise.
38400
38401         getopt-gnu: add another test
38402         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
38403         guarantee behavior relied on by m4.
38404         * tests/test-getopt.c (main): Use it.
38405         * modules/getopt-posix-tests (Depends-on): Add setenv.
38406         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
38407
38408         getopt: fix compilation on darwin
38409         * lib/getopt.in.h (includes): Leave breadcrumbs during system
38410         include.
38411         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
38412         Reported by Ludovic Courtès.
38413
38414 2009-10-06  Bruno Haible  <bruno@clisp.org>
38415
38416         * modules/size_max (Description): Discourage its use.
38417         Reported by Simon Josefsson.
38418
38419 2009-10-06  Jim Meyering  <meyering@redhat.com>
38420
38421         linkat: avoid compilation failure
38422         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
38423
38424 2009-10-05  Eric Blake  <ebb9@byu.net>
38425
38426         linkat: support Linux 2.6.17
38427         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
38428         linkat on Linux, but allow cache variable override.
38429         * lib/linkat.c (rpl_linkat): Define override.
38430         * modules/linkat (Depends-on): Add symlinkat.
38431         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
38432         * modules/unistd (Makefile.am): Substitute it.
38433         * lib/unistd.in.h (linkat): Declare replacement.
38434         Reported by Pádraig Brady.
38435
38436         quotearg: port test to systems with C.UTF-8 locale
38437         * tests/test-quotearg.c (struct result_strings): Add another
38438         member, differentiating between C.ASCII and C.UTF-8 handling.
38439         (compare_strings): Add parameter.
38440         (main): Adjust all callers.
38441
38442         getopt: avoid clash with FreeBSD _getopt_internal
38443         * lib/getopt.in.h (_getopt_internal): Override the name.
38444         * lib/getopt_int.h (includes): Pick up any overrides.
38445         Reported by Reuben Thomas.
38446
38447         hash: allow C89 compilation
38448         * lib/hash.c (check_tuning): Move declaration before statement.
38449         Reported by Reuben Thomas.
38450
38451 2009-10-05  Karl Berry  <karl@gnu.org>
38452
38453         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
38454
38455 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
38456             Bruno Haible  <bruno@clisp.org>
38457
38458         * lib/uname.c (uname): Use a table-driven algorithm to compute
38459         Windows NT versions.
38460
38461 2009-10-04  Bruno Haible  <bruno@clisp.org>
38462
38463         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
38464         program_invocation_short_name.
38465         * modules/progname (configure.ac): Test for presence of
38466         program_invocation_short_name.
38467         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
38468
38469 2009-10-04  Bruno Haible  <bruno@clisp.org>
38470
38471         * lib/progname.c (set_program_name): Fix comment.
38472         Reported by Jim Meyering.
38473
38474 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38475             Bruno Haible  <bruno@clisp.org>
38476
38477         * lib/uname.c: Include <string.h>.
38478         (uname): Do only one call to GetVersionEx in the common case.
38479
38480 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
38481             Bruno Haible  <bruno@clisp.org>
38482
38483         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
38484         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
38485         (uname): Add support for Windows CE and various non-x86 CPU types.
38486
38487 2009-10-03  Bruno Haible  <bruno@clisp.org>
38488
38489         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
38490         invocation to tests/configure.ac.
38491         Reported by Ian Beckwith <ianb@erislabs.net>.
38492
38493 2009-10-02  Eric Blake  <ebb9@byu.net>
38494
38495         fchdir: avoid compiler warning
38496         * lib/fchdir.c (canonicalize_file_name)
38497         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
38498
38499         test-open: support mingw errno values
38500         * tests/test-open.h (test_open): Relax test.
38501         * tests/test-fopen.h (test_fopen): Likewise.
38502         * tests/test-openat-safer.c (main): Likewise.
38503
38504         open: fix opening directory on mingw
38505         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
38506
38507         test-open: on GNU/Hurd, /dev/null is a directory
38508         * tests/test-fopen.h (main): Rename...
38509         (test_fopen): ...to this.  Use a guaranteed non-directory when
38510         confirming open behavior on trailing slash.
38511         * tests/test-openat-safer.c (main): Likewise.
38512         * tests/test-open.h (main): Likewise....
38513         (test_open): ...to this.
38514         * tests/test-fopen.c (main): Adjust caller.
38515         * tests/test-fopen-safer.c (main): Likewise.
38516         * tests/test-open.c (main): Likewise.
38517         * tests/test-fcntl-safer.c (main): Likewise.
38518         Reported by Samuel Thibault.
38519
38520         rename, fchdir: don't ignore chdir failure
38521         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
38522         * lib/rename.c (rpl_rename) [W32]: Likewise.
38523         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
38524         an empty destination directory if source cannot be renamed,
38525         although there is still possibility for failure.
38526         * doc/posix-functions/rename.texi (rename): Document the race.
38527         Reported by Jim Meyering.
38528
38529         maint: cleanup whitespace in recent commits
38530         * lib/rename.c (rpl_rename): Remove tabs.
38531         * tests/test-link.h (test_link): Likewise.
38532         * lib/fchdir.c (get_name): Likewise.
38533         Reported by Jim Meyering.
38534
38535 2009-10-02  Ben Pfaff  <blp@gnu.org>
38536
38537         relocatable-prog-wrapper: Add missing dependency on
38538         double-slash-root.
38539         * modules/relocatable-prog-wrapper: Add dependency.
38540         Reported by Ian Beckwith <ianb@erislabs.net>.
38541
38542 2009-10-02  Eric Blake  <ebb9@byu.net>
38543
38544         renameat: fix Solaris bugs
38545         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
38546         needed fixing.
38547         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
38548         * modules/stdio (Makefile.am): Substitute it.
38549         * lib/stdio.in.h (renameat): Declare replacement.
38550         * lib/renameat.c (rpl_renameat): Implement fix.
38551
38552         renameat: new module
38553         * modules/renameat: New file.
38554         * lib/renameat.c (renameat): Likewise.
38555         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
38556         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
38557         * modules/stdio (Makefile.am): Substitute them.
38558         * lib/stdio.in.h (renameat): Declare it.
38559         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38560         * doc/posix-functions/renameat.texi (renameat): Likewise.
38561         * modules/renameat-tests: New test.
38562         * tests/test-renameat.c: Likewise.
38563
38564         rename: fix mingw bugs
38565         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
38566         directory overwrite bugs.
38567
38568         rename: fix another cygwin 1.5 bug
38569         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
38570         checks.
38571         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
38572         unnecessary cygwin workarounds.  Also work around bug with moving
38573         full directory onto an empty one.
38574         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
38575
38576         rename-dest-slash: merge into rename module
38577         * modules/rename-dest-slash (Status): Mark obsolete.
38578         (Depends-on): Add rename.
38579         (Files): Let rename do it all.
38580         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
38581         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
38582         * m4/rename-dest-slash.m4: ...so this file can be deleted.
38583         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
38584         * lib/rename.c (rpl_rename): Update comments.
38585
38586         rename: fix cygwin 1.5.x bugs
38587         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
38588         * lib/rename.c (rpl_rename): Work around them.
38589         * modules/rename (Depends-on): Add same-inode.
38590
38591         rename: fix Solaris 10 bug
38592         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
38593         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
38594         was the only bug.
38595
38596         rename: fix Solaris 9 bug
38597         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
38598         on non-directory.  Avoid calling exit.
38599         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
38600         strdup.
38601         * modules/rename-tests (Depends-on): Drop lstat.
38602         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
38603         (gl_PREREQ_RENAME): Delete unused macro.
38604
38605         rename-dest-slash: fix NetBSD bug
38606         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
38607         links.
38608         * modules/rename-dest-slash (Depends-on): Add same-inode.
38609
38610         rename-tests: new test, exposes several platform bugs
38611         * modules/rename-tests: New file.
38612         * tests/test-rename.h: Likewise.
38613         * tests/test-rename.c: Likewise.
38614         * doc/posix-functions/rename.texi (rename): Improve documentation,
38615         including bugs that will eventually be fixed in gnulib.
38616
38617 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
38618
38619         * lib/uname.c: Include <stdlib.h>
38620         (uname): Assume version info is available.
38621
38622 2009-10-02  Jim Meyering  <meyering@redhat.com>
38623
38624         gnu-web-doc-update: correct --help output
38625         * build-aux/gnu-web-doc-update: Make --help output relevant.
38626
38627         gnu-web-doc-update: add standard options
38628         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
38629
38630         gnu-web-doc-update: New module.
38631         Use this script to automatically update the on-line web documentation
38632         for your GNU project at http://www.gnu.org/software/$pkg/manual/
38633         * modules/gnu-web-doc-update: New file, from coreutils.
38634         * build-aux/gnu-web-doc-update: New script.
38635
38636 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
38637
38638         link: LoadLibrary is not needed.
38639         * lib/link.c: Use GetModuleHandle.
38640
38641 2009-10-01  Eric Blake  <ebb9@byu.net>
38642
38643         getopt: bump serial number
38644         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
38645         change.
38646
38647         tests: tighten link, rmdir, and remove tests
38648         * tests/test-link.h (includes): No need to use <config.h> here.
38649         Clean up if directory hard link was created, otherwise test for
38650         trailing '.'.
38651         * tests/test-linkat.c (main): Simplify.
38652         * tests/test-remove.c (main): Enhance test for trailing '.'.
38653         * tests/test-rmdir.h (test_rmdir_func): Likewise.
38654
38655 2009-10-01  Jim Meyering  <meyering@redhat.com>
38656
38657         maint.mk: requiring "make major" was annoying, for a "minor" release.
38658         What is intended is "stable", to contrast with alpha and beta,
38659         so require "make stable", not "make major".
38660         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
38661         (get_tool_versions): Likewise.
38662         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
38663
38664 2009-09-30  Ben Pfaff  <blp@gnu.org>
38665
38666         Fix broken build of replacement for Windows tmpfile().
38667         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
38668         flags argument added along with the 'mkostemp' module.
38669
38670 2009-09-28  Bruno Haible  <bruno@clisp.org>
38671
38672         Avoid identifier clash with POSIX function 'remove' defined as a macro.
38673         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
38674         to 'remove_elt'.
38675         (gl_list_remove): Update.
38676         * lib/gl_list.c (gl_list_remove): Update.
38677         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
38678         to 'remove_elt'.
38679         (gl_oset_remove): Update.
38680         * lib/gl_list.c (gl_oset_remove): Update.
38681         Reported by Eric Blake.
38682
38683 2009-09-28  Eric Blake  <ebb9@byu.net>
38684
38685         doc: mention yet more cygwin 1.7 status
38686         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
38687         cygwin.
38688         * doc/glibc-functions/execvpe.texi (execvpe): New file.
38689         * doc/gnulib.texi (Glibc unistd.h): Mention it.
38690
38691         argp: fix test failure
38692         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
38693         that are not upper-case.  Pass correct range to tolower.
38694
38695 2009-09-27  Jim Meyering  <meyering@redhat.com>
38696
38697         test-yesno: work around sparc-dash here-document infelicity
38698         Without this change, the literal \177 byte in a here document
38699         would make dash 0.5.5.1-3 access uninitialized memory.
38700         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
38701         Instead, use a marker, "@", and filter through tr to create the desired
38702         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
38703
38704 2009-09-27  Bruno Haible  <bruno@clisp.org>
38705
38706         Disable untested support for new flavours of ACLs on AIX.
38707         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
38708         progress.
38709         * lib/set-mode-acl.c (qset_acl): Likewise.
38710
38711 2008-12-07  Bruno Haible  <bruno@clisp.org>
38712
38713         Add support for new flavours of ACLs on AIX. (Untested.)
38714         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
38715         (file_has_acl): Add support for newer AIX.
38716         * lib/set-mode-acl.c (qset_acl): Likewise.
38717         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
38718         Rainer Tammer <tammer@tammer.net>.
38719
38720 2009-09-26  Eric Blake  <ebb9@byu.net>
38721
38722         argp: fix compilation of getopt
38723         * lib/getopt.in.h (includes): Use different guard than glibc.
38724         Reported by Sergey Poznyakoff.
38725
38726         doc: mention more cygwin 1.7 status
38727         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
38728         bug.
38729         * doc/posix-functions/execl.texi (execl): Likewise.
38730         * doc/posix-functions/execle.texi (execle): Likewise.
38731         * doc/posix-functions/execlp.texi (execlp): Likewise.
38732         * doc/posix-functions/execv.texi (execv): Likewise.
38733         * doc/posix-functions/execve.texi (execve): Likewise.
38734         * doc/posix-functions/execvp.texi (execvp): Likewise.
38735         * doc/glibc-functions/canonicalize_file_name.texi
38736         (canonicalize_file_name): Cygwin 1.7 now provides this.
38737         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
38738         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
38739         on AT_SYMLINK_NOFOLLOW.
38740
38741 2009-09-24  Eric Blake  <ebb9@byu.net>
38742
38743         test-linkat: make test more robust
38744         * tests/test-linkat.c (main): Avoid collision with EEXIST.
38745
38746         getopt: fix inclusion guards for cygwin
38747         * modules/getopt-posix (Depends-on): Add include-next.
38748         (Makefile.am): Substitute more items in replacement header.
38749         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
38750         <getopt.h>.
38751         * lib/getopt.in.h (includes): Use split inclusion guard, and
38752         prefer <getopt.h> over include <unistd.h> when one is present.
38753         (option): Also override name of 'struct option'.
38754
38755         same-inode: revert prior change; it is not yet ready
38756         * NEWS: Undo mention of this change.
38757         * lib/same-inode.h (same-inode.h): Undo tri-state change.
38758         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
38759         * lib/cycle-check.c (cycle_check): Likewise.
38760         * lib/same.c (same_name): Likewise.
38761         * lib/at-func2.c (at_func2): Likewise.
38762
38763 2009-09-23  Eric Blake  <ebb9@byu.net>
38764
38765         linkat: new module
38766         * modules/linkat: New file.
38767         * lib/at-func2.c (at_func2): Likewise.
38768         * lib/linkat.c (linkat): Likewise.
38769         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
38770         * lib/openat-priv.h (at_func2): Add declaration.
38771         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
38772         * modules/unistd (Makefile.am): Substitute them.
38773         * lib/unistd.in.h (linkat): Declare it.
38774         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
38775         * doc/posix-functions/linkat.texi (linkat): Likewise.
38776         * doc/posix-functions/link.texi (link): Tweak wording.
38777         * tests/test-link.c (main): Move guts...
38778         * tests/test-link.h (test_link): ...into new file.
38779         * modules/linkat-tests: New test.
38780         * tests/test-linkat.c: Likewise.
38781         * modules/link-tests (Files): Ship new file.
38782         (Depends-on): Add stdbool.
38783
38784         dirname: add library-safe mdir_name
38785         * lib/dirname.h (mdir_name): New prototype.
38786         * lib/dirname.c (dir_name): Move guts...
38787         (mdir_name): ...to new function that avoids xalloc_die.
38788
38789         fchdir: another mingw fix
38790         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
38791         * lib/fchdir.c (get_name): New helper method; skips canonicalize
38792         on mingw (where it has not yet been ported), and make it optional
38793         elsewhere.
38794         (_gl_register_fd): Use it.
38795
38796         same-inode: make SAME_INODE tri-state, to port to mingw
38797         * NEWS: Mention this change.
38798         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
38799         st_ino always being 0.
38800         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
38801         * lib/cycle-check.c (cycle_check): Likewise.
38802         * lib/same.c (same_name): Likewise.
38803
38804         lstat: avoid mingw compilation error
38805         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
38806         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
38807         lstat ourselves.
38808         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
38809         was adequate.
38810         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
38811         the checks for lstat.
38812         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
38813
38814         link: fix test failure on Solaris 9
38815         * lib/link.c (rpl_link): Don't assume link will catch bogus
38816         trailing slash on source.
38817
38818         test-symlinkat: enhance test
38819         * tests/test-readlink.c (main): Move guts...
38820         * tests/test-readlink.h (test_readlink): ...into new file.
38821         * tests/test-symlink.c (main): Move guts...
38822         * tests/test-symlink.h (test_symlink): ...into new file.
38823         * tests/test-symlinkat.c (main): Use new files for further
38824         coverage.
38825         (do_symlink, do_readlink): New helper functions.
38826         * modules/symlink-tests (Files): Ship new file.
38827         (Depends-on): Add stdbool.
38828         * modules/readlink-tests (Files): Ship new file.
38829         (Depends-on): Add stdbool.
38830         * modules/symlinkat-tests (Files): Use new files.
38831
38832 2009-09-23  Eric Blake  <ebb9@byu.net>
38833
38834         readlink: document portability issue with symlink length
38835         * doc/posix-functions/lstat.texi (lstat): Mention that some file
38836         systems have bogus st_size on symlinks, and mention the
38837         areadlink-with-size module.
38838         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
38839         * doc/posix-functions/readlink.texi (readlink): Mention the
38840         areadlink module, and ERANGE failure.
38841         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
38842         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
38843
38844         readlink: fix Solaris 9 bug with trailing slash
38845         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
38846         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
38847         * doc/posix-functions/readlink.texi (readlink): Document this.
38848         * modules/readlink-tests: New test.
38849         * tests/test-readlink.c: Likewise.
38850
38851         readlink: fix cygwin 1.5.x bug with return type
38852         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
38853         * lib/unistd.in.h (readlink): Use ssize_t.
38854         * lib/readlink.c (readlink): Likewise.
38855         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38856         * modules/unistd (Makefile.am): Substitute it.
38857         * lib/unistd.in.h (readlink): Declare replacement.
38858         * doc/posix-functions/readlink.texi (readlink): Document this.
38859
38860         symlink: use throughout gnulib
38861         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
38862         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
38863         symlink is not used.
38864         * modules/symlinkat (Depends-on): Add symlink.
38865         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
38866         * modules/canonicalize-tests (Depends-on): Likewise.
38867         * modules/lstat-tests (Depends-on): Likewise.
38868         * modules/openat-tests (Depends-on): Likewise.
38869         * modules/remove-tests (Depends-on): Likewise.
38870         * modules/rmdir-tests (Depends-on): Likewise.
38871         * modules/unlink-tests (Depends-on): Likewise.
38872         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
38873         * tests/test-canonicalize.c (symlink): Likewise.
38874         * tests/test-fstatat.c (symlink): Likewise.
38875         * tests/test-lstat.c (symlink): Likewise.
38876         * tests/test-remove.c (symlink): Likewise.
38877         * tests/test-rmdir.c (symlink): Likewise.
38878         * tests/test-unlink.c (symlink): Likewise.
38879         * tests/test-unlinkat.c (symlink): Likewise.
38880
38881         symlink: new module, for Solaris 9 bug
38882         * modules/symlink: New file.
38883         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
38884         * lib/symlink.c: Likewise.
38885         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
38886         * modules/unistd (Makefile.am): Substitute them.
38887         * lib/unistd.in.h (symlink): Declare replacement.
38888         * MODULES.html.sh (File system functions): Mention it.
38889         * doc/posix-functions/symlink.texi (symlink): Likewise.
38890         * modules/symlink-tests: New test.
38891         * tests/test-symlink.c: Likewise.
38892
38893 2009-09-23  Bruno Haible  <bruno@clisp.org>
38894
38895         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
38896         when needed.
38897         Test case: gnulib-tool --import --with-tests atexit inttypes.
38898         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
38899
38900 2009-09-23  Bruno Haible  <bruno@clisp.org>
38901
38902         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
38903         subcommand, not in a subshell.
38904
38905 2009-09-22  Eric Blake  <ebb9@byu.net>
38906
38907         unistd: sort replacement declarations
38908         * lib/unistd.in.h: Sort declarations.
38909
38910         open, openat: minor optimization
38911         * lib/open.c (open): If open succeeded, len is non-zero.
38912         * lib/openat.c (rpl_openat): Likewise.
38913
38914         link-follow: ensure correct result
38915         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
38916         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
38917         distinguish between possible failures.
38918
38919 2009-09-21  Eric Blake  <ebb9@byu.net>
38920
38921         fts: avoid compiler warning
38922         * lib/fts.c (dirent_inode_sort_may_be_useful)
38923         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
38924
38925 2009-09-19  Bruno Haible  <bruno@clisp.org>
38926
38927         * lib/progreloc.c (canonicalize_file_name): New declaration.
38928
38929 2009-09-19  Eric Blake  <ebb9@byu.net>
38930
38931         link: fix quoting
38932         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
38933
38934         openat: fix openat bugs on Solaris 9
38935         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
38936         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
38937         * modules/openat (Depends-on): Add open.
38938         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
38939         * modules/fcntl-h (Makefile.am): Substitute it.
38940         * lib/fcntl.in.h (openat): Declare replacement.
38941         * doc/posix-functions/openat.texi (openat): Document this.
38942
38943         openat: move fstatat and unlinkat into correct files
38944         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
38945         compiled.
38946         * lib/openat.c (fstatat, unlinkat): Move...
38947         * lib/fstatat.c (fstatat): ...into correct files.
38948         * lib/unlinkat.c (unlinkat): Likewise.
38949
38950         openat: fix unlinkat bugs on Solaris 9
38951         * lib/unlinkat.c (unlinkat): New file.
38952         * modules/openat (Depends-on): Add unlink.
38953         (Files): Distribute it.
38954         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
38955         trailing slash behavior is broken.
38956         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
38957         * modules/unistd (Makefile.am): Substitute it.
38958         * lib/unistd.in.h (unlinkat): Declare replacement.
38959         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
38960
38961         openat: fix fstatat bugs on Solaris 9
38962         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
38963         stat.
38964         * doc/posix-functions/fstatat.texi (fstatat): Document this.
38965
38966         test-unlinkat: enhance test, to expose Solaris 9 bug
38967         * tests/test-unlink.c (main): Factor guts...
38968         * tests/test-unlink.h (test_rmdir_func): ...into new file.
38969         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
38970         * tests/test-rmdir.c (main): Adjust caller.
38971         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
38972         (unlinker): New helper function.
38973         (rmdirat): Enhance check.
38974         * modules/rmdir-tests (Depends-on): Add stdbool.
38975         * modules/unlink-tests (Depends-on): Likewise.
38976         (Files): Add test-unlink.h.
38977         * modules/openat-tests (Files): Likewise.
38978         (Depends-on): Add unlinkdir.
38979
38980         test-fstatat: new test, to expose Solaris 9 bugs
38981         * tests/test-stat.c (main): Factor guts...
38982         * tests/test-stat.h (test_stat_func): ...into new file.
38983         * tests/test-lstat.c (main): Factor guts...
38984         * tests/test-lstat.h (test_lstat_func): ...into new file.
38985         * tests/test-fstatat.c: New file.
38986         * modules/stat-tests (Files): Add test-stat.h.
38987         * modules/lstat-tests (Files): Add test-lstat.h.
38988         (Depends-on): Add stdbool.
38989         * modules/openat-tests (Depends-on): Add pathmax.
38990         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
38991         (Makefile.am): Run new test.
38992
38993         remove: new module, for mingw and Solaris 9 bugs
38994         * modules/remove: New file.
38995         * lib/remove.c: Likewise.
38996         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
38997         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
38998         * modules/stdio (Makefile.am): Use them.
38999         * lib/stdio.in.h (remove): Declare replacement.
39000         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39001         * doc/posix-functions/remove.texi (remove): Likewise.
39002         * modules/remove-tests: New test.
39003         * tests/test-remove.c: Likewise.
39004
39005         unlink: new module, for Solaris 9 bug
39006         * modules/unlink: New file.
39007         * lib/unlink.c: Likewise.
39008         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
39009         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39010         * modules/unistd (Makefile.am): Use them.
39011         * lib/unistd.in.h (stat): Declare replacement.
39012         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39013         * doc/posix-functions/unlink.texi (unlink): Likewise.
39014         * modules/unlink-tests: New test.
39015         * tests/test-unlink.c: Likewise.
39016
39017         lstat: fix Solaris 9 bug
39018         * lib/lstat.c (lstat): Also check for trailing slash on
39019         non-symlink, non-directories.  Use stat module to simplify logic.
39020         * doc/posix-functions/lstat.texi (lstat): Document it.
39021         * modules/lstat-tests (Depends-on): Add errno, same-inode.
39022         (configure.ac): Check for symlink.
39023         * tests/test-lstat.c (main): Add more tests.
39024
39025         stat: add as dependency to other modules
39026         * modules/chown (Depends-on): Add stat.
39027         * modules/euidaccess (Depends-on): Likewise.
39028         * modules/fchdir (Depends-on): Likewise.
39029         * modules/isdir (Depends-on): Likewise.
39030         * modules/link (Depends-on): Likewise.
39031         * modules/lstat (Depends-on): Likewise.
39032         * modules/mkdir-p (Depends-on): Likewise.
39033         * modules/modechange (Depends-on): Likewise.
39034         * modules/open (Depends-on): Likewise.
39035         * modules/readlink (Depends-on): Likewise.
39036         * modules/same (Depends-on): Likewise.
39037
39038         stat: fix Solaris 9 bug
39039         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
39040         slash.
39041         * lib/stat.c (rpl_stat): Work around it.
39042         * doc/posix-functions/stat.texi (stat): Update documentation.
39043
39044         stat: new module, for mingw bug
39045         * modules/stat: New file.
39046         * lib/stat.c: Likewise.
39047         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39048         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39049         * modules/sys_stat (Makefile.am): Use them.
39050         * lib/sys_stat.in.h (stat): Declare replacement.
39051         * lib/openat.c (fstatat): Deal with lstat and stat being function
39052         macros.
39053         * modules/openat (Depends-on): Add inline.
39054         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
39055         * doc/posix-functions/stat.texi (stat): Likewise.
39056         * modules/stat-tests: New test.
39057         * tests/test-stat.c: Likewise.
39058
39059 2009-09-19  Jim Meyering  <meyering@redhat.com>
39060
39061         syntax-check: detect unnecessary inclusion of canonicalize.h
39062         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
39063
39064 2009-09-19  Eric Blake  <ebb9@byu.net>
39065
39066         canonicalize-lgpl: adjust clients to use correct header
39067         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39068         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
39069         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
39070         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
39071         * lib/progreloc.c (includes): Likewise.
39072
39073 2009-09-19  Jim Meyering  <meyering@redhat.com>
39074
39075         test-posixtm.c: correct a comment
39076         * tests/test-posixtm.c: Correct first-line comment.
39077         Spotted by Eric Blake.
39078
39079 2009-09-16  Jim Meyering  <meyering@redhat.com>
39080
39081         posixtm-tests: make T const-correct; add a test case
39082         * tests/test-posixtm.c (T): Declare const.
39083         Add a test for -(2^31+1).
39084         Remove useless can-succeed-only-in-2002 test.
39085
39086         posixtm-tests: adjust the sole failing test
39087         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
39088         expected output matches what mktime now produces.  Cross-checked via
39089         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
39090
39091         posixtm: move #ifdef'd tests into a new module
39092         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
39093         * tests/test-posixtm.c: ... this new file.
39094         * modules/posixtm-tests: New module.
39095
39096 2009-09-19  Eric Blake  <ebb9@byu.net>
39097
39098         openat: simplify use of at-func.c
39099         * lib/at-func.c (includes): Include prerequisites here, to
39100         simplify requirements on client files.
39101         * lib/openat-priv.h: Add double-inclusion guard.
39102         * lib/faccessat.c (includes): Simplify.
39103         * lib/fchmodat.c (includes): Likewise.
39104         * lib/fchownat.c (includes): Likewise.
39105         * lib/mkdirat.c (includes): Likewise.
39106         * lib/mkfifoat.c (includes): Likewise.
39107         * lib/symlinkat.c (includes): Likewise.
39108
39109         openat: allow return of fd 0
39110         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
39111         * modules/save-cwd (Depends-on): Replace fcntl-safer with
39112         unistd-safer.
39113         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
39114         <fcntl.h>; this module does not leak fds.
39115         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
39116         must be allowed to return 0, leaving openat_safer to add the
39117         safety.
39118         (openat_permissive): Avoid writing to just-opened fd 2 if
39119         restoring the current directory fails.
39120         * lib/openat-die.c (openat_restore_fail): Add comment.
39121         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
39122         (save_cwd): Guarantee safe fd, but without use of open_safer.
39123         * tests/test-openat.c: New test.
39124         * modules/openat-tests (Files, Makefile.am): Distribute and build
39125         new file.
39126
39127         relocatable-prog-wrapper: fix build
39128         * modules/relocatable-prog-wrapper (Files): Update name of
39129         canonicalize m4 file, broken on 2009-09-17.
39130         Reported by emad hajjar <aleppos@hotmail.com>.
39131
39132 2009-09-19  Bruno Haible  <bruno@clisp.org>
39133
39134         * lib/safe-alloc.h: Use the standard header with GPL copyright.
39135         * lib/safe-alloc.c: Likewise.
39136         Reported by Ian Beckwith <ianb@erislabs.net>.
39137
39138 2009-09-18  Bruno Haible  <bruno@clisp.org>
39139
39140         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
39141         Reported by <erobles@sensacd.com.mx>.
39142
39143 2009-09-17  Eric Blake  <ebb9@byu.net>
39144
39145         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
39146         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
39147         slashes when checking if last component is missing.
39148         * tests/test-canonicalize.c (main): Test this.
39149
39150         canonicalize, canonicalize-lgpl: honor // if distinct from /
39151         * modules/canonicalize (Files): Add double-slash-root.m4.
39152         * modules/canonicalize-lgpl (Files): Likewise.
39153         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
39154         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
39155         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
39156         fallback definition.
39157         (canonicalize_filename_mode): Use it to protect //.
39158         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
39159         (__realpath): Likewise.
39160         * tests/test-canonicalize.c (main): Test this.
39161         * tests/test-canonicalize-lgpl.c (main): Likewise.
39162         * modules/canonicalize-tests (Depends-on): Add same-inode.
39163         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
39164
39165         canonicalize-lgpl: fix glibc bug with trailing slash
39166         * m4/canonicalize-lgpl.m4: Move contents...
39167         * m4/canonicalize.m4: ...here.
39168         (gl_CANONICALIZE_LGPL): Factor realpath check...
39169         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
39170         glibc 2.3.5 bug, fixed 2005-04-27.
39171         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
39172         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
39173         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
39174         * modules/canonicalize-lgpl (Files): Manage file rename.
39175         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39176         * modules/stdlib (Makefile.am): Substitute witness.
39177         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
39178         is needed.
39179         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
39180         replacement is required.
39181         * lib/canonicalize.c (canonicalize_file_name): Likewise.
39182         * doc/glibc-functions/canonicalize_file_name.texi
39183         (canonicalize_file_name): Document this.
39184         * doc/posix-functions/realpath.texi (realpath): Likewise.
39185
39186         canonicalize-lgpl: reject non-directory with trailing slash
39187         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
39188         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
39189         catches failures in glibc 2.3.5.
39190         * tests/test-canonicalize.c (main): Likewise.
39191
39192         canonicalize-lgpl: use native realpath if it works
39193         * lib/canonicalize-lgpl.c (realpath): Guard with
39194         FUNC_REALPATH_WORKS.
39195         * lib/stdlib.in.h (realpath): Make declaration optional based on
39196         HAVE_REALPATH.
39197         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
39198         native realpath works.
39199         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
39200         * modules/stdlib (Makefile.am): Substitute witness.
39201
39202         canonicalize, canonicalize-lgpl: use <stdlib.h>
39203         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
39204         (Include): Mention <stdlib.h>.
39205         (configure.ac): Mention functions we provide.
39206         * modules/canonicalize (configure.ac): Likewise.
39207         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
39208         realpath if canonicalize_file_name is missing.
39209         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
39210         * modules/stdlib (Makefile.am): Substitute witnesses.
39211         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
39212         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
39213         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
39214         * NEWS: Document this.
39215         * doc/glibc-functions/canonicalize_file_name.texi
39216         (canonicalize_file_name): Likewise.
39217         * doc/posix-functions/realpath.texi (realpath): Likewise.
39218         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
39219
39220         test-canonicalize: consolidate into single C program
39221         * tests/test-canonicalize.sh: Delete; move setup into...
39222         * tests/test-canonicalize.c (main): ...the program, making it
39223         easier to run in debugger.  Add some tests.
39224         * modules/canonicalize-tests (Files): Remove unused file.
39225         (Depends-on): Add progname.
39226         (configure.ac, Makefile.am): Simplify.
39227
39228         test-canonicalize-lgpl: consolidate into single C program
39229         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
39230         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
39231         easier to run in debugger.  Add some tests.
39232         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
39233         (configure.ac, Makefile.am): Simplify.
39234
39235         canonicalize: avoid resolvepath
39236         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
39237         unnecessary checks.
39238         * lib/canonicalize.c (includes): Simplify.
39239         (canonicalize_file_name): Drop resolvepath implementation.
39240         * modules/canonicalize (Depends-on): Drop filenamecat.
39241
39242         canonicalize: don't lose errno
39243         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
39244         over calls to free.
39245
39246         canonicalize: simplify errno handling
39247         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
39248         assignment.
39249
39250         canonicalize, canonicalize-lgpl: update module dependencies
39251         * modules/canonicalize (Depends-on): Add extensions, lstat,
39252         pathmax, stdlib.
39253         (Files): Drop pathmax.h.
39254         (configure.ac): Adjust macro name.
39255         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
39256         lstat, stdlib, sys_stat.
39257         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
39258         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
39259         extensions.
39260         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
39261         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
39262         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
39263         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
39264         declaration, if available.
39265         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
39266         we can rely on the readlink module.
39267         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
39268         (includes): Use <unistd.h> unconditionally.
39269
39270 2009-09-17  Eric Blake  <ebb9@byu.net>
39271
39272         maint: make Include sections of modules consistent
39273         * modules/alloca: Use only header name; no need to list #include.
39274         * modules/alloca-opt: Likewise.
39275         * modules/arpa_inet: Likewise.
39276         * modules/canon-host: Likewise.
39277         * modules/configmake: Likewise.
39278         * modules/dirent: Likewise.
39279         * modules/eealloc: Likewise.
39280         * modules/environ: Likewise.
39281         * modules/fchdir: Likewise.
39282         * modules/fcntl: Likewise.
39283         * modules/fcntl-h: Likewise.
39284         * modules/gethrxtime: Likewise.
39285         * modules/gettime: Likewise.
39286         * modules/ignore-value: Likewise.
39287         * modules/inet_ntop: Likewise.
39288         * modules/inet_pton: Likewise.
39289         * modules/inttypes: Likewise.
39290         * modules/isnand-nolibm: Likewise.
39291         * modules/isnanf-nolibm: Likewise.
39292         * modules/mbchar: Likewise.
39293         * modules/mbfile: Likewise.
39294         * modules/mbiter: Likewise.
39295         * modules/mbuiter: Likewise.
39296         * modules/netdb: Likewise.
39297         * modules/netinet_in: Likewise.
39298         * modules/nproc: Likewise.
39299         * modules/pagealign_alloc: Likewise.
39300         * modules/poll: Likewise.
39301         * modules/printf-frexp: Likewise.
39302         * modules/pthread: Likewise.
39303         * modules/putenv: Likewise.
39304         * modules/random_r: Likewise.
39305         * modules/relocatable-prog: Likewise.
39306         * modules/search: Likewise.
39307         * modules/select: Likewise.
39308         * modules/selinux-h: Likewise.
39309         * modules/settime: Likewise.
39310         * modules/signal: Likewise.
39311         * modules/size_max: Likewise.
39312         * modules/socklen: Likewise.
39313         * modules/ssize_t: Likewise.
39314         * modules/stdarg: Likewise.
39315         * modules/stdbool: Likewise.
39316         * modules/stddef: Likewise.
39317         * modules/stdint: Likewise.
39318         * modules/stdio: Likewise.
39319         * modules/stdlib: Likewise.
39320         * modules/string: Likewise.
39321         * modules/strings: Likewise.
39322         * modules/sys_file: Likewise.
39323         * modules/sys_ioctl: Likewise.
39324         * modules/sys_select: Likewise.
39325         * modules/sys_socket: Likewise.
39326         * modules/sys_stat: Likewise.
39327         * modules/sys_time: Likewise.
39328         * modules/sys_times: Likewise.
39329         * modules/sys_utsname: Likewise.
39330         * modules/sys_wait: Likewise.
39331         * modules/sysexits: Likewise.
39332         * modules/time: Likewise.
39333         * modules/times: Likewise.
39334         * modules/tmpfile: Likewise.
39335         * modules/trim: Likewise.
39336         * modules/unistd: Likewise.
39337         * modules/wchar: Likewise.
39338         * modules/wctype: Likewise.
39339
39340 2009-09-17  Bruno Haible  <bruno@clisp.org>
39341
39342         Make getdate.y compile on QNX and NetBSD 5 / i386.
39343         * m4/getdate.m4 (gl_GETDATE): Conditionally define
39344         TIME_T_FITS_IN_LONG_INT.
39345         * lib/getdate.y (long_time_t): New type.
39346         (relative_time): Change type of 'seconds' field to long_time_t.
39347         (get_date): Update types of local variables. Check against overflow
39348         during conversion from long_time_t to time_t.
39349         Reported by Matt Kraai <kraai@ftbfs.org>
39350         and Hasso Tepper <hasso@netbsd.org>.
39351
39352 2009-09-17  Bruno Haible  <bruno@clisp.org>
39353
39354         * modules/COPYING: Update copyright years.
39355         * modules/README: Likeiwse.
39356         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
39357         Reported by Ian Beckwith <ianb@erislabs.net>.
39358
39359 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39360
39361         * users.txt: Update references for gnuit package.
39362
39363 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
39364
39365         * m4/getdelim.m4: Fix typo in copyright line.
39366
39367 2009-09-17  Bruno Haible  <bruno@clisp.org>
39368
39369         * lib/atoll.c: Use the standard header with GPL copyright.
39370         * lib/argz.in.h: Likewise.
39371         * lib/glob.c: Likewise.
39372         * lib/glob-libc.h: Likewise.
39373         * lib/random_r.c: Likewise.
39374         * lib/siglist.h: Likewise.
39375         * lib/strsignal.c: Likewise.
39376         Reported by Ian Beckwith <ianb@erislabs.net>.
39377
39378 2009-09-17  Eric Blake  <ebb9@byu.net>
39379
39380         rmdir: ensure correct dependency order
39381         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
39382
39383 2009-09-17  Bruno Haible  <bruno@clisp.org>
39384
39385         Disable assertion that fails on NetBSD 5 / i386.
39386         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
39387         Reported by Sam Steingold <sds@gnu.org>
39388         and Hasso Tepper <hasso@netbsd.org>.
39389
39390 2009-09-16  Eric Blake  <ebb9@byu.net>
39391
39392         unlinkdir: port to mingw
39393         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
39394         on which no one can unlink a directory.
39395
39396         stdlib: sort witness names
39397         * modules/stdlib (Makefile.am): Sort replacements.
39398         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
39399         * lib/stdlib.in.h: Likewise.
39400
39401         parse-duration-tests: avoid link failure
39402         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
39403         LIBINTL.
39404         Reported by Tom G. Christensen.
39405
39406         openat-tests: ensure unlinkat behaves like rmdir
39407         * tests/test-rmdir.c (main): Factor guts...
39408         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
39409         * modules/rmdir-tests (Files): Ship new file.
39410         * modules/openat-tests: New test.
39411         * tests/test-unlinkat.c: Likewise.
39412
39413         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
39414         * modules/rmdir-errno (Status, Notice): Now obsolete.
39415
39416         rmdir: work around cygwin 1.5.x and mingw bugs
39417         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
39418         * lib/rmdir.c (rmdir): Work around it.
39419         * modules/rmdir (Status, Notice): No longer obsolete.
39420         (Files): Add dos.m4.
39421         (Depends-on): Add unistd.
39422         (configure.ac): Set witnesses.
39423         (License): Relax to LGPLv2+.
39424         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
39425         * modules/unistd (Makefile.am): Substitute witnesses.
39426         * lib/unistd.in.h (rmdir): Declare replacement.
39427         * doc/posix-functions/rmdir.texi (rmdir): Document this.
39428         * modules/rmdir-tests: New tests.
39429         * tests/test-rmdir.c: Likewise.
39430
39431 2009-09-15  Eric Blake  <ebb9@byu.net>
39432
39433         fchdir: improve use of replacement functions
39434         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
39435         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
39436         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
39437         REPLACE_CLOSEDIR.
39438         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
39439         * modules/sys_stat (Makefile.am): Substitute correct witness.
39440         * modules/dirent (Makefile.am): Likewise.
39441         * modules/unistd (Makefile.am): Likewise.
39442         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
39443         * lib/unistd.in.h (dup): Likewise.
39444         * lib/sys_stat.in.h (fstat): Likewise.
39445
39446         maint: ignore gnulib-tool temp files
39447         * .gitignore: Ignore files created during gnulib-tool --test.
39448
39449 2009-09-13  Jim Meyering  <meyering@redhat.com>
39450
39451         posixtm: don't reject a time that specify "60" as the number of seconds
39452         * lib/posixtm.c (posixtime): The code to reject invalid dates
39453         would also reject a time specified with the .60 suffix.
39454         But POSIX allows that, in order to accommodate leap seconds.
39455         So don't reject it.
39456         (main): Adjust tests accordingly.
39457         * modules/posixtm (Depends-on): Add stpcpy.
39458
39459 2009-09-11  Jim Meyering  <meyering@redhat.com>
39460
39461         announce-gen: include [$release_type] in emitted Subject:
39462         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
39463         e.g., [stable] in the emitted Subject: line.
39464
39465 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39466
39467         Remove obsolete macros from several modules.
39468         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
39469         obsolete Autoconf macros with their modern counterparts.
39470         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
39471         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
39472         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
39473         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
39474         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
39475         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
39476         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
39477         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
39478         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
39479         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
39480         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
39481         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
39482         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
39483         * m4/sockets.m4 (gl_SOCKETS): Likewise.
39484         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
39485         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
39486         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
39487         * m4/time_r.m4 (gl_TIME_R): Likewise.
39488         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
39489         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
39490         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
39491
39492         Fix copyright header in build-aux scripts.
39493         * build-aux/git-version-gen: Fix copyright header to match GPLv3
39494         recommendation.
39495         * build-aux/ncftpput-ftp: Likewise.
39496         * build-aux/update-copyright: Likewise.
39497
39498 2009-09-09  Eric Blake  <ebb9@byu.net>
39499
39500         test-link: allow Linux choice of errno
39501         * tests/test-link.c (main): Relax test for alternate error.
39502
39503         strndup: fix improper m4 caching
39504         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
39505         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
39506         (gl_PREREQ_STRNDUP): Delete.
39507         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
39508         * modules/string (Makefile.am): Substitute it.
39509         * lib/string.in.h (strndup): Modernize prototype.
39510
39511         getcwd: port to mingw
39512         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
39513         different from the POSIX assumptions made throughout the getcwd
39514         module; fortunately, the mingw getcwd does not need replacement.
39515         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
39516         * modules/getcwd-tests: New test.
39517         * tests/test-getcwd.c: Likewise.
39518
39519         link: fix platform bugs
39520         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
39521         * lib/link.c (link): Work around them.  Fix related mingw bug.
39522         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
39523         * modules/unistd (Makefile.am): Substitute it.
39524         * lib/unistd.in.h (link): Declare replacement.
39525         * doc/posix-functions/link.texi (link): Document this.
39526         * modules/link (Depends-on): Add strdup-posix, sys_stat.
39527
39528         test-link: consolidate into single C program, test more cases
39529         * tests/test-link.sh: Delete.
39530         * tests/test-link.c: Test more error conditions.  Exposes bugs on
39531         at least Cygwin and Solaris.
39532         * modules/link-tests (Files): Remove unused file.
39533         (Depends-on): Add errno, sys_stat.
39534         (Makefile.am): Simplify.
39535
39536 2009-09-08  Bruno Haible  <bruno@clisp.org>
39537
39538         Work around towlower, towupper bug on mingw.
39539         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
39540         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
39541         * doc/posix-functions/towlower.texi: Mention the mingw bug.
39542         * doc/posix-functions/towupper.texi: Likewise.
39543         Reported by Eric Blake.
39544
39545 2009-09-08  Jim Meyering  <meyering@redhat.com>
39546
39547         build: don't try to run autoheader if we don't use it
39548         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
39549         is not used in configure.ac.
39550
39551 2009-09-08  Eric Blake  <ebb9@byu.net>
39552
39553         euidaccess: fix compilation error
39554         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
39555
39556         rawmemchr: relax license
39557         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
39558         okay.
39559         Reported by Jim Meyering.
39560
39561         mkfifoat: new module
39562         * modules/mkfifoat: New file.
39563         * lib/mkfifoat.c: Likewise.
39564         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
39565         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
39566         * modules/sys_stat (Makefile.am): Use them.
39567         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
39568         * MODULES.html.sh (File system functions): Mention module.
39569         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
39570         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
39571         * modules/mkfifoat-tests: New test.
39572         * tests/test-mkfifoat.c: Likewise.
39573
39574         strchrnul: relax license
39575         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
39576         okay.
39577         Reported by Jim Meyering.
39578
39579 2009-09-08  Eric Blake  <ebb9@byu.net>
39580
39581         fstatat: fix compilation on Solaris
39582         * lib/fstatat.c (includes): Add fcntl.h.
39583         Reported by Pádraig Brady.
39584
39585 2009-09-07  Eric Blake  <ebb9@byu.net>
39586
39587         rename: modernize replacement
39588         * modules/rename (Depends-on): Add stdio.
39589         (configure.ac): Declare witness.
39590         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
39591         stdio take care of replacement.
39592         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
39593         * modules/stdio (Makefile.am): Substitute them.
39594         * lib/stdio.in.h (rename): Declare replacement.
39595         * lib/rename.c (includes): Allow cross-compilation to non-windows
39596         machines.
39597         * doc/posix-functions/rename.texi (rename): Improve
39598         documentation.
39599
39600         stdio: sort witness names
39601         * modules/stdio (Makefile.am): Sort replacements.
39602         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
39603         * lib/stdio.in.h: Likewise.
39604
39605         getcwd: minor cleanups
39606         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
39607         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
39608
39609         openat: provide more convenience names
39610         * modules/faccessat (configure.ac): Add C witness.
39611         * lib/unistd.in.h (readlinkat): Fix typo.
39612         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
39613         convenience wrappers.
39614         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
39615         wrappers in syntax checks.
39616
39617 2009-09-06  Eric Blake  <ebb9@byu.net>
39618
39619         doc: fix comments in recent patches
39620         * lib/faccessat.c: Mention correct function.
39621         * lib/fchmodat.c: Likewise.
39622         * lib/fchownat.c: Likewise.
39623         * lib/symlinkat.c: Likewise.
39624         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
39625         constants.
39626
39627         faccessat, symlinkat: continue cleanup of previous patch
39628         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
39629         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
39630         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
39631         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
39632         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
39633         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
39634         set.
39635
39636 2009-09-06  Bruno Haible  <bruno@clisp.org>
39637
39638         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
39639         (fstatat): Declare if GNULIB_FSTATAT is set.
39640         (mkdirat): Declare if GNULIB_MKDIRAT is set.
39641         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
39642         (unlinkat): Declare if GNULIB_UNLINKAT is set.
39643         * modules/fcntl-h (Files): Remove m4/openat.m4.
39644         * modules/sys_stat (Files): Remove m4/openat.m4.
39645         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
39646         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
39647         * modules/unistd (Files): Remove m4/openat.m4.
39648         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
39649         GNULIB_OPENAT.
39650         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
39651         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
39652         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
39653         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
39654         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
39655         gl_OPENAT_DEFAULTS.
39656         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
39657         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
39658         Don't require gl_OPENAT_DEFAULTS.
39659         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
39660         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
39661         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
39662         (gl_OPENAT_DEFAULTS): Remove macro.
39663
39664 2009-09-06  Bruno Haible  <bruno@clisp.org>
39665
39666         * modules/openat (configure.ac): Remove unneeded witness.
39667
39668 2009-09-06  Bruno Haible  <bruno@clisp.org>
39669
39670         Set errno to ENOSYS when a function is entirely unsupported.
39671         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
39672         EOPNOTSUPP.
39673         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
39674         * modules/chown (Depends-on): Remove errno.
39675
39676 2009-09-06  Bruno Haible  <bruno@clisp.org>
39677
39678         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
39679
39680 2009-09-06  Bruno Haible  <bruno@clisp.org>
39681
39682         * lib/sys_stat.in.h: Fix preprocessor command indentation.
39683
39684 2009-09-06  Ben Pfaff  <blp@gnu.org>
39685             Bruno Haible  <bruno@clisp.org>
39686
39687         Work around a glibc bug in strtok_r.
39688         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
39689         Undefine if UNDEFINE_STRTOK_R is set.
39690         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
39691         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
39692         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
39693         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
39694         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
39695         UNDEFINE_STRTOK_R.
39696         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
39697
39698 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
39699
39700         exclude: minor fix
39701         * lib/exclude.c: Include wctype.h
39702
39703 2009-09-06  Akim Demaille  <demaille@gostai.com>
39704
39705         bootstrap: improve error message
39706         * build-aux/bootstrap (find_tool): Upon failure, report the list
39707         of candidates.
39708         Honor the initial value of the envvar.
39709
39710 2009-09-05  Eric Blake  <ebb9@byu.net>
39711
39712         symlinkat: new module
39713         * modules/symlinkat: New file.
39714         * lib/symlinkat.c: Likewise.
39715         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
39716         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
39717         * modules/unistd (Makefile.am): Use them.
39718         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
39719         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
39720         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
39721         * MODULES.html.sh (File system functions): Mention module.
39722         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
39723         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
39724         * modules/symlinkat-tests: New test.
39725         * tests/test-symlinkat.c: Likewise.
39726
39727         test-openat-safer: add more checks
39728         * tests/test-openat-safer.c (main): Check more code paths.
39729
39730 2009-09-05  Jim Meyering  <meyering@redhat.com>
39731
39732         syntax-check: detect unnecessary inclusion of openat.h
39733         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
39734
39735 2009-09-05  Bruno Haible  <bruno@clisp.org>
39736
39737         Support towlower, towupper.
39738         * doc/posix-functions/towlower.texi: Mention module wctype.
39739         * doc/posix-functions/towupper.texi: Likewise.
39740         * lib/wctype.in.h (towlower, towupper): New functions.
39741         * tests/test-wctype.c: Include stdio.h, stdlib.h.
39742         (ASSERT): New macro.
39743         (e): New variable.
39744         (main): Test also towlower, towupper. Test WEOF argument.
39745         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
39746
39747 2009-09-05  Bruno Haible  <bruno@clisp.org>
39748
39749         Fix conversion behaviour when the input is invalid.
39750         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
39751         mark occurring in first pass of indirect conversion.
39752         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
39753         input.
39754         Found by clang's static analyzer.
39755
39756 2009-09-05  Bruno Haible  <bruno@clisp.org>
39757
39758         * tests/test-striconveh.c (main): Test indirect conversion on platforms
39759         where direct conversion is possible.
39760
39761 2009-09-04  Eric Blake  <ebb9@byu.net>
39762
39763         openat: fail with ENOENT on empty name
39764         * lib/openat-proc.c (openat_proc_name): Special-case the empty
39765         buffer.
39766
39767         link-follow: fix logic bug in prior patch
39768         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
39769         reversed sense of yes and no in prior patch.  Avoid confusing
39770         compilation failure with desired semantics.
39771
39772         link-follow: accomodate mingw and cross-compilation
39773         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
39774         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
39775         cross-compilation results to -1, to make linkat easier to
39776         implement when cross-compiling.  Trivially support mingw.
39777         * modules/link-follow (configure.ac): Call new name.
39778         * NEWS: Mention this.
39779
39780 2009-09-03  Eric Blake  <ebb9@byu.net>
39781
39782         faccessat: compile replacement
39783         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
39784         needed.
39785
39786         fts: fix compilation error
39787         * lib/fts.c (includes): Re-add "openat.h", for
39788         openat_needs_fchdir.
39789
39790         faccessat: new module
39791         * modules/faccessat: New file.
39792         * lib/faccessat.c: Likewise.
39793         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
39794         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
39795         * modules/unistd (Makefile.am): Use it.
39796         * lib/unistd.in.h (faccessat): Declare it.
39797         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
39798         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
39799         * MODULES.html.sh (File system functions): Mention it.
39800         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
39801         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
39802
39803         euidaccess: prefer POSIX over non-standard implementation
39804         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
39805         * lib/euidaccess.c (euidaccess): Use it if available.
39806
39807         openat: make template easier to use
39808         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
39809         AT_FUNC_F2 to be undefined.
39810         (VALIDATE_FLAG): New macro; use it to reject bad flags.
39811         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
39812         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
39813         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
39814         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
39815         Likewise.
39816         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
39817         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
39818         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
39819         Likewise.
39820
39821         openat: declare in POSIX headers
39822         * NEWS: Mention this.
39823         * modules/openat (configure.ac): Declare witnesses.
39824         (Depends-on): Add fcntl-h, sys_stat, unistd.
39825         (Include): Mention correct headers.
39826         * modules/fcntl-h (Depends-on): Add link-warning.
39827         (Files): Add openat.m4.
39828         (Makefile.am): Substitute witnesses.
39829         * modules/sys_stat (Files, Makefile.am): Likewise.
39830         * modules/unistd (Files, Makefile.am): Likewise.
39831         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
39832         (gl_OPENAT_DEFAULTS): New macro.
39833         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
39834         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
39835         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
39836         (SYS_STAT_H): Remove unused variable.
39837         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
39838         * lib/fcntl--.h (includes): Remove unneeded header.
39839         * lib/openat-safer.c (includes): Likewise.
39840         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
39841         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
39842         appropriate headers.
39843         (__OPENAT_PREFIX): Delete.
39844         * lib/fcntl.in.h (openat): Provide declaration.
39845         (AT_FDCWD): Fix Solaris bug.
39846         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
39847         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
39848         * lib/fchmodat.c (includes):  Adjust to find declaration.
39849         * lib/fchownat.c (includes): Likewise.
39850         * lib/mkdirat.c (includes): Likewise.
39851         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
39852         still visible.
39853
39854 2009-09-02  Eric Blake  <ebb9@byu.net>
39855
39856         errno: use consistently
39857         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
39858         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
39859         * lib/canonicalize.c (ELOOP): Likewise.
39860         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
39861         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
39862         * lib/lchown.c (EOPNOTSUPP): Likewise.
39863         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
39864         * lib/savewd.c (ESTALE): Likewise.
39865         * lib/settime.c (ENOSYS): Likewise.
39866         * lib/utimens.c (ENOSYS): Likewise.
39867         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
39868         * lib/chdir-safer.c (ELOOP): Likewise.
39869         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
39870         * modules/c-stack (Depends-on): Add errno.
39871         * modules/canonicalize (Depends-on): Likewise.
39872         * modules/chdir-safer (Depends-on): Likewise.
39873         * modules/fdopendir (Depends-on): Likewise.
39874         * modules/inet_ntop (Depends-on): Likewise.
39875         * modules/inet_pton (Depends-on): Likewise.
39876         * modules/lchown (Depends-on): Likewise.
39877         * modules/openat (Depends-on): Likewise.
39878         * modules/savewd (Depends-on): Likewise.
39879         * modules/settime (Depends-on): Likewise.
39880         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
39881
39882         fts: avoid leaking fds
39883         * modules/fts (Depends-on): Add cloexec.
39884         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
39885         flag.
39886
39887         fts: make directory fds more robust
39888         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
39889         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
39890
39891         backupfile, chdir-long, fts, savedir: make safer
39892         * lib/backupfile.c (includes): Use "dirent--.h", since
39893         numbered_backup can write to stderr during readdir.
39894         * lib/savedir.c (includes): Likewise.
39895         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
39896         emulation can write to stderr on failure.
39897         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
39898         * lib/getcwd.c: Document why opendir_safer is unused.
39899         * lib/glob.c: Likewise.
39900         * lib/scandir.c: Likewise.
39901         * lib/openat-proc.c: Likewise, for open_safer.
39902         * modules/backupfile (Depends-on): Add dirent-safer.
39903         * modules/savedir (Depends-on): Likewise.
39904         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
39905         * modules/chdir-long (Depends-on): Add openat-safer.
39906
39907         openat-safer: new module
39908         * modules/openat-safer: New file.
39909         * lib/openat-safer.c: Likewise.
39910         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
39911         * lib/fcntl-safer.h (openat_safer): Declare.
39912         * lib/fcntl--.h (openat): Override.
39913         * MODULES.html.sh (File descriptor based I/O): Mention it.
39914         * lib/openat.h: Add double-inclusion guards.
39915         * lib/openat.c (includes): Only include "fcntl-safer.h", not
39916         "fcntl--.h", so we can implement openat.
39917         * modules/openat-safer-tests: New test.
39918         * tests/test-openat-safer.c: New file.
39919
39920         dirent-safer: new module
39921         * modules/dirent-safer: New file.
39922         * lib/dirent--.h: Likewise.
39923         * lib/dirent-safer.h: Likewise.
39924         * lib/opendir-safer.c: Likewise.
39925         * m4/dirent-safer.m4: Likewise.
39926         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
39927         * modules/dirent-safer-tests: New test.
39928         * tests/test-dirent-safer.c: New file.
39929         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
39930
39931         fdopendir: optimize on mingw
39932         * lib/unistd.in.h (_gl_directory_name): New prototype.
39933         * lib/fchdir.c (_gl_directory_name): Implement it.
39934         (fchdir): Use it to simplify implementation.
39935         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
39936         fchdir, when available, to avoid calling [f]chdir().
39937
39938         fdopendir: split into its own module
39939         * lib/openat.c (fdopendir): Move...
39940         * lib/fdopendir.c: ...into new file.
39941         * modules/fdopendir: New module.
39942         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
39943         * modules/openat (Depends-on): Add fdopendir.
39944         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
39945         fdopendir here.
39946         * modules/savedir (Depends-on): Only need fdopendir, not full
39947         openat.
39948         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
39949         * lib/openat.h (fdopendir): Drop prototype.
39950         * lib/dirent.in.h (fdopendir): Provide prototype.
39951         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
39952         * modules/dirent (Makefile.am): Substitute them.
39953         * MODULES.html.sh (File system functions): Mention it.
39954         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
39955         * modules/fdopendir-tests: New file.
39956         * tests/test-fdopendir.c: Likewise.
39957
39958         fchdir: use more consistent macro convention
39959         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
39960         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
39961         REPLACE_FCHDIR, rather than relying on config.h macros.
39962         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
39963         inside a single make-time REPLACE_FCHDIR block, rather than using
39964         the config.h FCHDIR_REPLACEMENT.
39965         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
39966         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
39967         Manage fstat replacement.
39968         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
39969         REPLACE_FCHDIR.
39970         * modules/sys_stat (Files): Add m4/unistd_h.m4.
39971         (Makefile.am): Substitute REPLACE_FCHDIR.
39972         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
39973         FCHDIR_REPLACEMENT.
39974         * lib/dup-safer.c (dup_safer): Likewise.
39975         * lib/dup2.c (rpl_dup2): Likewise.
39976         * lib/dup3.c (rpl_dup3): Likewise.
39977         * lib/open.c (rpl_open): Likewise.
39978
39979         fchdir: simplify error handling, and support dup3
39980         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
39981         stdbool, malloc-posix, realloc-posix.
39982         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
39983         (ensure_dirs_slot): Return false on allocation failure.
39984         (rpl_dup2): Delete.
39985         (_gl_register_dup): New function.
39986         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
39987         (_gl_register_fd): Close fd on allocation failure.
39988         * lib/fcntl.in.h (_gl_register_fd): Update signature.
39989         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
39990         prototype.
39991         (rpl_dup2_fchdir): Delete prototype.
39992         * lib/open.c (open): Update caller.
39993         * lib/dup2.c (dup2): Track fchdir metadata.
39994         * lib/dup3.c (dup3): Likewise.
39995         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
39996         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
39997
39998 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39999
40000         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
40001         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
40002         don't pass arguments to AC_OUTPUT.
40003
40004 2009-09-02  Bruno Haible  <bruno@clisp.org>
40005
40006         * modules/mkdtemp (License): Relicense under LGPLv2+.
40007         Reported by Paolo Bonzini.
40008
40009 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
40010
40011         Replace uses of obsolete autoconf macros in Jim's modules.
40012         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
40013         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
40014         can evoke a warning from autoconf when run with -Wobsolete
40015         enabled.  They were declared obsolete for good reasons (see
40016         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
40017         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
40018         should not continue using the deprecated macros.
40019         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
40020         obsolete Autoconf macros with modern counterparts.
40021         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
40022         * m4/dos.m4 (gl_AC_DOS): Likewise.
40023         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
40024         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
40025         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
40026         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
40027         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
40028         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
40029         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
40030         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
40031         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
40032         Likewise.
40033         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
40034         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
40035         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
40036         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
40037         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
40038         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
40039
40040 2009-09-01  Eric Blake  <ebb9@byu.net>
40041
40042         fchdir: fix off-by-one bug in previous patch
40043         * lib/fchdir.c (rpl_fstat): Use correct bounds.
40044         (_gl_unregister_fd): Delete useless if.
40045
40046 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
40047
40048         maint.mk: sort the list of syntax-check rules
40049         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
40050         easier to get a sense of progress when the rules are run sequentially
40051         and take a long time.
40052
40053 2009-09-01  Simon Josefsson  <simon@josefsson.org>
40054
40055         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
40056         * modules/netinet_in: Likewise.
40057         * modules/sys_file: Likewise.
40058         * modules/sys_ioctl: Likewise.
40059         * modules/sys_select: Likewise.
40060         * modules/sys_socket: Likewise.
40061         * modules/sys_stat: Likewise.
40062         * modules/sys_time: Likewise.
40063         * modules/sys_times: Likewise.
40064         * modules/sys_utsname: Likewise.
40065         * modules/sys_wait: Likewise.
40066
40067 2009-09-01  Jim Meyering  <meyering@redhat.com>
40068
40069         fts: help ensure that return values are not ignored
40070         * lib/fts_.h (__GNUC_PREREQ): Define.
40071         (__attribute_warn_unused_result__): Define.
40072         (fts_children, fts_close, fts_open, fts_read): Declare with
40073         __attribute_warn_unused_result__.
40074
40075         fts: fts_close now fails also when closing a dir file descriptor fails
40076         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
40077         and propagate to caller, along with errno.
40078
40079         announce-gen: correct formatting in --help output
40080         * build-aux/announce-gen (usage): Move the one-line description in
40081         --help output "up", to where it belongs, just after Usage:.
40082
40083 2009-08-31  Eric Blake  <ebb9@byu.net>
40084
40085         fchdir: port to mingw
40086         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
40087         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
40088         opened, then use a substitute.
40089         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
40090         replacement.
40091         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
40092         (_gl_register_fd): No need to check stat if open already filters
40093         all directories.
40094         (fchdir): Fix error condition to match POSIX.
40095         * modules/fchdir (Depends-on): Add sys_stat.
40096         * doc/posix-functions/open.texi (open): Document the limitation.
40097         * modules/fchdir-tests: New file.
40098         * tests/test-fchdir.c: Likewise.
40099
40100         canonicalize: allow cross-testing from cygwin to mingw
40101         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
40102         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
40103         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
40104         Likewise.
40105         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
40106         target does not support symlinks.
40107         * tests/test-canonicalize-lgpl.sh: Likewise.
40108
40109         chown: avoid compilation warning on mingw
40110         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
40111         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
40112         mingw.
40113         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
40114         * modules/chown (Depends-on): Add errno.
40115
40116 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
40117
40118         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
40119         command.
40120
40121 2009-08-31  Jim Meyering  <meyering@redhat.com>
40122
40123         canonicalize: remove useless initialization
40124         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
40125         initialization of local, "end".
40126
40127 2009-08-30  Bruno Haible  <bruno@clisp.org>
40128
40129         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
40130         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
40131         ENOSYS.
40132
40133 2009-08-30  Bruno Haible  <bruno@clisp.org>
40134
40135         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
40136         /usr/xpg4/bin/tr when it exists.
40137         * tests/test-pipe-filter-gi1.sh: Likewise.
40138
40139 2009-08-30  Bruno Haible  <bruno@clisp.org>
40140
40141         Work around deficient /usr/bin/id program on Solaris.
40142         * tests/test-file-has-acl.sh (ID): New variable.
40143         * tests/test-set-mode-acl.sh (ID): Likewise.
40144         * tests/test-copy-acl.sh (ID): Likewise.
40145         * tests/test-copy-file.sh (ID): Likewise.
40146
40147 2009-08-30  Bruno Haible  <bruno@clisp.org>
40148
40149         New module 'xstriconveh'.
40150         * lib/xstriconveh.h: New file.
40151         * lib/xstriconveh.c: New file.
40152         * modules/xstriconveh: New file.
40153
40154 2009-08-30  Bruno Haible  <bruno@clisp.org>
40155
40156         Make it easier to use mem_cd_iconveh.
40157         * lib/striconveh.h (iconveh_t): New type.
40158         (iconveh_open, iconveh_close): New declarations.
40159         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40160         with a single 'const iconveh_t *' argument.
40161         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
40162         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
40163         with a single 'const iconveh_t *' argument.
40164         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
40165         * tests/test-striconveh.c (main): Update.
40166         * NEWS: Mention the change.
40167
40168 2009-08-30  Bruno Haible  <bruno@clisp.org>
40169
40170         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
40171         problem.
40172
40173 2009-08-30  Bruno Haible  <bruno@clisp.org>
40174
40175         Work around iconv_open problem on Solaris.
40176         * lib/iconv_open-solaris.gperf: New file.
40177         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
40178         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
40179         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
40180         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
40181         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
40182         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
40183
40184 2009-08-29  Jim Meyering  <meyering@redhat.com>
40185
40186         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
40187         * top/maint.mk (cvs-check): Remove target; it was just an alias
40188         to the better-named vc-diff-check.
40189         (maintainer-distcheck): Remove rule.  It was used only from
40190         the (alpha/beta/major) target, and all of its commands but one
40191         were coreutils-specific.
40192         (vc-dist): Remove rule.
40193         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
40194         Run vc-diff-check, not vc-dist.
40195         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
40196
40197 2009-08-27  Bruno Haible  <bruno@clisp.org>
40198
40199         * tests/test-bitrotate.c (main): Remove test that uses a shift count
40200         of 0.
40201
40202 2009-08-27  Bruno Haible  <bruno@clisp.org>
40203
40204         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
40205         compilers.
40206         * doc/func.texi: Document the SunPRO C bug.
40207
40208 2009-08-27  Bruno Haible  <bruno@clisp.org>
40209
40210         Fix link error on Solaris.
40211         * tests/test-parse-duration.c (xstrdup): Remove function.
40212
40213 2009-08-26  Pádraig Brady  <P@draigbrady.com>
40214
40215         ignore-value: handle pointer types, too
40216         * lib/ignore-value.h (__attribute__): Remove definition.
40217         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
40218         of a more concise and more-often effective "(void) i" statement.
40219         (ignore_ptr): New function to suppress warnings from functions that
40220         return pointers, and to make it explicit that one function doesn't
40221         handle all cases.
40222
40223 2009-08-25  Bruno Haible  <bruno@clisp.org>
40224
40225         dup2: work around a Linux bug.
40226         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
40227         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
40228         * doc/posix-functions/dup2.texi: Mention the Linux bug.
40229         Reported by Simon Josefsson.
40230
40231 2009-08-25  Jim Meyering  <meyering@redhat.com>
40232
40233         libguestfs uses gnulib
40234         * users.txt: Add libguestfs.
40235
40236 2009-08-24  Eric Blake  <ebb9@byu.net>
40237
40238         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
40239         * lib/pipe2.c (includes): Add binary-io.h.
40240         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
40241
40242 2009-08-24  Bruno Haible  <bruno@clisp.org>
40243
40244         Tolerate declared but missing accept4 syscall.
40245         * lib/accept4.c (accept4): Invoke original accept4 function first, if
40246         available.
40247         * lib/sys_socket.in.h (accept4): If the function is already present,
40248         override it.
40249         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
40250         * modules/accept4 (Makefile.am): Compile accept4.c always.
40251         Reported by Paolo Bonzini and Eric Blake.
40252
40253 2009-08-23  Bruno Haible  <bruno@clisp.org>
40254
40255         New module 'accept4'.
40256         * lib/sys_socket.in.h (accept4): New declaration.
40257         * lib/accept4.c: New file.
40258         * m4/accept4.m4: New file.
40259         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
40260         GNULIB_ACCEPT4, HAVE_ACCEPT4.
40261         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
40262         HAVE_ACCEPT4.
40263         * modules/accept4: New file.
40264         * doc/glibc-functions/accept4.texi: Mention the new module.
40265
40266 2009-08-24  Jim Meyering  <meyering@redhat.com>
40267
40268         progname: also set global program_invocation_name, when possible
40269         Before this change, a libtool-enabled program that calls glibc's
40270         error function would report the program name as
40271         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
40272         * modules/progname (configure.ac): Check for a declaration of
40273         program_invocation_name.
40274         * lib/progname.c:  Include <errno.h>.
40275         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
40276         Set program_invocation_name.
40277
40278 2009-08-23  Bruno Haible  <bruno@clisp.org>
40279
40280         * lib/dup3.c: Include <string.h>.
40281
40282 2009-08-23  Bruno Haible  <bruno@clisp.org>
40283
40284         * lib/dup3.c (dup3): Test only once whether the system actually exists.
40285         * lib/pipe2.c (pipe2): Likewise.
40286         Suggested by Eric Blake.
40287
40288 2009-08-23  Bruno Haible  <bruno@clisp.org>
40289
40290         Tolerate declared but missing dup3 syscall.
40291         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
40292         * lib/unistd.in.h (dup3): If the function is already present,
40293         override it.
40294         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
40295         * modules/dup3 (Makefile.am): Compile dup3.c always.
40296         Reported by Paolo Bonzini.
40297
40298 2009-08-23  Bruno Haible  <bruno@clisp.org>
40299
40300         Tolerate declared but missing pipe2 syscall.
40301         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
40302         available.
40303         * lib/unistd.in.h (pipe2): If the function is already present,
40304         override it.
40305         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
40306         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
40307         Reported by Paolo Bonzini.
40308
40309 2009-08-23  Bruno Haible  <bruno@clisp.org>
40310
40311         * lib/pipe2.c (pipe2): Move #ifs inside function.
40312
40313 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40314
40315         quotearg: document limitations of quote_these_too
40316         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
40317         those limitations are created.
40318         * lib/quotearg.h (set_char_quoting): Document that digits and
40319         letters that are special after backslash are not permitted.
40320         (quotearg_char): Cross-reference set_char_quoting documentation.
40321
40322 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
40323
40324         quotearg: implement custom_quoting_style
40325         * lib/quotearg.c: (struct quoting_options): Add left_quote and
40326         right_quote fields.
40327         (set_custom_quoting): New public function.
40328         (quotearg_buffer_restyled): Add left_quote and right_quote
40329         arguments, handle them very much like locale quoting, and update
40330         all uses.
40331         (quotearg_n_custom): New public function.
40332         (quotearg_n_custom_mem): New public function.
40333         (quotearg_custom): New public function.
40334         (quotearg_custom_mem): New public function.
40335         * lib/quotearg.h: Prototype and document new public functions.
40336         (enum quoting_style): For escape_quoting_style and
40337         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
40338         ignored even though they're otherwise like c_quoting_style.
40339         Add custom_quoting_style member and document with comparison to
40340         clocale_quoting_style.
40341         * tests/test-quotearg.c (custom_quotes): New array.
40342         (custom_results): New array.
40343         (main): Extend to test custom quoting.
40344
40345 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40346
40347         quotearg: fix right quote escaping when it's in quote_these_too
40348         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
40349         quote, be sure to prepend only one backslash.
40350         * tests/test-quotearg.c (use_quote_double_quotes): New function.
40351         (main): Test it.
40352
40353 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
40354
40355         quotearg-tests: test escaping of embedded locale quotes
40356         * tests/test-quotearg.c (struct result_strings): Add member for
40357         new input.
40358         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
40359         (inputs): Add new input.
40360         (results_g): Add expected results.
40361         (flag_results): Likewise.
40362         (locale_results): Likewise.
40363         (compare_strings): Check those.
40364
40365 2009-08-23  Bruno Haible  <bruno@clisp.org>
40366
40367         Tests for module 'dup3'.
40368         * modules/dup3-tests: New file.
40369         * tests/test-dup3.c: New file.
40370
40371         New module 'dup3'.
40372         * lib/unistd.in.h (dup3): New declaration.
40373         * lib/dup3.c: New file.
40374         * m4/dup3.m4: New file.
40375         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
40376         HAVE_DUP3.
40377         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
40378         * modules/dup3: New file.
40379         * doc/glibc-functions/dup3.texi: Mention the new module.
40380
40381 2009-08-23  Bruno Haible  <bruno@clisp.org>
40382
40383         Tweak the dup2 test.
40384         * tests/test-dup2.c (main): Create the test file empty. Verify that an
40385         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
40386         the test file is still empty. Fix argument order of lseek.
40387
40388 2009-08-23  Bruno Haible  <bruno@clisp.org>
40389
40390         Avoid test link errors when the modules getopt-gnu, gettext are used.
40391         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
40392         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40393
40394 2009-08-23  Bruno Haible  <bruno@clisp.org>
40395
40396         Fix getdtablesize() on mingw.
40397         * lib/getdtablesize.c (getdtablesize): Implement differently.
40398         * lib/unistd.in.h (getdtablesize): Improve comment.
40399
40400 2009-08-23  Bruno Haible  <bruno@clisp.org>
40401
40402         New module 'mkostemp'.
40403         Based on Ulrich Drepper's 2007-08-10 change in glibc.
40404         * lib/stdlib.in.h (mksotemp): New declaration.
40405         * lib/mkostemp.c: New file, from glibc with modifications.
40406         * lib/tempname.h (GT_FILE): Remove outdated comment.
40407         (gen_tempname): Add flags argument.
40408         * lib/tempname.c (__GT_BIGFILE): Remove macro.
40409         (__GT_FILE): Map to 1.
40410         (small_open, large_open): Remove macros.
40411         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
40412         * lib/mkstemp.c (mkstemp): Update.
40413         * lib/mkdtemp.c (mkdtemp): Likewise.
40414         * m4/mkostemp.m4: New file.
40415         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
40416         HAVE_MKOSTEMP.
40417         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
40418         HAVE_MKOSTEMP.
40419         * modules/mkostemp: New file, based on modules/mkstemp.
40420         * doc/glibc-functions/mkostemp.texi: Mention the new module.
40421         * NEWS: Mention the change.
40422
40423 2009-08-23  Bruno Haible  <bruno@clisp.org>
40424
40425         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
40426         Reported by Eric Blake.
40427
40428 2009-08-23  Bruno Haible  <bruno@clisp.org>
40429
40430         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
40431         Reported by Eric Blake.
40432
40433 2009-08-23  Bruno Haible  <bruno@clisp.org>
40434
40435         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
40436         * modules/pipe2 (Depends-on): Likewise.
40437
40438 2009-08-23  Eric Blake  <ebb9@byu.net>
40439
40440         fcntl-h: add O_TTY_INIT support
40441         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
40442         * tests/test-fcntl-h.c (o): Test it.
40443         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40444
40445         fcntl-h: rename from fcntl, in preparation for fcntl(2)
40446         * modules/fcntl: Move <fcntl.h> header replacement...
40447         * modules/fcntl-h: ...to new name, so as not to collide with
40448         like-named function.
40449         * tests/test-fcntl.c: Rename...
40450         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
40451         * modules/fcntl-tests: Rename...
40452         * modules/fcntl-h-tests: ...to this.  Update test file name.
40453         * modules/chdir-long (Depends-on): Update clients.
40454         * modules/chdir-safer (Depends-on): Likewise.
40455         * modules/fcntl-safer (Depends-on): Likewise.
40456         * modules/fts (Depends-on): Likewise.
40457         * modules/mkancesdirs (Depends-on): Likewise.
40458         * modules/mkdir-p (Depends-on): Likewise.
40459         * modules/open (Depends-on): Likewise.
40460         * modules/savewd (Depends-on): Likewise.
40461         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
40462         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
40463
40464 2009-08-22  Bruno Haible  <bruno@clisp.org>
40465
40466         * modules/binary-io (License): Relicense under LGPL.
40467         * modules/pipe2 (License): Likewise.
40468
40469 2009-08-22  Bruno Haible  <bruno@clisp.org>
40470
40471         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
40472         return value.
40473         * lib/pipe-filter-gi.c (filter_init): Likewise.
40474         Reported by Eric Blake.
40475
40476 2009-08-22  Bruno Haible  <bruno@clisp.org>
40477
40478         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
40479         * modules/pipe (Depends-on): Add pipe2.
40480
40481 2009-08-22  Bruno Haible  <bruno@clisp.org>
40482
40483         Tests for module 'pipe2'.
40484         * modules/pipe2-tests: New file.
40485         * tests/test-pipe2.c: New file.
40486
40487         New module 'pipe2'.
40488         * lib/unistd.in.h (pipe2): New declaration.
40489         * lib/pipe2.c: New file.
40490         * m4/pipe2.m4: New file.
40491         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
40492         HAVE_PIPE2.
40493         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
40494         * modules/pipe2: New file.
40495         * doc/glibc-functions/pipe2.texi: Mention the new module.
40496
40497 2009-08-22  Bruno Haible  <bruno@clisp.org>
40498
40499         Reference some new glibc functions.
40500         * doc/glibc-functions/accept4.texi: New file.
40501         * doc/glibc-functions/dup3.texi: New file.
40502         * doc/glibc-functions/mkostemp.texi: New file.
40503         * doc/glibc-functions/pipe2.texi: New file.
40504         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
40505         (Glibc sys/socket.h): Refer to accept4.
40506         (Glibc unistd.h): Refer to dup3, pipe2.
40507         Reported by Eric Blake.
40508
40509 2009-08-22  Jim Meyering  <meyering@redhat.com>
40510             Bruno Haible  <bruno@clisp.org>
40511
40512         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
40513         This makes it so packages using automake-1.11's silent-rules option
40514         can print e.g., a single "GEN    configmake.h" line, rather than
40515         the 30+ statements that perform the job.  If you want to see the
40516         actual commands, you can still run "make V=1".
40517         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
40518         so that make output is abbreviated when those variables are defined
40519         appropriately.
40520         * modules/argz: Likewise.
40521         * modules/arpa_inet: Likewise.
40522         * modules/byteswap: Likewise.
40523         * modules/configmake: Likewise.
40524         * modules/dirent: Likewise.
40525         * modules/errno: Likewise.
40526         * modules/fcntl: Likewise.
40527         * modules/float: Likewise.
40528         * modules/fnmatch: Likewise.
40529         * modules/getopt-posix: Likewise.
40530         * modules/glob: Likewise.
40531         * modules/iconv_open: Likewise.
40532         * modules/inttypes: Likewise.
40533         * modules/localcharset: Likewise.
40534         * modules/locale: Likewise.
40535         * modules/math: Likewise.
40536         * modules/netdb: Likewise.
40537         * modules/netinet_in: Likewise.
40538         * modules/poll: Likewise.
40539         * modules/posix_spawnp-tests: Likewise.
40540         * modules/sched: Likewise.
40541         * modules/search: Likewise.
40542         * modules/selinux-h: Likewise.
40543         * modules/signal: Likewise.
40544         * modules/spawn: Likewise.
40545         * modules/stdarg: Likewise.
40546         * modules/stdbool: Likewise.
40547         * modules/stddef: Likewise.
40548         * modules/stdint: Likewise.
40549         * modules/stdio: Likewise.
40550         * modules/stdlib: Likewise.
40551         * modules/string: Likewise.
40552         * modules/strings: Likewise.
40553         * modules/sys_file: Likewise.
40554         * modules/sys_ioctl: Likewise.
40555         * modules/sys_select: Likewise.
40556         * modules/sys_socket: Likewise.
40557         * modules/sys_stat: Likewise.
40558         * modules/sys_time: Likewise.
40559         * modules/sys_times: Likewise.
40560         * modules/sys_utsname: Likewise.
40561         * modules/sys_wait: Likewise.
40562         * modules/sysexits: Likewise.
40563         * modules/time: Likewise.
40564         * modules/unistd: Likewise.
40565         * modules/wchar: Likewise.
40566         * modules/wctype: Likewise.
40567
40568 2009-08-22  Jim Meyering  <meyering@redhat.com>
40569
40570         announce-gen: detect write failure
40571         * build-aux/announce-gen: Add Coda at end.
40572         Remove equivalent-but-more-verbose block at top.
40573
40574 2009-08-19  Akim Demaille  <demaille@gostai.com>
40575
40576         bootstrap: --help to stdout.
40577         * bootstrap (usage): Don't send --help to stderr.
40578         Use a here doc instead of a long string.
40579
40580 2009-08-21  Eric Blake  <ebb9@byu.net>
40581
40582         test-popen-safer: split from test-popen
40583         * tests/test-popen.c (main): Move...
40584         * tests/test-popen.h: ...into new file.
40585         * tests/test-popen-safer2.c: New file.
40586         * modules/popen-tests (Files): Add test-popen.h.
40587         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
40588         Suggested by Bruno Haible.
40589
40590         test-fcntl-safer: split from test-open
40591         * tests/test-open.c (main): Move...
40592         * tests/test-open.h: ...into new file.
40593         * tests/test-fcntl-safer.c: New file.
40594         * modules/open-tests (Files): Add test-open.h.
40595         * modules/fcntl-safer-tests: New file.
40596         Suggested by Bruno Haible.
40597
40598         test-fopen-safer: split from test-fopen
40599         * tests/test-fopen.c (main): Move...
40600         * tests/test-fopen.h: ...into new file.
40601         * tests/test-fopen-safer.c: New file.
40602         * modules/fopen-tests (Files): Add test-fopen.h.
40603         * modules/fopen-safer-tests: New file.
40604         Suggested by Bruno Haible.
40605
40606 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
40607
40608         popen-safer: test O_CLOEXEC at run-time.
40609         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
40610
40611 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
40612
40613         fcntl: move more flags to the header
40614         * lib/cloexec.c: Do not define FD_CLOEXEC here.
40615         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
40616         * lib/fcntl.in.h: Do both things here.
40617
40618 2009-08-21  Jim Meyering  <meyering@redhat.com>
40619
40620         consistently remove $@-t before redirecting to it
40621         * modules/argz: Remove $@-t and $@ before redirecting to the former.
40622         * modules/alloca-opt: Likewise.
40623         * modules/byteswap: Likewise.
40624         * modules/fnmatch: Likewise.
40625         * modules/getopt-posix: Likewise.
40626         * modules/glob: Likewise.
40627         * modules/poll: Likewise.
40628         * modules/posix_spawnp-tests: Likewise.
40629         * modules/sys_socket: Likewise.
40630         * modules/sysexits: Likewise.
40631
40632 2009-08-21  Eric Blake  <ebb9@byu.net>
40633
40634         popen: simplify access to original popen
40635         * lib/popen.c (rpl_popen): No need to worry about popen being a
40636         macro.
40637         Reported by Bruno Haible.
40638
40639 2009-08-20  Eric Blake  <ebb9@byu.net>
40640
40641         build: avoid some compiler warnings
40642         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
40643         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
40644         type.
40645         (new_exclude_segment, excluded_file_pattern_p)
40646         (excluded_file_name_p): Reduce scope.
40647         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
40648         old-style declaration.
40649
40650 2009-08-20  Simon Josefsson  <simon@josefsson.org>
40651
40652         * tests/test-exclude1.sh: Handle Windows EOL.
40653         * tests/test-exclude2.sh: Likewise.
40654         * tests/test-exclude3.sh: Likewise.
40655         * tests/test-exclude4.sh: Likewise.
40656         * tests/test-exclude5.sh: Likewise.
40657         * tests/test-exclude6.sh: Likewise.
40658         * tests/test-exclude7.sh: Likewise.
40659
40660 2009-08-19  Akim Demaille  <demaille@gostai.com>
40661
40662         bootstrap: find sha1sum when named gsha1sum.
40663         * bootstrap (find_tool): New.
40664         ($SHA1SUM): New.
40665         Use it.
40666
40667 2009-08-20  Jim Meyering  <meyering@redhat.com>
40668
40669         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
40670         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
40671         expression that converts "." in a file name to "\." in the resulting
40672         regexp.  Start with a dummy statement, so that prior shell variable
40673         definitions are expanded portably.  Reported by Simon Josefsson.
40674
40675 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
40676
40677         Fix polling for writeability of a screen buffer.
40678         * lib/poll.c: Distinguish input and screen buffers for the
40679         Win32 implementation.
40680         * lib/select.c: Likewise.
40681
40682 2009-08-19  Eric Blake  <ebb9@byu.net>
40683
40684         popen-safer: prevent popen from clobbering std descriptors
40685         * modules/popen-safer: New file.
40686         * lib/popen-safer.c: Likewise.
40687         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
40688         * lib/stdio--.h (popen): Provide override.
40689         * lib/stdio-safer.h (popen_safer): Provide declaration.
40690         * tests/test-popen.c (includes): Partially test this.
40691         * modules/popen-safer-tests: New file, for more tests.
40692         * tests/test-popen-safer.c: Likewise.
40693         * MODULES.html.sh (file stream based Input/Output): Mention it.
40694
40695         tests: test some of the *-safer modules
40696         * modules/fopen-safer (Depends-on): Add fopen.
40697         * modules/fcntl-safer (Depends-on): Add fcntl.
40698         * modules/stdlib-safer (Depends-on): Add stdlib.
40699         (configure.ac): Set indicator.
40700         * modules/unistd-safer (configure.ac): Likewise.
40701         * modules/tmpfile-safer (configure.ac): Likewise.
40702         (Depends-on): Add tmpfile.
40703         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
40704         active.
40705         * tests/test-fopen.c (includes): Test safer versions when they are
40706         in use.
40707         * tests/test-open.c (includes): Likewise.
40708
40709         popen: fix cygwin 1.5 bug when stdin closed
40710         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
40711         * modules/popen: New file.
40712         * modules/popen-tests: Likewise.
40713         * tests/test-popen.c: Likewise.
40714         * m4/popen.m4: Likewise.
40715         * lib/popen.c: Likewise.
40716         * lib/stdio.in.h (popen): New declaration.
40717         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
40718         * modules/stdio (Makefile.am): Likewise.
40719         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
40720
40721 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
40722
40723         maint.mk: give full control over update-copyright exclusions
40724         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
40725         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
40726         (update-copyright): Don't force inclusion of top-level
40727         ChangeLog.  Don't force exclusion of all COPYING files, but make
40728         them the default exclusion instead.
40729
40730 2009-08-16  Bruno Haible  <bruno@clisp.org>
40731
40732         Fix test failures on Solaris 10.
40733         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
40734         tests when Solaris iconv() is used.
40735         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
40736         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
40737         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
40738         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
40739         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
40740
40741 2009-08-16  Bruno Haible  <bruno@clisp.org>
40742
40743         Fix test failures on Solaris 10.
40744         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
40745         'tr' program and pass it as first argument.
40746         * tests/test-pipe-filter-gi1.sh: Likewise.
40747         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
40748         program as first argument.
40749         * tests/test-pipe-filter-gi1.c (main): Likewise.
40750
40751 2009-08-16  Eric Blake  <ebb9@byu.net>
40752
40753         fpurge: fix previous commits
40754         * modules/fpurge (Makefile.am): Make replacement conditional,
40755         partially reverting 2007-04-29 change; missed in previous
40756         attempt.
40757         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
40758         is missing.
40759
40760 2009-08-16  Bruno Haible  <bruno@clisp.org>
40761
40762         Clarify fpurge's effect on the file position.
40763         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
40764         * tests/test-fpurge.c (main): Make a second pass for checking the file
40765         position.
40766
40767 2009-08-16  Bruno Haible  <bruno@clisp.org>
40768
40769         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
40770         declaration of fpurge is missing.
40771         * tests/test-fpurge.c (main): Check that the file has not more contents
40772         than expected. Close the file before removing it.
40773
40774 2009-08-15  Eric Blake  <ebb9@byu.net>
40775
40776         fpurge: don't wrap working cygwin implementation
40777         * lib/fpurge.c (fpurge): Fix comment typo.
40778         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
40779         1.7 to avoid replacement.
40780         * tests/test-fpurge.c (main): Enhance test.
40781
40782 2009-08-15  Eric Blake  <ebb9@byu.net>
40783         and Jim Meyering  <meyering@redhat.com>
40784
40785         test-update-copyright: skip if perl is insufficient
40786         * tests/test-update-copyright.sh: Failure to run maintainer tool
40787         should not cause testsuite failure on cygwin 1.5.
40788
40789 2009-08-14  Eric Blake  <ebb9@byu.net>
40790
40791         doc: mention more functions added in cygwin 1.7.0
40792         * doc/posix-headers/limits.texi (limits.h): Update for recent
40793         cygwin additions.
40794         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
40795         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
40796         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
40797         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
40798         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
40799
40800 2009-08-14  Eric Blake  <ebb9@byu.net>
40801
40802         maint.mk: simplify update-copyright rule
40803         * top/maint.mk (update-copyright-local): Delete, and document how
40804         to do it in cfg.mk instead.
40805         (update-copyright-exclude-regexp): Delete, and document how to do
40806         it in .x-update-copyright instead.
40807         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
40808         exclude ChangeLog.
40809
40810 2009-08-14  Bruno Haible  <bruno@clisp.org>
40811
40812         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
40813
40814 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40815
40816         maint.mk: support update-copyright-env
40817         * top/maint.mk (update-copyright-env): Define place-holder.
40818         (update-copyright): Expand $(update-copyright-env) before
40819         invoking update-copyright.
40820
40821 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40822
40823         update-copyright: implement forced reformatting
40824         * build-aux/update-copyright: Implement and document
40825         UPDATE_COPYRIGHT_FORCE.
40826         * tests/test-update-copyright.sh: Test it.
40827
40828 2009-08-14  Eric Blake  <ebb9@byu.net>
40829         and Bruno Haible  <bruno@clisp.org>
40830
40831         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
40832         * tests/test-locale.c: Revert previous patch related to NULL.
40833         * tests/test-stdio.c: Likewise.
40834         * tests/test-stdlib.c: Likewise.
40835         * tests/test-string.c: Likewise.
40836         * tests/test-unistd.c: Likewise.
40837         * modules/time-tests (Depends-on): Add verify.
40838         * modules/wchar-tests (Depends-on): Likewise.
40839         * tests/test-time.c: Test for NULL compliance.
40840         * tests/test-wchar.c: Likewise.
40841         * modules/locale (Depends-on): Add stddef.
40842         * modules/stdio (Depends-on): Likewise.
40843         * modules/stdlib (Depends-on): Likewise.
40844         * modules/string (Depends-on): Likewise.
40845         * modules/time (Depends-on): Likewise.
40846         * modules/unistd (Depends-on): Likewise.
40847         * modules/wchar (Depends-on): Likewise.
40848         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
40849         * lib/stdlib.in.h (includes): Likewise.
40850         * lib/string.in.h (includes): Likewise.
40851         * lib/time.in.h (includes): Likewise.
40852         * lib/unistd.in.h (includes): Likewise.
40853         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
40854         replaced.
40855         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
40856         * m4/stddef_h.m4: New file.
40857         * modules/stddef: Likewise.
40858         * lib/stddef.in.h: Likewise.
40859         * modules/stddef-tests: Likewise.
40860         * tests/test-stddef.c: Likewise.
40861         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
40862         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
40863         * doc/posix-headers/locale.texi (locale.h): Likewise.
40864         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
40865         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
40866         * doc/posix-headers/string.texi (string.h): Likewise.
40867         * doc/posix-headers/time.texi (time.h): Likewise.
40868         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
40869         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
40870
40871 2009-08-14  Eric Blake  <ebb9@byu.net>
40872
40873         doc: improve git diff of texinfo files
40874         * .gitattributes: Add rule for *.texi files, with hint on how to
40875         use it.
40876         Copied from m4, and based on a report by Bruno Haible.
40877
40878 2009-08-14  Bruno Haible  <bruno@clisp.org>
40879
40880         Disable multithread support by default on Cygwin 1.5.x for real.
40881         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
40882
40883 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
40884
40885         update-copyright: much ado about intervals
40886         * build-aux/update-copyright: Implement and document
40887         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
40888         of copyright year intervals.
40889         Also, document UPDATE_COPYRIGHT_YEAR.
40890         * tests/test-update-copyright.sh: Test it.
40891
40892         update-copyright: convert 2-digit to 4-digit years
40893         * build-aux/update-copyright: Implement and document.
40894         * tests/test-update-copyright.sh: Update.
40895
40896 2009-08-14  Jim Meyering  <meyering@redhat.com>
40897
40898         test-exclude: avoid coreutils "make check" failure
40899         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
40900         just as in test-argmatch.c.
40901
40902 2009-08-13  Eric Blake  <ebb9@byu.net>
40903
40904         test-dup2: fix bad assumption
40905         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
40906         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
40907
40908         test-version-etc: fix CRLF portability issue
40909         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
40910         recognize \r.
40911         * tests/test-argp-version-etc-1.sh: Likewise.
40912
40913         getopt: update client modules
40914         * modules/argp (Depends-on): Use getopt-gnu.
40915         * modules/git-merge-changelog (Depends-on): Likewise.
40916         * modules/long-options (Depends-on): Likewise.
40917         * modules/xstrtol (Depends-on): Likewise.
40918
40919 2009-08-13  Simon Josefsson  <simon@josefsson.org>
40920
40921         * tests/test-version-etc.sh: Don't fail on different
40922         project/version.  Don't fail on CRLF differences.  Rewrite to use
40923         multiple -e instead of multiple sed forks, suggested by Eric Blake
40924         <ebb9@byu.net>.
40925         * tests/test-argp-version-etc-1.sh: Likewise.
40926
40927 2009-08-13  Simon Josefsson  <simon@josefsson.org>
40928
40929         * tests/test-version-etc.sh: Don't fail on different
40930         project/version.
40931
40932 2009-08-12  Bruno Haible  <bruno@clisp.org>
40933
40934         Tests for modules 'getopt-posix', 'getopt-gnu'.
40935         * modules/getopt-posix-tests: New file.
40936         * tests/test-getopt.c: New file.
40937         * tests/test-getopt.h: New file.
40938         * tests/test-getopt_long.h: New file.
40939
40940         New modules 'getopt-posix', 'getopt-gnu'.
40941         * modules/getopt-gnu: New file, renamed from modules/getopt.
40942         * modules/getopt-posix: New file.
40943         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
40944         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
40945         (gl_GETOPT): Remove macro.
40946         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
40947         Disable the test against BSD systems that declare optreset. Test
40948         against mingw bug. Test against lack of support of optional arguments
40949         on many platforms.
40950         * doc/glibc-headers/getopt.texi: Update module name and list of
40951         relevant platforms.
40952         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
40953         'getopt-gnu' and more portability problems.
40954         * NEWS: Mention the changes.
40955
40956 2009-08-12  Bruno Haible  <bruno@clisp.org>
40957
40958         Ensure that optarg etc. get declared by <unistd.h>.
40959         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
40960         AC_USE_SYSTEM_EXTENSIONS.
40961         * modules/getopt (Depends-on): Add 'extensions'.
40962
40963 2009-08-12  Bruno Haible  <bruno@clisp.org>
40964
40965         Avoid test link errors.
40966         * modules/pipe-filter-ii-tests (Makefile.am): Define
40967         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
40968         * modules/pipe-filter-gi-tests (Makefile.am): Define
40969         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
40970         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
40971
40972 2009-08-12  Bruno Haible  <bruno@clisp.org>
40973
40974         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
40975         gl_GETOPT_SUBSTITUTE before.
40976         (gl_GETOPT): Use it.
40977         * m4/argp.m4 (gl_ARGP): Update.
40978         Reported by Sergey Poznyakoff.
40979
40980         * m4/getopt.m4: Reorder macros.
40981         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
40982         (gl_GETOPT_SUBSTITUTE): Remove macro.
40983
40984 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40985
40986         Minor improvement in gitlog-to-changelog
40987
40988         * build-aux/gitlog-to-changelog: New option `--format' makes
40989         output format string configurable.
40990
40991 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
40992
40993         Optimize exclude: use hash tables for non-wildcard patterns.
40994
40995         * lib/exclude.c: Include hash.h and mbuiter.h
40996         (struct exclude_pattern, exclude_segment): New data types.
40997         (struct exclude): Rewrite.
40998         (fnmatch_pattern_has_wildcards): New function.
40999         (new_exclude_segment, free_exclude_segment): New functions.
41000         (excluded_file_pattern_p, excluded_file_name_p): New functions.
41001         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
41002         * lib/exclude.h (is_fnmatch_pattern): New prototype.
41003         * modules/exclude: Depend on hash and mbuiter.
41004
41005         * modules/exclude-tests: New file.
41006         * tests/test-exclude.c: New file.
41007         * tests/test-exclude1.sh: New file.
41008         * tests/test-exclude2.sh: New file.
41009         * tests/test-exclude3.sh: New file.
41010         * tests/test-exclude4.sh: New file.
41011         * tests/test-exclude5.sh: New file.
41012         * tests/test-exclude6.sh: New file.
41013         * tests/test-exclude7.sh: New file.
41014
41015 2009-08-12  Bruno Haible  <bruno@clisp.org>
41016
41017         Ensure that getopt() gets declared by <unistd.h>.
41018         * lib/unistd.in.h: Conditionally include getopt.h.
41019         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
41020         Set GNULIB_UNISTD_H_GETOPT.
41021         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41022         GNULIB_UNISTD_H_GETOPT.
41023         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
41024
41025 2009-08-12  Bruno Haible  <bruno@clisp.org>
41026
41027         Clarify logic.
41028         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
41029         gl_replace_getopt instead of GETOPT_H.
41030
41031 2009-08-12  Bruno Haible  <bruno@clisp.org>
41032
41033         * m4/getopt.m4: Add comments.
41034
41035 2009-08-12  Bruno Haible  <bruno@clisp.org>
41036
41037         Disable multithread support by default on Cygwin 1.5.x.
41038         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
41039         set gl_use_threads=no if not specified otherwise.
41040
41041 2009-08-11  Bruno Haible  <bruno@clisp.org>
41042
41043         Avoid compilation error on NetBSD 5.0.
41044         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
41045         * tests/test-stdio.c: Likewise.
41046         * tests/test-stdlib.c: Likewise.
41047         * tests/test-string.c: Likewise.
41048         * tests/test-unistd.c: Likewise.
41049         Reported by Greg Troxel <gdt@ir.bbn.com>
41050         at <https://savannah.gnu.org/support/?106973>.
41051
41052 2009-08-11  Bruno Haible  <bruno@clisp.org>
41053
41054         * modules/dup2-tests (Depends-on): Remove close.
41055
41056         Undo 2009-07-19 commit.
41057         * modules/acl-tests (Depends-on): Remove close.
41058         * modules/binary-io-tests (Depends-on): Likewise.
41059         * modules/closein-tests (Depends-on): Likewise.
41060         * modules/flock-tests (Depends-on): Likewise.
41061         * modules/fsync-tests (Depends-on): Likewise.
41062         * modules/lseek-tests (Depends-on): Likewise.
41063         * modules/pipe-tests (Depends-on): Likewise.
41064         * modules/posix_spawn-tests (Depends-on): Likewise.
41065         * modules/posix_spawnp-tests (Depends-on): Likewise.
41066         * modules/stat-time-tests (Depends-on): Likewise.
41067         * modules/yesno-tests (Depends-on): Likewise.
41068
41069 2009-08-10  Bruno Haible  <bruno@clisp.org>
41070
41071         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
41072
41073 2009-08-10  Bruno Haible  <bruno@clisp.org>
41074
41075         Fix a gcc warning.
41076         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
41077
41078 2009-08-10  Bruno Haible  <bruno@clisp.org>
41079
41080         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
41081         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
41082         not only the first time.
41083         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
41084         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
41085         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
41086         is 1, not only the the first time.
41087
41088 2009-08-10  Bruno Haible  <bruno@clisp.org>
41089
41090         Make it possible to use module 'gethostname' without module 'close'.
41091         * lib/unistd.in.h (close): Evoke a link error only if
41092         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41093         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
41094         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41095         * modules/unistd (Makefile.am): Substitute
41096         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41097         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
41098         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
41099         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
41100         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41101         * modules/sys_ioctl (Makefile.am): Substitute
41102         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41103         * modules/socket (configure.ac): On native Windows, set
41104         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
41105         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
41106         Reported by Sam Steingold <sds@gnu.org>.
41107
41108 2009-08-10  Bruno Haible  <bruno@clisp.org>
41109
41110         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
41111         * modules/ioctl (configure.ac): Likewise.
41112
41113 2009-08-10  Bruno Haible  <bruno@clisp.org>
41114
41115         Avoid collision between gnulib wrapper and libintl wrapper.
41116         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
41117         already defined in intl/printf.c.
41118         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
41119         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
41120
41121 2009-08-09  Bruno Haible  <bruno@clisp.org>
41122
41123         Make <sys/select.h> really self-contained, also on Solaris 10.
41124         * lib/sys_select.in.h: Include <string.h>.
41125         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
41126         Solaris 10 problem.
41127         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
41128         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
41129         Reported by Jim Meyering.
41130
41131 2009-08-09  Bruno Haible  <bruno@clisp.org>
41132
41133         Avoid warnings from 'aclocal' that are due to a use of macro name
41134         AM_XGETTEXT_OPTION that is not defined in automake.
41135         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
41136         automake.
41137         * modules/error (configure.ac): Likewise.
41138         * modules/propername (configure.ac): Likewise.
41139         * modules/vasprintf (configure.ac): Likewise.
41140         * modules/verror (configure.ac): Likewise.
41141         * modules/xprintf (configure.ac): Likewise.
41142         * modules/xvasprintf (configure.ac): Likewise.
41143
41144 2009-08-08  Bruno Haible  <bruno@clisp.org>
41145
41146         Avoid compilation error in C++ mode.
41147         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
41148         Reported by Sam Steingold <sds@gnu.org>.
41149
41150 2009-08-08  Bruno Haible  <bruno@clisp.org>
41151
41152         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
41153         for the various Unix platforms.
41154         * doc/posix-headers/limits.texi: Update platforms list regarding
41155         HOST_NAME_MAX.
41156         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
41157
41158 2009-08-07  Jim Meyering  <meyering@redhat.com>
41159
41160         selinux-at: fix typo in a comment
41161         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
41162         Spotted by Paolo Bonzini.
41163
41164         selinux-at: remove redundant m4 code, add documentation
41165         * modules/selinux-at (configure.ac): Remove redundant code.
41166         LIB_SELINUX is already set via the dependent module, selinux-h.
41167         (Include): Add quotes around selinux-at.h.
41168         * lib/selinux-at.h: Add documentation.
41169         Reported by Bruno Haible in
41170         http://marc.info/?l=gnulib-bug&m=124958988300749
41171
41172 2009-08-07  Bruno Haible  <bruno@clisp.org>
41173
41174         Avoid link error on MacOS X 10.3 and 10.4.
41175         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
41176         on non-ELF systems.
41177         * lib/argp-pv.c (argp_program_version): Likewise.
41178         Reported by Simon Josefsson.
41179
41180 2009-08-07  Simon Josefsson  <simon@josefsson.org>
41181
41182         * tests/test-version-etc.sh: Use $EXEEXT.
41183
41184 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
41185
41186         update-copyright: update documentation to point to maint.mk
41187         * build-aux/update-copyright: Here.
41188
41189 2009-08-06  Jim Meyering  <meyering@redhat.com>
41190
41191         maint.mk: support update-copyright-local
41192         * top/maint.mk (update-copyright-local): Define place-holder.
41193         (update-copyright): Depend on $(update-copyright-local).
41194
41195 2009-08-06  Jim Meyering  <meyering@redhat.com>
41196
41197         selinux-at: new module
41198         Initially written for coreutils, this module will soon be
41199         used by findutils, too.
41200         * MODULES.html.sh [Misc]: Add selinux-at.
41201         * lib/selinux-at.h: New file, from coreutils.
41202         * lib/selinux-at.c: Likewise.
41203         * modules/selinux-at: Likewise.
41204         (License): Change from LGPL to GPL, since it depends
41205         on the GPL'd openat module.
41206
41207         doc: update README
41208         * README: Remove references to cogito.
41209         Remove cvs-repo-updating instructions from 2007.
41210         Don't imply that CVS is better if you have limited disk space.
41211
41212 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41213
41214         update-copyright: support C-style comments
41215         * build-aux/update-copyright: Implement and document.
41216         * tests/test-update-copyright.sh: Test.
41217
41218 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41219
41220         update-copyright: support omitted "(C)"
41221         * build-aux/update-copyright: Implement and document.  Also,
41222         allow variable whitespace before "(C)".
41223         * tests/test-update-copyright.sh: Test.
41224
41225 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41226
41227         update-copyright: don't trip on non-FSF copyright statements
41228         * build-aux/update-copyright: Fix so that the first correctly
41229         formatted FSF copyright statement is recognized no matter what
41230         appears before it.  Update documentation.
41231         * tests/test-update-copyright.sh: Test that.
41232
41233 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41234
41235         update-copyright: clean up code a little
41236         * build-aux/update-copyright: Append "_re" to the name of any
41237         variable holding a regular expression.
41238         Replace "old" and "new" with "stmt" in variable names.
41239         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
41240         handled correctly.
41241         Format code more consistently.
41242
41243 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
41244
41245         update-copyright-tests: improve portability
41246         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
41247         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
41248
41249 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41250
41251         update-copyright: support @copyright{} and &copy;
41252         * build-aux/update-copyright: Implement and document.
41253         * tests/test-update-copyright.sh: Test.
41254
41255 2009-08-04  Jim Meyering  <meyering@redhat.com>
41256
41257         update-copyright-tests: correctly test EOL=\r\n handling
41258         * tests/test-update-copyright.sh: Put \r at the end of some lines
41259         for the dos-eol tests.  Based on a patch by Joel E. Denny.
41260
41261         maint.mk: make update-copyright exclusion list more configurable
41262         * top/maint.mk (update-copyright): Default to excluding COPYING,
41263         but allow an override, in case someone does want to update that file.
41264
41265         maint.mk: don't update copyright date in COPYING
41266         * top/maint.mk (update-copyright): Exclude COPYING.
41267
41268         maint.mk: add a copyright-updating rule
41269         * top/maint.mk (update-copyright): New rule.
41270         Derived from coreutils/Makefile.am.
41271
41272         update-copyright: rename some variables
41273         * build-aux/update-copyright: Rename a few variables for clarity.
41274         Tweak syntax.  List Joel E. Denny as coauthor.
41275
41276 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
41277
41278         update-copyright: fix bug for 2-digit last year and add tests
41279         * build-aux/update-copyright: Fix bug.
41280         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
41281         specified.
41282         * modules/update-copyright-tests: New
41283         * tests/test-update-copyright.sh: New.
41284
41285 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41286
41287         update-copyright: handle leading tabs in line prefix
41288         * build-aux/update-copyright: Count leading tabs as 8 spaces
41289         when computing margin.  This helps with the formatting of
41290         ChangeLogs, for example.
41291         Fix documentation a little.
41292
41293 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41294
41295         update-copyright: support EOL=\r\n
41296         * build-aux/update-copyright: Implement that.
41297
41298 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
41299
41300         update-copyright: automatically format copyright statements
41301         * build-aux/update-copyright: Implement that.
41302         Also, be a little more predictable and safer by always failing
41303         when the full copyright format is not perfectly recognized as an
41304         unbroken whole.  Discussed at
41305         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
41306         Rewrite documentation.
41307
41308 2009-08-03  Bruno Haible  <bruno@clisp.org>
41309
41310         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
41311
41312 2009-08-02  Bruno Haible  <bruno@clisp.org>
41313
41314         Tests for module 'uname'.
41315         * modules/uname-tests: New file.
41316         * tests/test-uname.c: New file.
41317
41318         New module 'uname'.
41319         * lib/uname.c: New file.
41320         * m4/uname.m4: New file.
41321         * modules/uname: New file.
41322         * doc/posix-functions/uname.texi: Mention the new module.
41323
41324 2009-08-02  Bruno Haible  <bruno@clisp.org>
41325
41326         Tests for module 'sys_utsname'.
41327         * modules/sys_utsname-tests: New file.
41328         * tests/test-sys_utsname.c: New file.
41329
41330         New module 'sys_utsname'.
41331         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
41332         * m4/sys_utsname_h.m4: New file.
41333         * modules/sys_utsname: New file.
41334         * doc/posix-headers/sys_utsname.texi: Mention the new module.
41335
41336 2009-08-02  Bruno Haible  <bruno@clisp.org>
41337
41338         Implicitly initialize the sockets library.
41339         * lib/gethostname.c: Include sockets.h.
41340         (rpl_gethostname): Invoke gl_sockets_startup.
41341         * lib/socket.c: Include sockets.h.
41342         (rpl_socket): Invoke gl_sockets_startup.
41343         * modules/gethostname (Depends-on): Add sockets.
41344         * modules/socket (Depends-on): Likewise.
41345         * tests/test-poll.c: Don't include sockets.h.
41346         (main): Don't invoke gl_sockets_startup.
41347         * tests/test-select.c: Don't include sockets.h.
41348         (main): Don't invoke gl_sockets_startup.
41349
41350 2009-08-02  Bruno Haible  <bruno@clisp.org>
41351
41352         Allow multiple calls to gl_sockets_startup.
41353         * lib/sockets.c (initialized_sockets_version): New variable.
41354         (gl_sockets_startup): Do nothing if already called for this or a higher
41355         version.
41356         (gl_sockets_cleanup): Reset initialized_sockets_version.
41357
41358 2009-08-03  Simon Josefsson  <simon@josefsson.org>
41359
41360         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
41361         different project/version.
41362
41363 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
41364             Bruno Haible  <bruno@clisp.org>
41365
41366         Tests for module 'pipe-filter-gi'.
41367         * modules/pipe-filter-gi-tests: New file.
41368         * tests/test-pipe-filter-gi1.sh: New file.
41369         * tests/test-pipe-filter-gi1.c: New file.
41370         * tests/test-pipe-filter-gi2.sh: New file.
41371         * tests/test-pipe-filter-gi2-main.c: New file.
41372         * tests/test-pipe-filter-gi2-child.c: New file.
41373
41374         New module 'pipe-filter-gi'.
41375         * lib/pipe-filter-gi.c: New file.
41376         * modules/pipe-filter-gi: New file.
41377
41378 2009-08-02  Bruno Haible  <bruno@clisp.org>
41379             Paolo Bonzini  <bonzini@gnu.org>
41380
41381         Tests for module 'pipe-filter-ii'.
41382         * modules/pipe-filter-ii-tests: New file.
41383         * tests/test-pipe-filter-ii1.sh: New file.
41384         * tests/test-pipe-filter-ii1.c: New file.
41385         * tests/test-pipe-filter-ii2.sh: New file.
41386         * tests/test-pipe-filter-ii2-main.c: New file.
41387         * tests/test-pipe-filter-ii2-child.c: New file.
41388
41389         New module 'pipe-filter-ii'.
41390         * lib/pipe-filter.h: New file.
41391         * lib/pipe-filter-ii.c: New file.
41392         * lib/pipe-filter-aux.h: New file.
41393         * modules/pipe-filter-ii: New file.
41394
41395 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41396
41397         * lib/gc-libgcrypt.c: Change copyright to FSF.
41398         * lib/gc-gnulib.c: Likewise.
41399
41400 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
41401
41402         * lib/gethostname.c: Include limits.h.
41403
41404 2009-08-02  Simon Josefsson  <simon@josefsson.org>
41405             Bruno Haible  <bruno@clisp.org>
41406
41407         Ensure HOST_NAME_MAX as part of the gethostname module.
41408         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
41409         define also HOST_NAME_MAX.
41410         * tests/test-gethostname.c: Include <limits.h>.
41411         (main): Check also HOST_NAME_MAX.
41412         * doc/posix-headers/limits.texi: Document the mingw problem.
41413
41414 2009-08-02  Bruno Haible  <bruno@clisp.org>
41415
41416         * lib/gethostname.c (gethostname): Fix handling of large len argument.
41417         Add comments.
41418
41419 2009-03-31  Simon Josefsson  <simon@josefsson.org>
41420
41421         * lib/gethostname.c: Add Windows wrapper.
41422         * m4/gethostname.m4: Look for gethostname in -lws2_32.
41423         * modules/gethostname: Depend on sys_socket & errno, for also
41424         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
41425         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
41426
41427 2009-07-31  Jim Meyering  <meyering@redhat.com>
41428
41429         getloadavg: fix symbol name in comment
41430         * lib/getloadavg.c: Correct a typo I introduced when adding
41431         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
41432         Matt Kraai spotted the problem.
41433
41434 2009-07-29  Matt Kraai  <mkraai@beckman.com>
41435
41436         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
41437         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
41438         code also if ! defined N_NAME_POINTER.
41439         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
41440         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
41441         but the n_name member is a 12-byte array.
41442
41443 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
41444
41445         update-copyright: generalize comment handling
41446         * build-aux/update-copyright: Handle copyright statements
41447         within more comment styles.
41448         Document usage.
41449         Report any file with an external copyright holder or parse failure.
41450
41451 2009-07-29  Jim Meyering  <meyering@redhat.com>
41452
41453         mktime: correct setting of REPLACE_MKTIME
41454         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
41455
41456         update-copyright: new module
41457         * modules/update-copyright: New file.
41458         * build-aux/update-copyright: New file.
41459         * MODULES.html.sh (maint+release support): Add update-copyright.
41460
41461 2009-07-27  Bruno Haible  <bruno@clisp.org>
41462
41463         Fix compilation error when <ctime> is used and mktime is replaced.
41464         * lib/time.in.h (mktime): New declaration.
41465         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
41466         REPLACE_MKTIME instead of defining mktime in config.h.
41467         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
41468         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
41469         Reported by Ross McFarland <rwmcfa1@neces.com>.
41470
41471 2009-07-27  Bruno Haible  <bruno@clisp.org>
41472
41473         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
41474         Reported by Matt Kraai <mkraai@beckman.com>.
41475
41476 2009-07-25  Jim Meyering  <meyering@redhat.com>
41477
41478         maint.mk: avoid warnings about missing files
41479         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
41480         diagnostic when .prev-version does not exist.
41481         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
41482         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
41483         nonexistent cfg.mk.
41484         Suggestions from Simon Josefsson.
41485
41486 2009-07-25  Bruno Haible  <bruno@clisp.org>
41487
41488         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
41489         defined as macros. Needed on QNX 6.4.1.
41490         Reported by Matt Kraai <mkraai@beckman.com>.
41491
41492 2009-07-23  Jim Meyering  <meyering@redhat.com>
41493
41494         maint.mk: invoke "make dist" with a working value of XZ_OPT
41495         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
41496
41497 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
41498
41499         Make fseeko.c compile on QNX.
41500         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
41501
41502 2009-07-22  Peter Simons  <simons@cryp.to>
41503
41504         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
41505         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
41506         * lib/md4.h: Likewise.
41507         * lib/md5.h: Likewise.
41508         * lib/sha1.h: Likewise.
41509         * lib/sha256.h: Likewise.
41510         * lib/sha512.h: Likewise.
41511
41512         tests-sha1: don't assign literal string to 'char *' variable
41513         * tests/test-sha1.c (main): Declare locals with "const" to match
41514         attributes of the right hand side.
41515
41516 2009-07-21  Eric Blake  <ebb9@byu.net>
41517
41518         dup2: fix more mingw problems
41519         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
41520         fd to itself.
41521         * doc/posix-functions/dup2.texi (dup2): Document the bug.
41522         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
41523         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
41524         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
41525         care of mingw bugs.
41526
41527 2009-07-21  Jim Meyering  <meyering@redhat.com>
41528
41529         vc-list-files: avoid failure when /bin/sh is dash
41530         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
41531         On some Debian based systems, /bin/sh is a symlink to dash, and running
41532         this command would omit the "/" following each 'tests' prefix:
41533           dash -x build-aux/vc-list-files -C . tests
41534         That is because bash and dash work differently:
41535           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
41536           bash ok
41537           dash odd
41538
41539 2009-07-21  Eric Blake  <ebb9@byu.net>
41540
41541         dup2-tests: test previous patch
41542         * modules/dup2-tests: New file.
41543         * tests/test-dup2.c: Likewise.
41544         * tests/test-open.c (main): Avoid unspecified behavior.
41545         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
41546         test.
41547
41548         dup2: work around mingw and cygwin 1.5 bug
41549         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
41550         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
41551         * modules/unistd (Makefile.am): Substitute it.
41552         * lib/unistd.in.h (dup2): Declare the replacement.
41553         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
41554         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
41555         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
41556         * modules/execute (Depends-on): Add dup2.
41557         * modules/fseterr (Depends-on): Likewise.
41558         * modules/pipe (Depends-on): Likewise.
41559         * modules/posix_spawn-internal (Depends-on): Likewise.
41560
41561 2009-07-21  Bruno Haible  <bruno@clisp.org>
41562
41563         * modules/.gitattributes: New file.
41564
41565 2009-07-20  Bruno Haible  <bruno@clisp.org>
41566
41567         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
41568         (main): Use it.
41569
41570 2009-07-20  Eric Blake  <ebb9@byu.net>
41571
41572         test-pipe: make a bit more robust.
41573         * tests/test-pipe.c (myerr): Allow error messages regardless of
41574         what we do to stderr.
41575         (test_pipe): Rearrange to avoid deadlock.
41576         (child_main): Try a larger read, to ensure we avoided deadlock.
41577         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
41578         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
41579         if misused.
41580
41581 2009-07-19  Jim Meyering  <meyering@redhat.com>
41582
41583         fts: avoid false-positive cycle-detection
41584         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
41585         for each new command line argument.
41586
41587 2009-07-19  Bruno Haible  <bruno@clisp.org>
41588
41589         Fix build error on mingw with the modules sys_select and unistd.
41590         * modules/acl-tests (Depends-on): Add close.
41591         * modules/binary-io-tests (Depends-on): Likewise.
41592         * modules/closein-tests (Depends-on): Likewise.
41593         * modules/flock-tests (Depends-on): Likewise.
41594         * modules/fsync-tests (Depends-on): Likewise.
41595         * modules/lseek-tests (Depends-on): Likewise.
41596         * modules/pipe-tests (Depends-on): Likewise.
41597         * modules/posix_spawn-tests (Depends-on): Likewise.
41598         * modules/posix_spawnp-tests (Depends-on): Likewise.
41599         * modules/stat-time-tests (Depends-on): Likewise.
41600         * modules/yesno-tests (Depends-on): Likewise.
41601
41602 2009-07-19  Bruno Haible  <bruno@clisp.org>
41603
41604         Unify conditionals.
41605         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
41606         macros, not at the compiler macros.
41607         * lib/pipe.c: Likewise.
41608         * lib/execute.c: Likewise.
41609         * lib/spawni.c: Likewise.
41610
41611 2009-07-19  Bruno Haible  <bruno@clisp.org>
41612
41613         Fix handling of closed stdin/stdout/stderr on mingw.
41614         * lib/w32spawn.h: Include unistd.h.
41615         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
41616         file descriptor with O_NOINHERIT flag.
41617         (fd_safer_noinherit): New function, based on fd-safer.c.
41618         (dup_safer_noinherit): New function, based on dup-safer.c.
41619         (undup_safer_noinherit): New function.
41620         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
41621         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
41622         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
41623         instead of fd_safer.
41624         * tests/test-pipe.c: Include <windows.h>.
41625         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
41626         result.
41627
41628         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
41629         from main.
41630         (test_pipe): Pass an extra argument for disambiguation.
41631         (main): Invoke parent_main or child_main.
41632
41633         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
41634         consistently.
41635
41636 2009-07-18  Eric Blake  <ebb9@byu.net>
41637
41638         test-pipe: fix mingw build
41639         * tests/test-pipe.c (main): Avoid fcntl on mingw.
41640
41641 2009-07-18  Bruno Haible  <bruno@clisp.org>
41642
41643         * modules/pipe-tests (Makefile.am): Fix typo.
41644
41645 2009-07-18  Eric Blake  <ebb9@byu.net>
41646
41647         error: fix mingw build
41648         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
41649         Reported by Bruno Haible.
41650
41651         error: avoid undefined use of stdout
41652         * lib/error.c (error, error_at_line): Check that fd 1 is open
41653         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
41654         is handling faults and the close_stdout module wants to report the
41655         detection of closed stdout as an error.
41656
41657 2009-07-17  Eric Blake  <ebb9@byu.net>
41658
41659         pipe: be robust in face of closed fds
41660         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
41661         should cause child to misbehave.
41662         * modules/pipe-tests: New module.
41663         * tests/test-pipe.c: New file.
41664         * tests/test-pipe.sh: New file.
41665         Reported by Akim Demaille.
41666
41667 2009-07-14  Bruno Haible  <bruno@clisp.org>
41668
41669         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
41670         Reported by anonymous kc.
41671
41672 2009-07-07  Jim Meyering  <meyering@redhat.com>
41673
41674         maint.mk: don't look for translatable strings in *.m4 or *.mk
41675         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
41676         when searching for translatable strings.
41677
41678 2009-07-05  Jim Meyering  <meyering@redhat.com>
41679
41680         remove superfluous parentheses in STREQ definition
41681         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
41682         * lib/getugroups.c (STREQ): Likewise.
41683         * lib/fnmatch.c (STREQ): Likewise.
41684         Spotted by Bruno Haible.
41685
41686 2009-07-04  Jim Meyering  <meyering@redhat.com>
41687
41688         argv-iter: new module
41689         * MODULES.html.sh: Add argv-iter.
41690         * lib/argv-iter.c, lib/argv-iter.h: New files.
41691         * modules/argv-iter: New file.
41692         * modules/argv-iter-tests: New file.
41693         * tests/test-argv-iter.c: Test it.
41694
41695 2009-07-04  Bruno Haible  <bruno@clisp.org>
41696
41697         Fix assertion.
41698         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
41699         contains more exact copies of a given entry than file2, leave the extra
41700         copies unpaired rather than aborting.
41701         Reported by Eric Blake.
41702
41703 2009-07-02  Bruno Haible  <bruno@clisp.org>
41704
41705         Speedup git-merge-changelog for git cherry-pick.
41706         * lib/git-merge-changelog.c (struct entries_mapping): New type.
41707         (entries_mapping_get): New function, extracted from compute_mapping.
41708         (entries_mapping_reverse_get): New function.
41709         (compute_mapping): Add a 'full' argument. Return the result in a
41710         'struct entries_mapping'.
41711         (main): Update. Access the mappings through entries_mapping_get.
41712         Reported by Eric Blake.
41713
41714 2009-07-02  Bruno Haible  <bruno@clisp.org>
41715
41716         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
41717         best_i.
41718
41719 2009-07-02  Bruno Haible  <bruno@clisp.org>
41720
41721         Speed up approximate search for matching ChangeLog entries.
41722         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
41723         argument. Call fstrcmp_bounded instead of fstrcmp.
41724         (compute_mapping, try_split_merged_entry, main): Update callers.
41725
41726 2009-07-02  Bruno Haible  <bruno@clisp.org>
41727
41728         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
41729
41730 2009-06-30  Bruno Haible  <bruno@clisp.org>
41731
41732         Reduce the number of uc_is_cased calls.
41733         * lib/unicase.h (casing_suffix_context_t): Add
41734         'first_char_except_ignorable' field.
41735         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
41736         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
41737         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
41738         Update initializer.
41739         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
41740         case-ignorable characters.
41741         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
41742         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
41743         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
41744         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
41745         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
41746
41747 2009-06-30  Bruno Haible  <bruno@clisp.org>
41748
41749         Tests for module 'unicase/ignorable'.
41750         * modules/unicase/ignorable-tests: New file.
41751         * tests/unicase/test-ignorable.c: New file, generated by
41752         gen-uni-tables.
41753
41754         Tests for module 'unicase/cased'.
41755         * modules/unicase/cased-tests: New file.
41756         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
41757         * tests/unicase/test-predicate-part1.h: New file, derived from
41758         tests/unictype/test-predicate-part1.h.
41759         * tests/unicase/test-predicate-part2.h: New file, same as
41760         tests/unictype/test-predicate-part2.h.
41761
41762         Fix evaluation of "Before C" condition of FINAL_SIGMA.
41763         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
41764         (output_casing_properties): New function.
41765         (main): Call it.
41766         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
41767         * lib/unicase/cased.c: Include unictype/bitmap.h.
41768         (uc_is_cased): Define through a bitmap lookup.
41769         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
41770         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
41771         (uc_is_case_ignorable): Define through a bitmap lookup.
41772         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
41773         lib/unictype/bitmap.h.
41774         (Depends-on): Add inline. Clean up.
41775         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
41776         lib/unictype/bitmap.h.
41777         (Depends-on): Add inline. Clean up.
41778         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
41779         recognition.
41780         * tests/unicase/test-u16-tolower.c (main): Likewise.
41781         * tests/unicase/test-u32-tolower.c (main): Likewise.
41782
41783 2009-06-30  Bruno Haible  <bruno@clisp.org>
41784
41785         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
41786         * lib/unicase/u16-casemap.c: Likewise.
41787         * lib/unicase/u32-casemap.c: Likewise.
41788
41789 2009-06-29  Bruno Haible  <bruno@clisp.org>
41790
41791         Define u32_casefold as a wrapper around u32_ct_casefold.
41792         * lib/unicase/u32-casefold.c: Update.
41793         * modules/unicase/u32-casefold (Depends-on): Add
41794         unicase/u32-ct-casefold, unicase/empty-prefix-context,
41795         unicase/empty-suffix-context. Clean up.
41796
41797         Define u16_casefold as a wrapper around u16_ct_casefold.
41798         * lib/unicase/u16-casefold.c: Update.
41799         * modules/unicase/u16-casefold (Depends-on): Add
41800         unicase/u16-ct-casefold, unicase/empty-prefix-context,
41801         unicase/empty-suffix-context. Clean up.
41802
41803         Define u8_casefold as a wrapper around u8_ct_casefold.
41804         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
41805         * lib/unicase/u8-casefold.c: Update.
41806         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
41807         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41808
41809         Define u32_totitle as a wrapper around u32_ct_totitle.
41810         * lib/unicase/u32-totitle.c: Update.
41811         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
41812         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41813
41814         Define u16_totitle as a wrapper around u16_ct_totitle.
41815         * lib/unicase/u16-totitle.c: Update.
41816         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
41817         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41818
41819         Define u8_totitle as a wrapper around u8_ct_totitle.
41820         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
41821         functions.
41822         (FUNC): Delegate to U_CT_TOTITLE.
41823         * lib/unicase/u8-totitle.c: Update.
41824         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
41825         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
41826
41827         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
41828         invocation.
41829         * modules/unicase/u32-tolower (Depends-on): Add
41830         unicase/empty-prefix-context, unicase/empty-suffix-context.
41831
41832         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
41833         invocation.
41834         * modules/unicase/u16-tolower (Depends-on): Add
41835         unicase/empty-prefix-context, unicase/empty-suffix-context.
41836
41837         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
41838         * modules/unicase/u8-tolower (Depends-on): Add
41839         unicase/empty-prefix-context, unicase/empty-suffix-context.
41840
41841         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
41842         invocation.
41843         * modules/unicase/u32-toupper (Depends-on): Add
41844         unicase/empty-prefix-context, unicase/empty-suffix-context.
41845
41846         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
41847         invocation.
41848         * modules/unicase/u16-toupper (Depends-on): Add
41849         unicase/empty-prefix-context, unicase/empty-suffix-context.
41850
41851         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
41852         * modules/unicase/u8-toupper (Depends-on): Add
41853         unicase/empty-prefix-context, unicase/empty-suffix-context.
41854
41855         New module 'unicase/u32-ct-casefold'.
41856         * lib/unicase/u32-ct-casefold.c: New file.
41857         * modules/unicase/u32-ct-casefold: New file.
41858
41859         New module 'unicase/u16-ct-casefold'.
41860         * lib/unicase/u16-ct-casefold.c: New file.
41861         * modules/unicase/u16-ct-casefold: New file.
41862
41863         New module 'unicase/u8-ct-casefold'.
41864         * lib/unicase/u8-ct-casefold.c: New file.
41865         * lib/unicase/u-ct-casefold.h: New file, derived from
41866         lib/unicase/u-casefold.h.
41867         * modules/unicase/u8-ct-casefold: New file.
41868
41869         New module 'unicase/u32-ct-totitle'.
41870         * lib/unicase/u32-ct-totitle.c: New file.
41871         * modules/unicase/u32-ct-totitle: New file.
41872
41873         New module 'unicase/u16-ct-totitle'.
41874         * lib/unicase/u16-ct-totitle.c: New file.
41875         * modules/unicase/u16-ct-totitle: New file.
41876
41877         New module 'unicase/u8-ct-totitle'.
41878         * lib/unicase/u8-ct-totitle.c: New file.
41879         * lib/unicase/u-ct-totitle.h: New file, derived from
41880         lib/unicase/u-totitle.h.
41881         * modules/unicase/u8-ct-totitle: New file.
41882
41883         New module 'unicase/u32-ct-tolower'.
41884         * lib/unicase/u32-ct-tolower.c: New file.
41885         * modules/unicase/u32-ct-tolower: New file.
41886
41887         New module 'unicase/u16-ct-tolower'.
41888         * lib/unicase/u16-ct-tolower.c: New file.
41889         * modules/unicase/u16-ct-tolower: New file.
41890
41891         New module 'unicase/u8-ct-tolower'.
41892         * lib/unicase/u8-ct-tolower.c: New file.
41893         * modules/unicase/u8-ct-tolower: New file.
41894
41895         New module 'unicase/u32-ct-toupper'.
41896         * lib/unicase/u32-ct-toupper.c: New file.
41897         * modules/unicase/u32-ct-toupper: New file.
41898
41899         New module 'unicase/u16-ct-toupper'.
41900         * lib/unicase/u16-ct-toupper.c: New file.
41901         * modules/unicase/u16-ct-toupper: New file.
41902
41903         New module 'unicase/u8-ct-toupper'.
41904         * lib/unicase/u8-ct-toupper.c: New file.
41905         * modules/unicase/u8-ct-toupper: New file.
41906
41907         Add context arguments to u*_casemap functions.
41908         * lib/unicase/unicasemap.h: Include unicase.h.
41909         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
41910         suffix_context arguments.
41911         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
41912         functions.
41913         (FUNC): Add prefix_context and suffix_context arguments. Use
41914         uc_is_cased and uc_is_case_ignorable.
41915         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
41916         * lib/unicase/u16-casemap.c: Likewise.
41917         * lib/unicase/u32-casemap.c: Likewise.
41918         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
41919         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41920         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
41921         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41922         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
41923         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
41924
41925         New module 'unicase/u32-suffix-context'.
41926         * lib/unicase/u32-suffix-context.c: New file.
41927         * modules/unicase/u32-suffix-context: New file.
41928
41929         New module 'unicase/u16-suffix-context'.
41930         * lib/unicase/u16-suffix-context.c: New file.
41931         * modules/unicase/u16-suffix-context: New file.
41932
41933         New module 'unicase/u8-suffix-context'.
41934         * lib/unicase/u8-suffix-context.c: New file.
41935         * lib/unicase/u-suffix-context.h: New file.
41936         * modules/unicase/u8-suffix-context: New file.
41937
41938         New module 'unicase/empty-suffix-context'.
41939         * lib/unicase/empty-suffix-context.c: New file.
41940         * modules/unicase/empty-suffix-context: New file.
41941
41942         New module 'unicase/u32-prefix-context'.
41943         * lib/unicase/u32-prefix-context.c: New file.
41944         * modules/unicase/u32-prefix-context: New file.
41945
41946         New module 'unicase/u16-prefix-context'.
41947         * lib/unicase/u16-prefix-context.c: New file.
41948         * modules/unicase/u16-prefix-context: New file.
41949
41950         New module 'unicase/u8-prefix-context'.
41951         * lib/unicase/u8-prefix-context.c: New file.
41952         * lib/unicase/u-prefix-context.h: New file.
41953         * lib/unicase/context.h: New file.
41954         * modules/unicase/u8-prefix-context: New file.
41955
41956         New module 'unicase/empty-prefix-context'.
41957         * lib/unicase/empty-prefix-context.c: New file.
41958         * modules/unicase/empty-prefix-context: New file.
41959
41960         New module 'unicase/ignorable'.
41961         * lib/unicase/ignorable.c: New file.
41962         * modules/unicase/ignorable: New file.
41963
41964         New module 'unicase/cased'.
41965         * lib/unicase/caseprop.h: New file.
41966         * lib/unicase/cased.c: New file.
41967         * modules/unicase/cased: New file.
41968
41969         New functions for case mapping of substrings.
41970         * lib/unicase.h (casing_prefix_context_t): New type.
41971         (unicase_empty_prefix_context): New variable.
41972         (u8_casing_prefix_context, u16_casing_prefix_context,
41973         u32_casing_prefix_context, u8_casing_prefixes_context,
41974         u16_casing_prefixes_context, u32_casing_prefixes_context): New
41975         declarations.
41976         (casing_suffix_context_t): New type.
41977         (unicase_empty_suffix_context): New variable.
41978         (u8_casing_suffix_context, u16_casing_suffix_context,
41979         u32_casing_suffix_context, u8_casing_suffixes_context,
41980         u16_casing_suffixes_context, u32_casing_suffixes_context,
41981         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
41982         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
41983         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
41984         declarations.
41985
41986 2009-06-28  Jim Meyering  <meyering@redhat.com>
41987
41988         boostrap: indent only with spaces
41989         * build-aux/bootstrap: Indent only with spaces, never TABs.
41990
41991         bootstrap: split long lines
41992         * build-aux/bootstrap: Keep line length < 80.
41993
41994         bootstrap: sync from coreutils
41995         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
41996         just as autoreconf does.  Verify a list of prerequisite
41997         package-name,version-number pairs if defined in bootstrap.conf.
41998         Refer to README-prereq, if prerequisites are not satisfied.
41999
42000 2009-06-27  Eric Blake  <ebb9@byu.net>
42001
42002         tests: add test for bogus NULL definition
42003         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
42004         * tests/test-stdlib.c: Likewise.
42005         * tests/test-string.c: Likewise.
42006         * tests/test-locale.c: Likewise.
42007         * tests/test-unistd.c: Likewise.
42008         * modules/stdio-tests (Depends-on): Add verify.
42009         * modules/stdlib-tests (Depends-on): Likewise.
42010         * modules/string-tests (Depends-on): Likewise.
42011         * modules/locale-tests (Depends-on): Likewise.
42012         * modules/unistd-tests (Depends-on): Likewise.
42013
42014 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
42015
42016         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
42017         self-explaining comment.
42018         * m4/selinux-selinux-h: Update serial.
42019         (gl_LIBSELINUX): New macro, adding a warning for missing development
42020         packages to code extracted from...
42021         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
42022         Add warning for missing development packages here, too.
42023
42024 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
42025
42026         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
42027
42028 2009-06-25  Eric Blake  <ebb9@byu.net>
42029
42030         version-etc: fix regression
42031         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
42032         gcc.
42033         (version_etc): Use it, to catch bugs with trailing NULL.
42034         * lib/version-etc.c (version_etc_arn): Delete unused argument.
42035         (version_etc_va): Fix logic bug.
42036         * modules/version-etc-tests: Add test.
42037         * tests/test-version-etc.c: New file.
42038         * tests/test-version-etc.sh: Likewise.
42039
42040 2009-06-25  Sam Steingold  <sds@gnu.org>
42041
42042         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
42043         mbtowc declaration.
42044
42045 2009-06-25  Eric Blake  <ebb9@byu.net>
42046
42047         fpurge: migrate into <stdio.h>
42048         * lib/fpurge.h: Delete...
42049         * lib/stdio.in.h (fpurge): ...and declare here, instead.
42050         * lib/fpurge.c (fpurge): Change declaring header.
42051         * modules/fpurge (Files): Drop deleted file.
42052         (Depends-on): Add stdio.
42053         (configure.ac): Set witness.
42054         * modules/stdio (Makefile.am): Support fpurge macros.
42055         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
42056         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
42057         * lib/fflush.c: Update client.
42058         * tests/test-fpurge.c: Likewise.
42059         * NEWS: Mention the change.
42060
42061 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42062
42063         * lib/argp-version-etc.c (program_authors): Add const
42064         qualifier.
42065         * lib/version-etc.c: Fix typos in the comments.
42066         * modules/argp-version-etc: Depends on version-etc.
42067
42068 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42069
42070         argp-version-etc: new module.
42071
42072         * lib/argp-version-etc.c: New file.
42073         * lib/argp-version-etc.h: New file.
42074         * modules/argp-version-etc: New file.
42075         * modules/argp-version-etc-tests: New file.
42076         * tests/test-argp-version-etc.c: New test.
42077         * tests/test-argp-version-etc-1.sh: New test.
42078
42079 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
42080
42081         Provide additional interfaces and documentation for version-etc
42082         module.
42083
42084         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
42085         interfaces.
42086         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
42087         prototypes.
42088
42089 2009-06-24  Bruno Haible  <bruno@clisp.org>
42090
42091         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
42092         HAVE_LIB${NAME} macro.
42093         Reported by Sam Steingold <sds@gnu.org>.
42094
42095 2009-06-23  Simon Josefsson  <simon@josefsson.org>
42096
42097         * modules/hash-tests (test_hash_LDADD): Link to libintl when
42098         needed.
42099
42100 2009-06-21  Bruno Haible  <bruno@clisp.org>
42101
42102         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
42103         work.
42104         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
42105         together with LIB${NAME}, LTLIB${NAME}.
42106         Reported by Sam Steingold <sds@gnu.org>.
42107
42108 2009-06-20  Jim Meyering  <meyering@redhat.com>
42109
42110         tests: make sc_require_test_exit_idiom more generic
42111         * top/maint.mk (Exit_witness_file): New overridable variable.
42112         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
42113         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
42114
42115 2009-06-19  Jim Meyering  <meyering@redhat.com>
42116
42117         hash: reverse order of src/dst parameters in an internal interface
42118         * lib/hash.c (transfer_entries): Reverse order of parameters to
42119         put DST before SRC.  Adjust callers.
42120
42121         tests: test-hash: avoid wholesale duplication
42122         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
42123         Instead, use a loop and add a single conditional.
42124
42125         tests: test-hash: allow seed selection via a command line argument
42126         * tests/test-hash.c (get_seed): New function.
42127         (main): Use it.
42128
42129 2009-06-19  Eric Blake  <ebb9@byu.net>
42130
42131         hash: avoid memory leak on allocation failure
42132         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
42133         failure.  Factor repeated algorithm...
42134         (transfer_entries): ...into new helper routine.
42135         (hash_delete): React to hash_rehash return value.
42136
42137         hash: reduce memory pressure in hash_rehash no-op case
42138         * lib/hash.c (next_prime): Avoid overflow.
42139         (hash_initialize): Factor bucket size computation...
42140         (compute_bucket_size): ...into new helper function.
42141         (hash_rehash): Use new function and open coding to reduce memory
42142         pressure, and avoid a memory leak in USE_OBSTACK code.
42143         Reported by Jim Meyering.
42144
42145 2009-06-18  Eric Blake  <ebb9@byu.net>
42146
42147         hash: make rotation more obvious
42148         * modules/hash (Depends-on): Add bitrotate and stdint.
42149         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
42150         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
42151         (SIZE_MAX): Rely on headers for definition.
42152         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
42153         (raw_hasher): Use rotr_sz.
42154         Suggested by Jim Meyering.
42155
42156         hash: fix memory leak in last patch
42157         * lib/hash.c (hash_rehash): Avoid memory leak.
42158
42159         hash: avoid no-op rehashing
42160         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
42161
42162         hash: provide default callback functions
42163         * lib/hash.c (raw_hasher, raw_comparator): New functions.
42164         (hash_initialize): Use them as defaults.
42165         * tests/test-hash.c (main): Test this.
42166
42167         hash: minor optimization
42168         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
42169         when possible.
42170         (hash_initialize): Document this promise.
42171         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
42172         * tests/test-hash.c (hash_compare_strings): Test this.
42173
42174 2009-06-18  Bruno Haible  <bruno@clisp.org>
42175
42176         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
42177         going to be replaced anyway.
42178
42179 2009-06-18  Bruno Haible  <bruno@clisp.org>
42180
42181         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
42182         in one place.
42183         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
42184         be replaced anyway.
42185
42186 2009-06-18  Eric Blake  <ebb9@byu.net>
42187
42188         hash: check for resize before insertion
42189         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
42190         threshold before insertion, so that a pathological hash_rehash
42191         that fills every bucket can still trigger another rehash.
42192
42193 2009-06-18  Jim Meyering  <meyering@redhat.com>
42194
42195         hash-tests: add a loop around the small tests
42196         * tests/test-hash.c (main): Repeat small tests with selected
42197         small initial table sizes.
42198
42199 2009-06-17  Eric Blake  <ebb9@byu.net>
42200
42201         hash: minor cleanups
42202         * lib/hash.h (hash_entry): Make opaque, by moving...
42203         * lib/hash.c (hash_entry): ...here.
42204         (hash_insert): Clarify restrictions on what can be inserted.
42205         (hash_get_next): Clarify when it is safe to remove an element
42206         during traversal.
42207         (check_tuning): Skip verification when tuning is known safe.
42208         (hash_initialize): Clarify restrictions on tuning.
42209
42210 2009-06-17  Jim Meyering  <jim@meyering.net>
42211         and Eric Blake  <ebb9@byu.net>
42212
42213         hash-tests: new module
42214         * modules/hash-tests: New file.
42215         * tests/test-hash.c: New file.
42216
42217 2009-06-17  Eric Blake  <ebb9@byu.net>
42218
42219         strstr-simple: document new module
42220         * MODULES.html.sh: Document new module.
42221
42222         strstr, strcasestr: replace on platforms with broken memchr
42223         * modules/strstr: Split into...
42224         * modules/strstr-simple: ...new module that does not care about
42225         performance, but does care about glibc bug.
42226         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
42227         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
42228         if platform memchr is broken, per Debian bug 521737.
42229         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
42230         memchr.
42231         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
42232         * doc/posix-functions/strstr.texi (strstr): Document the fix.
42233         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
42234         * modules/mountlist (Depends-on): Add strstr-simple.
42235         * modules/gen-uni-tables (Depends-on): Likewise.
42236         * modules/argz (Depends-on): Add strstr.
42237
42238 2009-06-17  Bruno Haible  <bruno@clisp.org>
42239
42240         * modules/posix_spawn-internal (Depends-on): Add errno.
42241
42242 2009-06-17  Bruno Haible  <bruno@clisp.org>
42243
42244         Define missing ESTALE on Interix 3.5.
42245         * lib/errno.in.h (ESTALE): Assign a value if missing.
42246         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
42247         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
42248         missing.
42249         * doc/posix-headers/errno.texi: Mention the Interix bug.
42250         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
42251
42252 2009-06-15  Eric Blake  <ebb9@byu.net>
42253
42254         memchr, memchr2: add valgrind exception
42255         * lib/memchr.valgrind: New file.
42256         * lib/memchr2.valgrind: New file.
42257         * modules/memchr (Files): Distribute valgrind file.
42258         * modules/memchr2 (Files): Likewise.
42259
42260         docs: memchr is no longer obsolete
42261         * MODULES.html.sh: Move memchr from obsolete to string.h section.
42262         * lib/string.in.h (memchr): Simplify logic.
42263
42264 2009-06-14  Jim Meyering  <meyering@redhat.com>
42265
42266         link-follow: fix the "checking..." message to not mention trailing slash
42267         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
42268         never considered trailing slashes.
42269
42270 2009-06-14  Bruno Haible  <bruno@clisp.org>
42271
42272         * m4/memchr.m4: Mention also the bug on IA-64.
42273         * doc/posix-functions/memchr.texi: Likewise.
42274
42275 2009-06-12  Eric Blake  <ebb9@byu.net>
42276
42277         memchr: detect broken x86_64 and alpha implementations
42278         * modules/memchr-tests (Depends-on): Move mmap detection...
42279         * modules/memchr (Depends-on): ...here.
42280         (configure.ac): Set indicator.
42281         * lib/string.in.h (memchr): Declare replacement.
42282         * modules/string (Makefile.am): Trigger replacement.
42283         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
42284         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
42285         bugs.
42286         * doc/posix-functions/memchr.texi (memchr): Document the bug.
42287         * modules/getpagesize (License): Relax license.
42288
42289 2009-06-11  Bruno Haible  <bruno@clisp.org>
42290
42291         * lib/idpriv.h: Add more references.
42292
42293 2009-06-08  Bruno Haible  <bruno@clisp.org>
42294
42295         Tests for module 'idpriv-droptemp'.
42296         * modules/idpriv-droptemp-tests: New file.
42297         * tests/test-idpriv-droptemp.sh: New file.
42298         * tests/test-idpriv-droptemp.su.sh: New file.
42299         * tests/test-idpriv-droptemp.c: New file.
42300
42301         New module 'idpriv-droptemp'.
42302         * lib/idpriv-droptemp.c: New file.
42303         * modules/idpriv-droptemp: New file.
42304
42305 2009-06-08  Bruno Haible  <bruno@clisp.org>
42306
42307         Tests for module 'idpriv-drop'.
42308         * modules/idpriv-drop-tests: New file.
42309         * tests/test-idpriv-drop.sh: New file.
42310         * tests/test-idpriv-drop.su.sh: New file.
42311         * tests/test-idpriv-drop.c: New file.
42312
42313         New module 'idpriv-drop'.
42314         * lib/idpriv.h: New file.
42315         * lib-idpriv-drop.c: New file.
42316         * m4/idpriv.m4: New file.
42317         * modules/idpriv-drop: New file.
42318
42319 2009-06-08  Bruno Haible  <bruno@clisp.org>
42320
42321         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
42322         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
42323         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
42324         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
42325         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
42326         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
42327         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
42328
42329 2009-06-08  Eric Blake  <ebb9@byu.net>
42330
42331         test-strstr: use memory fence, when possible
42332         * tests/test-strstr.c (main): Use memory fence, in order to be
42333         more likely to trigger Debian bug 521737.
42334         * modules/strstr-tests (Files): Pull in additional files.
42335
42336         memchr: no longer obsolete, for wider field testing
42337         * modules/memchr (Status, Notice): Delete, this module is no
42338         longer obsolete.
42339         * modules/vasnprintf (Depends-on): Add memchr.
42340
42341 2009-06-07  Jim Meyering  <meyering@redhat.com>
42342
42343         hash: declare some functions with the warn_unused_result attribute
42344         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
42345
42346 2009-06-07  Bruno Haible  <bruno@clisp.org>
42347
42348         * tests/test-alignof.c: Don't test int64_t if it does not exist.
42349         Reported by Eric Blake.
42350
42351 2009-06-06  Eric Blake  <ebb9@byu.net>
42352
42353         test-alignof: fix typo with long double
42354         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
42355         compiler error.
42356
42357 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
42358
42359         Escape non-texinfo { and }s.
42360         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
42361         markup error.
42362
42363 2009-06-04  Jim Meyering  <meyering@redhat.com>
42364
42365         gitlog-to-changelog: don't infloop on an empty commit log
42366         * build-aux/gitlog-to-changelog: Warn about an empty log message.
42367         Reported by Boris Petersen <transacid@centerim.org>.
42368
42369 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
42370
42371         version-etc: extend for packagers
42372         Add three new configure options, intended for packagers:
42373           --with-packager="packager name"
42374           --with-packager-version="packager-specific version"
42375           --with-packager-bug-reports="packager bug reporting"
42376         An example with coreutils:
42377           $ ./configure \
42378             --with-packager=Gentoo \
42379             --with-packager-bug-report=http://bugs.gentoo.org/ \
42380             --with-packager-version="patchset 1.6"
42381           $ ./src/ls --version | head -n2
42382           ls (GNU coreutils) 7.1-dirty
42383           Packaged by Gentoo (patchset 1.6)
42384         Note that the bug reporting info via --help doesn't show up because
42385         coreutils uses its own custom emit_bug_reporting_address() implementation
42386         in src/system.h.  If it didn't, it'd look like:
42387           $ ./src/ls --help | tail -n4
42388           Report bugs to <bug-coreutils@gnu.org>.
42389           Report Gentoo bugs to <http://bugs.gentoo.org/>.
42390           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
42391           General help using GNU software: <http://www.gnu.org/gethelp/>.
42392         * lib/version-etc.c: Print new information, if provided.
42393         * m4/version-etc.m4: New file.
42394         * modules/version-etc (Files): Add m4/version-etc.m4.
42395         (configure.ac): Add gl_VERSION_ETC.
42396
42397 2009-05-31  Bruno Haible  <bruno@clisp.org>
42398
42399         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
42400         and 'int64_t'.
42401         * modules/alignof-tests (Dependencies): Add stdint.
42402         Reported by Eric Blake.
42403
42404 2009-05-31  Bruno Haible  <bruno@clisp.org>
42405
42406         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
42407         restriction due to compiler bugs.
42408         Reported by Eric Blake.
42409
42410 2009-05-31  Simon Josefsson  <simon@josefsson.org>
42411             Bruno Haible  <bruno@clisp.org>
42412
42413         Fix test-alignof failure.
42414         * lib/alignof.h (alignof_slot): New macro.
42415         (alignof_type): New macro, with the same semantics as the previous
42416         'alignof'.
42417         (alignof): Alias to alignof_slot.
42418         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
42419         check that the results are usable as constant expressions.
42420
42421 2009-05-31  Bruno Haible  <bruno@clisp.org>
42422
42423         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
42424         * tests/test-memchr.c (main): Check that memchr does not read past the
42425         first occurrence of the byte.
42426         * tests/test-strstr.c (main): Update comment.
42427         Suggested by Eric Blake.
42428
42429 2009-05-30  Bruno Haible  <bruno@clisp.org>
42430
42431         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
42432         detail how to use dumpbin.
42433         Reported by David Byron <dbyron@dbyron.com>.
42434
42435 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42436
42437         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
42438
42439 2009-06-02  Simon Josefsson  <simon@josefsson.org>
42440
42441         * m4/manywarnings.m4: Add GCC 4.4 warnings.
42442
42443 2009-05-28  Bruno Haible  <bruno@clisp.org>
42444
42445         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
42446         build-aux/ files.
42447
42448 2009-05-28  Simon Josefsson  <simon@josefsson.org>
42449
42450         * gnulib-tool (func_import): Transform license on build-aux/ files too.
42451
42452 2009-05-27  Simon Josefsson  <simon@josefsson.org>
42453
42454         * gnulib-tool (sed_transform_main_lib_file)
42455         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
42456         regexps.
42457
42458 2009-05-26  Simon Josefsson  <simon@josefsson.org>
42459
42460         * tests/test-strstr.c: Add another self-test.
42461         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
42462         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
42463
42464 2009-05-23  Bruno Haible  <bruno@clisp.org>
42465
42466         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
42467         change.
42468
42469 2009-05-21  Bruno Haible  <bruno@clisp.org>
42470
42471         Simplify use of mode_t varargs.
42472         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
42473         uses 'mode_t' or 'int'.
42474         * lib/openat.c (openat): Likewise.
42475         * lib/open-safer.c (open_safer): Likewise.
42476         * m4/mode_t.m4: New file.
42477         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
42478         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
42479         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
42480         * modules/open (Files): Add m4/mode_t.m4.
42481         * modules/openat (Files): Likewise.
42482         * modules/fcntl-safer (Files): Likewise.
42483         Suggested by Eric Blake.
42484
42485 2009-05-21  Pádraig Brady  <P@draigbrady.com>
42486
42487         * doc/glibc-functions/fallocate.texi: New file.
42488         * doc/gnulib.texi: Include it.
42489
42490 2009-05-21  Eric Blake  <ebb9@byu.net>
42491             Bruno Haible  <bruno@clisp.org>
42492
42493         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
42494         invocations.
42495         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
42496
42497 2009-05-21  Eric Blake  <ebb9@byu.net>
42498             Bruno Haible  <bruno@clisp.org>
42499
42500         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
42501         include_next. Fix of 2008-11-20 commit.
42502         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
42503         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
42504         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
42505         NEXT_MATH_H.
42506         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
42507         instead of NEXT_MATH_H.
42508
42509 2009-05-21  Bruno Haible  <bruno@clisp.org>
42510
42511         Avoid redefinition warnings for SIZE_MAX.
42512         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
42513         Reported by Simon Josefsson.
42514
42515 2009-05-21  Bruno Haible  <bruno@clisp.org>
42516
42517         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
42518         AC_CACHE_VAL.
42519
42520 2009-05-20  Bruno Haible  <bruno@clisp.org>
42521
42522         Make zeroptr.h work on mingw.
42523         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
42524         mprotect.
42525         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
42526         * modules/memchr2-tests (configure.ac): Likewise.
42527         * modules/memcmp-tests (configure.ac): Likewise.
42528         * modules/memmem-tests (configure.ac): Likewise.
42529         * modules/memrchr-tests (configure.ac): Likewise.
42530         Reported by Simon Josefsson.
42531
42532 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42533
42534         * tests/test-glob.c: Include string.h for strcmp prototype.
42535
42536 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42537
42538         * modules/getdelim (Depends-on): Add explicit stdint, although it
42539         was implicitly already pulled in via realloc-posix.
42540         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
42541
42542 2009-05-20  Simon Josefsson  <simon@josefsson.org>
42543
42544         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
42545         G. Christensen" <tgc@jupiterrise.com>.
42546         * m4/sys_socket_h.m4: Check for sa_family_t.
42547         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
42548         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
42549         * tests/test-sys_socket.c: Check that sa_family_t works.
42550
42551 2009-05-18  Eric Blake  <ebb9@byu.net>
42552
42553         maint.mk: allow gnulib_dir in VPATH build
42554         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
42555
42556 2009-05-15  Jim Meyering  <meyering@redhat.com>
42557
42558         maint.mk: Give gnulib_dir a default definition.
42559         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
42560         Thus, most packages no longer need to specify this variable in cfg.mk
42561
42562 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
42563
42564         rename.m4: fix typos that would make non-mingw cross-configure fail
42565         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
42566
42567 2009-05-13  Eric Blake  <ebb9@byu.net>
42568
42569         mmap-anon: avoid out-of-order autoconf expansion
42570         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
42571         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
42572         * modules/memchr-tests (Depends-on): Add extensions.
42573         * modules/memchr2-tests (Depends-on): Add extensions.
42574         * modules/memcmp-tests (Depends-on): Add extensions.
42575         * modules/memmem-tests (Depends-on): Add extensions.
42576         * modules/memrchr-tests (Depends-on): Add extensions.
42577
42578 2009-05-13  Bruno Haible  <bruno@clisp.org>
42579
42580         Make some tests ISO C 99 compliant.
42581         * tests/zerosize-ptr.h: New file.
42582         * tests/test-memchr.c: Include zerosize-ptr.h.
42583         (main): Use a zero-size object pointer instead of NULL.
42584         * tests/test-memchr2.c: Include zerosize-ptr.h.
42585         (main): Use a zero-size object pointer instead of NULL.
42586         * tests/test-memcmp.c: Include zerosize-ptr.h.
42587         (main): Use a zero-size object pointer instead of NULL.
42588         * tests/test-memmem.c: Include zerosize-ptr.h.
42589         (main): Use a zero-size object pointer instead of NULL.
42590         * tests/test-memrchr.c: Include zerosize-ptr.h.
42591         (main): Use a zero-size object pointer instead of NULL.
42592         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
42593         m4/mmap-anon.m4.
42594         (Depends-on): Add getpagesize.
42595         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42596         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
42597         m4/mmap-anon.m4.
42598         (Depends-on): Add getpagesize.
42599         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42600         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
42601         m4/mmap-anon.m4.
42602         (Depends-on): Add getpagesize.
42603         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42604         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
42605         m4/mmap-anon.m4.
42606         (Depends-on): Add getpagesize.
42607         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42608         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
42609         m4/mmap-anon.m4.
42610         (Depends-on): Add getpagesize.
42611         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
42612
42613 2009-05-12  Bruno Haible  <bruno@clisp.org>
42614
42615         Tests for module 'alignof'.
42616         * modules/alignof-tests: New file.
42617         * tests/test-alignof.c: New file.
42618
42619 2009-05-12  Bruno Haible  <bruno@clisp.org>
42620
42621         Fix alignof macro.
42622         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
42623         vendor compilers that are always correct.
42624
42625 2009-05-12  Bruno Haible  <bruno@clisp.org>
42626
42627         Make the MAP_ANONYMOUS detection work on HP-UX 11.
42628         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
42629         not whether its fully works.
42630
42631 2009-05-12  Bruno Haible  <bruno@clisp.org>
42632
42633         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
42634
42635 2009-05-12  Jim Meyering  <meyering@redhat.com>
42636
42637         * top/maint.mk: Adjust backslash alignment.
42638
42639 2009-05-11  Simon Josefsson  <simon@josefsson.org>
42640
42641         * top/maint.mk: Make $(srcdir)/build-aux configurable.
42642
42643 2009-05-11  Eric Blake  <ebb9@byu.net>
42644
42645         argp: avoid undefined behavior
42646         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
42647         macros.
42648
42649 2009-05-08  Simon Josefsson  <simon@josefsson.org>
42650
42651         * tests/test-vc-list-files-git.sh: Do git config of user.email and
42652         user.name to prevent git commit from complaining.
42653
42654 2009-05-10  Bruno Haible  <bruno@clisp.org>
42655
42656         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
42657         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
42658         it rewrites every file name only once.
42659         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
42660
42661 2009-05-08  Bruno Haible  <bruno@clisp.org>
42662
42663         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
42664         instead of 'max'.
42665
42666 2009-05-08  Simon Josefsson  <simon@josefsson.org>
42667
42668         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
42669         sockaddr_storage test.
42670
42671 2009-05-07  Simon Josefsson  <simon@josefsson.org>
42672
42673         * modules/sys_socket (Makefile.am): Substitute
42674         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
42675         * m4/sys_socket_h.m4: Check for sockaddr_storage.
42676         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
42677         * tests/test-sys_socket.c: Check sockaddr_storage.
42678
42679 2009-05-08  Bruno Haible  <bruno@clisp.org>
42680
42681         New module 'alignof'.
42682         * lib/alignof.h: New file.
42683         * modules/alignof: New file.
42684
42685 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42686             Bruno Haible  <bruno@clisp.org>
42687
42688         Fix test-file-has-acl on FreeBSD.
42689         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
42690         mask is implicitly added.
42691         * tests/test-file-has-acl.c: Include <signal.h>.
42692         (main): Terminate the test after 5 seconds.
42693         * modules/acl-tests (configure.ac): Check for alarm function.
42694
42695 2009-05-04  Bruno Haible  <bruno@clisp.org>
42696
42697         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
42698         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
42699         * modules/errno (configure.ac): Drop AC_REQUIRE.
42700         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
42701         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
42702
42703 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42704
42705         * modules/glob-tests: New module.
42706         * tests/test-glob.c: Add.
42707
42708 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42709
42710         * modules/fnmatch-tests: New module.
42711         * tests/test-fnmatch.c: Add.
42712
42713 2009-05-04  Eric Blake  <ebb9@byu.net>
42714
42715         maint: make the new no-submodule-changes rule VPATH-safe
42716         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
42717
42718 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42719             Bruno Haible  <bruno@clisp.org>
42720
42721         acl: Fix infinite loop on FreeBSD.
42722         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
42723         of return value from acl_get_entry.
42724         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
42725         Likewise.
42726
42727 2009-05-03  Bruno Haible  <bruno@clisp.org>
42728
42729         * lib/acl-internal.h (acl_entries): Clarify return value.
42730         * lib/acl_entries.c (acl_entries): Likewise.
42731
42732 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42733
42734         Bug fix in acl module.
42735         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
42736
42737 2009-05-03  Bruno Haible  <bruno@clisp.org>
42738
42739         Create gperf-generated file in the source dir, not in the build dir.
42740         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
42741         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
42742         * modules/unicase/locale-language (unicase/locale-languages.h):
42743         Likewise.
42744         * modules/unicase/special-casing (unicase/special-casing-table.h):
42745         Likewise.
42746         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
42747         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
42748         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
42749         Reported by Ralf Wildenhues.
42750
42751 2009-05-03  Bruno Haible  <bruno@clisp.org>
42752
42753         * modules/fnmatch (Description, configure.ac): Taken from
42754         fnmatch-posix.
42755         * modules/fnmatch-posix: Turn into a symbolic reference to the
42756         'fnmatch' module, and deprecate.
42757         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
42758
42759 2009-05-03  Bruno Haible  <bruno@clisp.org>
42760
42761         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
42762         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
42763         Reported by Ralf Wildenhues.
42764
42765 2009-05-04  Simon Josefsson  <simon@josefsson.org>
42766
42767         * m4/fnmatch.m4: Fix fnmatch re-define.
42768
42769 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
42770
42771         priv-set: new module and tests; adapt write-any-file
42772         * lib/priv-set.c: New file.
42773         * lib/priv-set.h: New file.
42774         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
42775         * lib/write-any-file.c: Simplify by using priv-set module.
42776         * m4/priv-set.m4: New file.
42777         * modules/priv-set: New file.
42778         * modules/unlinkdir: Add dependency on priv-set module.
42779         * modules/write-any-file: Likewise.
42780
42781         Tests for module 'priv-set'.
42782         * modules/priv-set-tests: New file.
42783         * tests/test-priv-set.c: New file.
42784
42785 2009-05-03  Jim Meyering  <meyering@redhat.com>
42786             Bruno Haible  <bruno@clisp.org>
42787
42788         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
42789         use the converted UTF-8 variant of the name instead.
42790
42791 2009-05-03  Jim Meyering  <meyering@redhat.com>
42792
42793         tests: tighten some getdate tests
42794         * tests/test-getdate.c (main): Tighten tests: require equality,
42795         not just greater than.  Set TZ envvar to UTC0.
42796
42797 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
42798
42799         getdate: correctly interpret "next monday" when run on a Monday
42800         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
42801         that e.g., "next tues" (when run on a tuesday) results in a date
42802         that is one week in the future, and not today's date.
42803         I.e., add a week when the wday is the same as the current one.
42804         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
42805         and earlier by Martin Bernreuther and Jan Minář.
42806         * tests/test-getdate.c (main): Check that "next DAY" is always in
42807         the future and that "last DAY" is always in the past.
42808
42809 2009-05-02  Jim Meyering  <meyering@redhat.com>
42810
42811         build: ensure that a release build fails when a submodule is unclean
42812         * top/maint.mk (no-submodule-changes): New rule.
42813         (alpha beta major): Depend on it.
42814
42815 2009-05-02  Bruno Haible  <bruno@clisp.org>
42816
42817         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
42818         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
42819         shell variable gl_fnmatch_required to detect which variant is
42820         requested.
42821         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
42822         gl_FUNC_FNMATCH_POSIX.
42823         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
42824         exclude fnmatch-posix.
42825
42826 2009-05-02  Bruno Haible  <bruno@clisp.org>
42827
42828         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
42829         * modules/mbsrtowcs (License): Change to LGPLv2+.
42830         * modules/strnlen1 (License): Likewise.
42831         Reported by Simon Josefsson.
42832
42833 2009-05-02  Bruno Haible  <bruno@clisp.org>
42834
42835         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
42836         "cross".
42837         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
42838         gnulib-tool was called with option --source-base=lib.
42839
42840 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
42841
42842         Use automake *-local hooks without commands, for extensibility.
42843         * modules/localcharset (Makefile.am): Rename install-exec-local
42844         rule to install-exec-localcharset, and make it a prerequisite of
42845         install-exec-local.  Likewise, rename the uninstall-local rule to
42846         uninstall-localcharset, and make it a prerequisite of the former.
42847
42848 2009-05-01  Bruno Haible  <bruno@clisp.org>
42849
42850         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
42851         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
42852         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
42853         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
42854         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
42855         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
42856         m4/locale-zh.m4, m4/codeset.m4.
42857
42858         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
42859         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
42860         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
42861         m4/locale-zh.m4.
42862
42863         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
42864         REPLACE_WCRTOMB if mbstate_t must be replaced.
42865         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
42866         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
42867
42868 2009-05-01  Bruno Haible  <bruno@clisp.org>
42869
42870         Avoid compiler warnings when redefining macros defined by <libintl.h>.
42871         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
42872         dngettext, dcngettext, textdomain, bindtextdomain,
42873         bind_textdomain_codeset): Undefine before redefining.
42874
42875 2009-04-30  Bruno Haible  <bruno@clisp.org>
42876
42877         Fix bug introduced on 2009-04-25.
42878         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
42879         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
42880         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
42881         is defined.
42882         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
42883         is defined.
42884         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
42885         is defined.
42886         Reported by Elbert_Pol <elbert.pol@gmail.com>.
42887
42888 2009-04-28  Bruno Haible  <bruno@clisp.org>
42889
42890         Comment tweaks.
42891         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
42892         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
42893         * lib/unicase.h (u*_casexfrm): Likewise.
42894         Reported by Paolo Bonzini.
42895
42896 2009-04-28  Bruno Haible  <bruno@clisp.org>
42897
42898         Fix a compilation error.
42899         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
42900         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
42901         Reported by Jim Meyering.
42902
42903 2009-04-27  Bruno Haible  <bruno@clisp.org>
42904
42905         New module 'libunistring'.
42906         * modules/libunistring: New file.
42907         * m4/libunistring.m4: New file.
42908         * MODULES.html.sh (Unicode string functions): Add it.
42909
42910 2009-04-27  Eric Blake  <ebb9@byu.net>
42911
42912         maint.mk: allow package-specific header to provide <config.h>
42913         * top/maint.mk (sc_require_config_h): New variable.
42914         (sc_require_config_h, sc_require_config_h_first): Use it.
42915
42916 2009-04-27  Simon Josefsson  <simon@josefsson.org>
42917
42918         * top/maint.mk (sc_avoid_if_before_free): Except
42919         useless-if-before-free script.
42920
42921 2009-04-27  Eric Blake  <ebb9@byu.net>
42922
42923         maintainer-makefile: depend on all required helper scripts
42924         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
42925         useless-if-before-free.
42926         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
42927         version, rather than assuming gnulib checkout is available.
42928         Reported by Simen Josefsson.
42929
42930 2009-04-26  Bruno Haible  <bruno@clisp.org>
42931
42932         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
42933         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
42934         "../" or "..".
42935
42936 2009-04-26  Bruno Haible  <bruno@clisp.org>
42937
42938         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
42939         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
42940         AC_LIB_HAVE_LINKFLAGS.
42941
42942 2009-04-26  Bruno Haible  <bruno@clisp.org>
42943
42944         Simplify calling convention of u*_conv_from_encoding.
42945         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
42946         u32_conv_from_encoding): Expect a resultbuf argument and return the
42947         result directly as a pointer.
42948         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
42949         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
42950         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
42951         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
42952         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
42953         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
42954         Update.
42955         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
42956         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
42957         * lib/vasnprintf.c (VASNPRINTF): Update.
42958         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
42959         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
42960         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
42961         * NEWS: Mention the change.
42962
42963 2009-04-26  Bruno Haible  <bruno@clisp.org>
42964
42965         Simplify calling convention of u*_conv_to_encoding.
42966         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
42967         u32_conv_to_encoding): Expect a resultbuf argument and return the
42968         result directly as a pointer.
42969         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
42970         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
42971         freeing scaled_offsets if mem_iconveha failed.
42972         * lib/unicase/u-casexfrm.h (FUNC): Update.
42973         * lib/uninorm/u-normxfrm.h (FUNC): Update.
42974         * lib/vasnprintf.c (VASNPRINTF): Update.
42975         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
42976         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
42977         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
42978         * NEWS: Mention the change.
42979
42980 2009-04-26  Bruno Haible  <bruno@clisp.org>
42981
42982         Avoid test failures on AIX and OSF/1.
42983         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
42984         malloc(0).
42985         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
42986         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
42987         Likewise.
42988         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
42989         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
42990         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
42991         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
42992         * doc/posix-functions/malloc.texi: Document the portability problem
42993         related to malloc(0).
42994
42995 2009-04-26  Bruno Haible  <bruno@clisp.org>
42996
42997         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
42998         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
42999         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
43000
43001 2009-04-25  Bruno Haible  <bruno@clisp.org>
43002
43003         Avoid link error when creating a namespace clean library.
43004         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
43005         as macro with arguments if already defined as an alias.
43006         * lib/signbitf.c (gl_signbitf): Don't undefine.
43007         * lib/signbitd.c (gl_signbitd): Don't undefine.
43008         * lib/signbitl.c (gl_signbitl): Don't undefine.
43009
43010 2009-04-25  Jim Meyering  <meyering@redhat.com>
43011
43012         vc-list-files: fix another quoting bug
43013         * build-aux/vc-list-files: Avoid sed backslash expansion
43014         of pathological directory names.
43015
43016 2009-04-25  Eric Blake  <ebb9@byu.net>
43017
43018         vc-list-files: fix shell quoting error
43019         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
43020         timestamp.
43021
43022 2009-04-25  Jim Meyering  <meyering@redhat.com>
43023
43024         vc-list-files: restore lost functionality with subdir argument
43025         * build-aux/vc-list-files: When given a non-"." sub-directory
43026         argument, substitute the $dir/ prefix back onto each resulting name.
43027         Otherwise, coreutils' root_tests check would fail.
43028
43029 2009-04-24  Eric Blake  <ebb9@byu.net>
43030
43031         vc-list-files: ignore git symlinks
43032         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
43033         than ls-files, to ignore git symlinks.
43034
43035         maint.mk: import improvements from m4
43036         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
43037         (move_if_change): Delete unused macro.
43038         (news-date-check, vc-diff-check): Support VPATH builds.
43039         (announcement): Likewise.  Split --bootstrap-tools list...
43040         (boostrap-tools): ...into separate list, which can be overridden
43041         in cfg.mk.
43042         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
43043         requiring dependency on useless-if-before-free module.
43044         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
43045         Support VPATH builds.
43046
43047 2009-04-24  Jim Meyering  <meyering@redhat.com>
43048
43049         maint.mk: remove coreutils-specific rules and variables
43050         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
43051         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
43052         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
43053
43054         maint.mk: remove obsolete rule
43055         * top/maint.mk (rel-check): Remove rule.
43056         (WGET, WGETFLAGS): Remove now-unused variables.
43057
43058 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43059
43060         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
43061         consistency.
43062
43063         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
43064         '$(PATH_SEPARATOR)' instead of ':'.
43065
43066 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43067
43068         * lib/getopt1.c (main): Use 'const' for static array.
43069
43070 2009-04-24  Simon Josefsson  <simon@josefsson.org>
43071
43072         * top/maint.mk: Sync with coreutils.
43073         * NEWS: Explain incompatibilities.
43074
43075 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
43076             Bruno Haible  <bruno@clisp.org>
43077
43078         Fix cross-compilation results.
43079         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
43080         statement, as third argument of AC_TRY_RUN.
43081         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
43082         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
43083         Likewise.
43084         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
43085         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
43086         Likewise.
43087         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
43088         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
43089         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
43090
43091 2009-04-20  Bruno Haible  <bruno@clisp.org>
43092
43093         Avoid test failure on mingw.
43094         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
43095
43096 2009-04-20  Bruno Haible  <bruno@clisp.org>
43097
43098         Avoid compilation error on mingw.
43099         * modules/localename-tests (Depends-on): Add locale.
43100
43101 2009-04-19  Bruno Haible  <bruno@clisp.org>
43102
43103         Support for building a shared library on Windows platforms.
43104         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
43105         (main): Test the presence of UNINORM_NFC here.
43106         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
43107         (main): Test the presence of UNINORM_NFD here.
43108         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
43109         (main): Test the presence of UNINORM_NFKC here.
43110         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
43111         (main): Test the presence of UNINORM_NFKD here.
43112
43113 2009-04-19  Bruno Haible  <bruno@clisp.org>
43114
43115         Avoid a compiler warning.
43116         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
43117         Change type of variable 'sequence'.
43118
43119 2009-04-19  Bruno Haible  <bruno@clisp.org>
43120
43121         * modules/configmake (Makefile.am): When the contents of configmake.h
43122         does not change, arrange to preserve its modification time.
43123
43124 2009-04-17  Simon Josefsson  <simon@josefsson.org>
43125
43126         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
43127         gettext domain.
43128
43129 2009-04-16  Jim Meyering  <meyering@redhat.com>
43130
43131         useless-if-before-free: improve conversion code
43132         * build-aux/useless-if-before-free: Adjust code-in-comment to match
43133         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
43134
43135 2009-04-14  Bruno Haible  <bruno@clisp.org>
43136
43137         * modules/fcntl (Depends-on): Add extensions.
43138         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
43139
43140 2009-04-12  Ben Pfaff  <blp@gnu.org>
43141
43142         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
43143         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
43144
43145 2009-03-20  Ben Pfaff  <blp@gnu.org>
43146
43147         Make rename replace existing destinations on Windows.
43148         * m4/rename.m4: Add test for Mingw.
43149         * lib/rename.c: Add rename replacement that uses MoveFileEx with
43150         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
43151         * doc/posix-functions/rename.texi: Document.
43152
43153 2009-04-10  Bruno Haible  <bruno@clisp.org>
43154
43155         New include file "iconveh.h".
43156         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
43157         * lib/striconveh.h: Include it.
43158         (enum iconv_ilseq_handler): Remove definition.
43159         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
43160         striconveh.h.
43161         * lib/striconveha.c: Include striconveh.h.
43162         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
43163         * modules/striconveh (Files): Add lib/iconveh.h.
43164         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
43165         lib/striconveh.h.
43166
43167 2009-04-10  Bruno Haible  <bruno@clisp.org>
43168
43169         * lib/uniconv.h: Update comment.
43170
43171 2009-04-10  Bruno Haible  <bruno@clisp.org>
43172
43173         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
43174         always.
43175         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
43176         * lib/unistr/u16-mbtouc-aux.c: Likewise.
43177         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
43178         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
43179         "unistring-notinline.h", so that the function gets defined always.
43180         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
43181         * lib/unistr/u8-uctomb.c: Likewise.
43182         * lib/unistr/u16-mbtouc.c: Likewise.
43183         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
43184         * lib/unistr/u16-uctomb.c: Likewise.
43185         * lib/unistr/u32-mbtouc.c: Likewise.
43186         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
43187         * lib/unistr/u32-uctomb.c: Likewise.
43188
43189 2009-04-10  Bruno Haible  <bruno@clisp.org>
43190
43191         Mark 'utime' obsolete.
43192         * modules/utime (Status, Notice): New sections.
43193         Suggested by Jim Meyering.
43194
43195         Fix cross-compile guess for utime test.
43196         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
43197         autoconf.
43198         * doc/posix-functions/utime.texi: Give more precisions.
43199         Reported by Jan <ipif@ymail.com>.
43200
43201 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
43202
43203         filevercmp: correct today's change
43204         * lib/filevercmp.c: Also handle coreutils' test inputs.
43205         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
43206
43207         Fix regression in 'filevercmp' module. Thanks Sven Joachim
43208         for reporting it.
43209         * lib/filevercmp.c: Special handle for "", "." and "..".
43210         * tests/test-filevercmp.c: Enlarge the set suite.
43211
43212 2009-04-07  Jim Meyering  <meyering@redhat.com>
43213
43214         useless-if-before-free: show how to remove braced useless free, too
43215         * build-aux/useless-if-before-free: still only in a comment, though.
43216
43217 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
43218
43219         maint.mk: import changes to syntax-check macros from coreutils
43220         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
43221         Use them in the relevant macros.
43222
43223 2009-04-06  Bruno Haible  <bruno@clisp.org>
43224
43225         Fix unportable use of bit-fields.
43226         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
43227         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
43228         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
43229
43230 2009-04-06  Bruno Haible  <bruno@clisp.org>
43231
43232         Avoid test failures on AIX and OSF/1.
43233         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
43234         that malloc(0) = NULL.
43235         * tests/unicase/test-u8-tolower.c (check): Likewise.
43236         * tests/unicase/test-u8-totitle.c (check): Likewise.
43237         * tests/unicase/test-u8-toupper.c (check): Likewise.
43238         * tests/unicase/test-u16-casefold.c (check): Likewise.
43239         * tests/unicase/test-u16-tolower.c (check): Likewise.
43240         * tests/unicase/test-u16-totitle.c (check): Likewise.
43241         * tests/unicase/test-u16-toupper.c (check): Likewise.
43242         * tests/unicase/test-u32-casefold.c (check): Likewise.
43243         * tests/unicase/test-u32-tolower.c (check): Likewise.
43244         * tests/unicase/test-u32-totitle.c (check): Likewise.
43245         * tests/unicase/test-u32-toupper.c (check): Likewise.
43246         * tests/uninorm/test-u8-nfc.c (check): Likewise.
43247         * tests/uninorm/test-u8-nfd.c (check): Likewise.
43248         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
43249         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
43250         * tests/uninorm/test-u16-nfc.c (check): Likewise.
43251         * tests/uninorm/test-u16-nfd.c (check): Likewise.
43252         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
43253         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
43254         * tests/uninorm/test-u32-nfc.c (check): Likewise.
43255         * tests/uninorm/test-u32-nfd.c (check): Likewise.
43256         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
43257         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
43258
43259 2009-04-05  Bruno Haible  <bruno@clisp.org>
43260
43261         Work around an autoconf limitation.
43262         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
43263         comment line if it would be longer than 3 KB.
43264
43265 2009-04-05  Bruno Haible  <bruno@clisp.org>
43266
43267         Avoid test failure with libiconv-1.13.
43268         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
43269         of the expected test results.
43270
43271 2009-04-05  Bruno Haible  <bruno@clisp.org>
43272
43273         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
43274         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
43275         that it should be installed.
43276
43277 2009-04-05  Bruno Haible  <bruno@clisp.org>
43278
43279         * gnulib-tool: New option --copy-file.
43280         (func_usage): Document it.
43281         (func_dest_tmpfilename): Moved out of func_import.
43282         (func_add_file, func_update_file): New functions, extracted from
43283         func_import.
43284         (func_import): Update.
43285
43286 2009-04-05  Karl Berry  <karl@gnu.org>
43287
43288         * README: prominently mention gnulib-tool.
43289         Rearrange sections so getting the code is near the top.
43290
43291 2009-04-05  Bruno Haible  <bruno@clisp.org>
43292
43293         * lib/unicase.h: Mention u*_cmp2.
43294         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43295         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
43296         * lib/unicase/ulc-casecmp.c: Likewise.
43297         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
43298         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
43299         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
43300         unistr/u8-cmp.
43301         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
43302         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
43303         unistr/u16-cmp.
43304         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
43305         unistr/u32-cmp.
43306
43307         * lib/uninorm.h: Mention u*_cmp2.
43308         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
43309         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
43310         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
43311         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
43312         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
43313         unistr/u8-cmp.
43314         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
43315         unistr/u16-cmp.
43316         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
43317         unistr/u32-cmp.
43318
43319         New module 'unistr/u32-cmp2'.
43320         * lib/unistr/u32-cmp2.c: New file.
43321         * modules/unistr/u32-cmp2: New file.
43322
43323         New module 'unistr/u16-cmp2'.
43324         * lib/unistr/u16-cmp2.c: New file.
43325         * modules/unistr/u16-cmp2: New file.
43326
43327         New module 'unistr/u8-cmp2'.
43328         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
43329         * lib/unistr/u8-cmp2.c: New file.
43330         * lib/unistr/u-cmp2.h: New file.
43331         * modules/unistr/u8-cmp2: New file.
43332
43333 2009-04-05  Bruno Haible  <bruno@clisp.org>
43334
43335         * lib/unictype.h (uc_property_is_valid): New macro.
43336         * tests/unictype/test-pr_byname.c (main): Use it.
43337
43338         * lib/unistr.h: Doc fixes.
43339         * lib/uniconv.h: Doc fixes.
43340         * lib/unictype.h: Doc fixes.
43341
43342 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
43343
43344         Port coreutils 7.2 to Solaris 8.
43345
43346         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
43347         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
43348         for Solaris 8.  This is a bit of a hack, as it means it's the
43349         caller's responsibility to add -lnsl if needed, but most likely it
43350         won't be needed since only getaddrinfo uses this and getaddrinfo
43351         isn't needed on Solaris 8.
43352
43353         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
43354         problem to Solaris 8 encountered with coreutils 7.2, which
43355         resulted in a message "fnmatch.c:292: warning: passing argument 4
43356         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
43357         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
43358
43359 2009-04-03  Simon Josefsson  <simon@josefsson.org>
43360
43361         * m4/ld-version-script.m4: Add FIXME comment.
43362
43363 2009-04-02  Simon Josefsson  <simon@josefsson.org>
43364
43365         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
43366         SOVERSION variable.
43367
43368 2009-04-02  Bruno Haible  <bruno@clisp.org>
43369
43370         * Makefile (info, html, dvi, pdf): Combine the rules.
43371         Suggested by Jim Meyering.
43372
43373 2009-04-01  Bruno Haible  <bruno@clisp.org>
43374
43375         * Makefile (info, html, dvi, pdf): New targets.
43376         Reported by Reuben Thomas <rrt@sc3d.org>.
43377
43378 2009-04-01  Bruno Haible  <bruno@clisp.org>
43379
43380         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
43381         can be put into PATH.
43382         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
43383
43384 2009-04-01  Bruno Haible  <bruno@clisp.org>
43385
43386         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
43387
43388 2009-04-01  Bruno Haible  <bruno@clisp.org>
43389
43390         Rename module 'visibility'.
43391         * modules/lib-symbol-visibility: Renamed from modules/visibility.
43392         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
43393         * doc/gnulib.texi: Update.
43394         * MODULES.html.sh (Misc): Update.
43395         * NEWS: Mention the change.
43396
43397 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43398
43399         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
43400         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
43401         Eric Blake <ebb9@byu.net> for review.
43402         * MODULES.html.sh: Add lib-msvc-compat.
43403         * doc/gnulib.texi: Link to new section.
43404         * m4/ld-output-def.m4: New file.
43405         * doc/ld-output-def.texi: New file.
43406
43407 2009-04-01  Simon Josefsson  <simon@josefsson.org>
43408
43409         Rename ld-version-script to lib-symbol-versions.  Suggested by
43410         Bruno Haible <bruno@clisp.org>.
43411         * modules/ld-version-script: Renamed to lib-symbol-versions.
43412         * doc/ld-version-script.texi: Fix module name.
43413         * MODULES.html.sh: Add lib-symbol-versions.
43414
43415 2009-03-31  Simon Josefsson  <simon@josefsson.org>
43416
43417         * modules/u64-tests: New file.
43418         * tests/test-u64.c: New file.
43419
43420 2009-03-04  Simon Josefsson  <simon@josefsson.org>
43421
43422         * MODULES.html.sh: Mention u64.
43423         * modules/u64: New module.
43424         * modules/crypto/sha512: Depend on u64 module instead of providing
43425         u64.h.
43426
43427 2009-03-27  Eric Blake  <ebb9@byu.net>
43428
43429         test-strerror: make debugging EAI_SYSTEM easier
43430         * modules/getaddrinfo-tests (Depends-on): Add strerror.
43431         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
43432         failure was EAI_SYSTEM.
43433
43434 2009-03-25  Bruno Haible  <bruno@clisp.org>
43435
43436         Fix a problem with --enable-relocatable on Solaris 7.
43437         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
43438         since 2008-02-24.
43439
43440 2009-03-25  Eric Blake  <ebb9@byu.net>
43441
43442         test-sockets: avoid gcc warning
43443         * tests/test-sockets.c (main): Silence compiler warning.
43444
43445 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
43446
43447         New modules nproc, pthread, contributed by Glen Lenker.
43448
43449         * MODULES.html.sh: Add pthread, nproc.
43450         * lib/nproc.c: New file.
43451         * lib/nproc.h: New file.
43452         * lib/pthread.in.h: New file.
43453         * m4/pthread.m4: New file.
43454         * modules/nproc: New file.
43455         * modules/pthread: New file.
43456
43457 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43458
43459         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
43460         New variable.
43461
43462 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
43463
43464         filevercmp: handle simple~ and numbered.~3~ backup suffixes
43465         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
43466         * tests/test-filevercmp.c: Add tests for backup suffixes.
43467
43468 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43469
43470         * modules/stdlib (Depends-on): Add stdint, needed when defining
43471         struct random_data on, for example, HP-UX 10.20.  Reported by
43472         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
43473
43474 2009-03-24  Simon Josefsson  <simon@josefsson.org>
43475
43476         * lib/readline.c (readline): Call fflush on stdout after printing
43477         prompt.
43478
43479 2009-03-20  Bruno Haible  <bruno@clisp.org>
43480
43481         Remove dependency from 'close' module to -lws2_32 on native Windows.
43482         * lib/close-hook.h: New file.
43483         * lib/close-hook.c: New file.
43484         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
43485         w32sock.h.
43486         (_gl_close_fd_maybe_socket): Remove function.
43487         (rpl_close): Invoke execute_all_close_hooks instead of
43488         _gl_close_fd_maybe_socket.
43489         * lib/sockets.c: Include close-hook.h, w32sock.h.
43490         (close_fd_maybe_socket): New function, essentially from lib/close.c.
43491         (close_sockets_hook): New variable.
43492         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
43493         (gl_sockets_cleanup): Unregister it.
43494         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
43495         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
43496         * modules/close-hook: New file.
43497         * modules/close (Files): Remove lib/w32sock.h.
43498         (Depends-on): Add close-hook.
43499         (Link): Remove section.
43500         * modules/sockets (Files): Add lib/w32sock.h.
43501         (Depends-on): Add close-hook.
43502         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
43503         invocation.
43504         * NEWS: Mention that LIB_CLOSE is gone.
43505
43506 2009-03-23  Eric Blake  <ebb9@byu.net>
43507
43508         signal-tests: test previous patch
43509         * tests/test-signal.c: New file.
43510         * modules/signal-tests: Likewise.
43511
43512         signal.h: always support 'volatile sig_atomic_t'
43513         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
43514         (gl_SIGNAL_H_DEFAULTS): Add a default.
43515         * modules/signal (Makefile.am): Substitute if needed.
43516         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
43517         users can blindly add volatile.
43518         * doc/posix-headers/signal.texi (signal.h): Document it.
43519         Reported by Matthew Woehlke.
43520
43521 2009-03-23  Jim Meyering  <meyering@redhat.com>
43522
43523         pathmax: PATH_MAX: use pathconf only when available
43524         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
43525         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
43526         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
43527         This avoids a link failure in a PSP cross-compilation environment
43528         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
43529
43530         * lib/vasnprintf.c (divide): Fix typo in comment.
43531
43532 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43533
43534         * gnulib-tool (func_filter_filelist): Fix comment.
43535
43536 2009-03-20  Bruno Haible  <bruno@clisp.org>
43537
43538         Make sockets.h self-contained.
43539         * lib/sockets.c: Include sockets.h first.
43540         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
43541
43542 2009-03-19  Eric Blake  <ebb9@byu.net>
43543
43544         doc: mention more functions added in cygwin 1.7.0
43545         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
43546         addition.
43547         * doc/posix-functions/log2f.texi: Likewise.
43548
43549 2009-03-19  Jim Meyering  <meyering@redhat.com>
43550
43551         fsusage: avoid syntax error due to statement-before-declaration
43552         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
43553         after all declarations.  Reported by Matthew Woehlke in
43554         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
43555
43556 2009-03-18  Eric Blake  <ebb9@byu.net>
43557
43558         build-aux/compile: sync from automake
43559         * build-aux/compile: New file, from automake.
43560         * config/srclist.txt: Mention build-aux/compile.
43561
43562 2009-03-17  Bruno Haible  <bruno@clisp.org>
43563
43564         * lib/git-merge-changelog.c: Fix typo in comment.
43565         Reported by Reuben Thomas <rrt@sc3d.org>.
43566
43567 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
43568
43569         * m4/regex.m4: update and improve help for
43570         --without-included-regex.
43571
43572 2009-03-17  Simon Josefsson  <simon@josefsson.org>
43573
43574         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
43575         failure on missing include files.
43576
43577 2009-03-17  Eric Blake  <ebb9@byu.net>
43578
43579         doc: mention more functions added in cygwin 1.7.0
43580         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
43581         addition.
43582         * doc/posix-functions/fwscanf.texi: Likewise.
43583         * doc/posix-functions/swprintf.texi: Likewise.
43584         * doc/posix-functions/swscanf.texi: Likewise.
43585         * doc/posix-functions/vfwprintf.texi: Likewise.
43586         * doc/posix-functions/vfwscanf.texi: Likewise.
43587         * doc/posix-functions/vswprintf.texi: Likewise.
43588         * doc/posix-functions/vswscanf.texi: Likewise.
43589         * doc/posix-functions/vwprintf.texi: Likewise.
43590         * doc/posix-functions/vwscanf.texi: Likewise.
43591         * doc/posix-functions/wcscasecmp.texi: Likewise.
43592         * doc/posix-functions/wcsdup.texi: Likewise.
43593         * doc/posix-functions/wcsftime.texi: Likewise.
43594         * doc/posix-functions/wcsncasecmp.texi: Likewise.
43595         * doc/posix-functions/wprintf.texi: Likewise.
43596         * doc/posix-functions/wscanf.texi: Likewise.
43597         * doc/glibc-functions/gethostbyname2.texi: Likewise.
43598
43599 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
43600
43601         maint.mk: really add $(AM_MAKEFLAGS)
43602         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
43603         was inadvertently omitted in the last commit.
43604         Spotted by Bruno Haible.
43605
43606         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
43607         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
43608         $(AM_MAKEFLAGS)' rather than plain `make'.
43609
43610         gnulib-tool: execute $MAKE not make
43611         * gnulib-tool: Default $MAKE to 'make'.
43612         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
43613         than make.  Initialize $MAKE in the do-autobuild script.
43614
43615         gnulib-tool: use $MAKE not make in generated files
43616         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
43617         make, in generated files.  Initialize $MAKE in the do-autobuild
43618         script.
43619
43620         * top/GNUmakefile (_have-git-version-gen): Fix typo.
43621
43622         GNUmakefile: disable parallelism only for multiple, recursive targets
43623         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
43624         additions in the Makefile.
43625         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
43626         by Automake.
43627         (.NOTPARALLEL): Only disable parallel builds if multiple targets
43628         are listed on the command line and at least one of them is
43629         listed in $(ALL_RECURSIVE_TARGETS).
43630
43631 2009-03-14  Bruno Haible  <bruno@clisp.org>
43632
43633         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
43634         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
43635         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
43636         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
43637         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
43638         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
43639         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
43640         unistr/u8-uctomb.
43641         * modules/unistr/u8-strchr (Depends-on): Likewise.
43642         * modules/unistr/u8-strrchr (Depends-on): Likewise.
43643         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
43644         unistr/u16-uctomb.
43645         * modules/unistr/u16-strchr (Depends-on): Likewise.
43646         * modules/unistr/u16-strrchr (Depends-on): Likewise.
43647
43648 2009-03-12  Bruno Haible  <bruno@clisp.org>
43649
43650         Work around select() bug on Interix 3.5.
43651         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
43652         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
43653         * m4/select.m4: New file.
43654         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
43655         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
43656         * modules/select (Files): Add m4/select.m4.
43657         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
43658         * modules/nanosleep (Depends-on): Add select.
43659         * modules/poll (Depends-on): Likewise.
43660         * doc/posix-functions/select.texi: Mention the Interix bug.
43661         Reported by Markus Duft <mduft@gentoo.org>.
43662
43663         * lib/select.c: Renamed from lib/winsock-select.c.
43664         * modules/select (Files): Add lib/select.c, remove
43665         lib/winsock-select.c.
43666         (configure.ac): Update.
43667
43668 2009-03-12  Jim Meyering  <meyering@redhat.com>
43669
43670         avoid gcc warnings about unused macro definitions
43671         * lib/readtokens.c (STREQ): Remove unused definition.
43672         * lib/xmalloc.c (SIZE_MAX): Likewise.
43673         * lib/openat-die.c (N_): Likewise.
43674         * lib/mountlist.c (SIZE_MAX): Remove definition.
43675         Instead, include <stdint.h>.
43676         * lib/readutmp.c: Likewise.
43677         * modules/readutmp (Depends-on): Add stdint.
43678         * modules/mountlist (Depends-on): Add stdint.
43679         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
43680
43681 2009-03-10  Bruno Haible  <bruno@clisp.org>
43682
43683         Tests for module 'mbmemcasecoll'.
43684         * modules/mbmemcasecoll-tests: New file.
43685         * tests/test-mbmemcasecoll1.sh: New file.
43686         * tests/test-mbmemcasecoll2.sh: New file.
43687         * tests/test-mbmemcasecoll3.sh: New file.
43688         * tests/test-mbmemcasecoll.c: New file.
43689
43690         New module 'mbmemcasecoll'.
43691         * lib/mbmemcasecoll.h: New file.
43692         * lib/mbmemcasecoll.c: New file.
43693         * modules/mbmemcasecoll: New file.
43694
43695         * tests/test-mbmemcasecmp.h: New file, extracted from
43696         tests/test-mbmemcasecmp.c.
43697         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
43698         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
43699         (main): Update.
43700         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
43701
43702 2009-03-09  Bruno Haible  <bruno@clisp.org>
43703
43704         Tests for module 'mbmemcasecmp'.
43705         * modules/mbmemcasecmp-tests: New file.
43706         * tests/test-mbmemcasecmp1.sh: New file.
43707         * tests/test-mbmemcasecmp2.sh: New file.
43708         * tests/test-mbmemcasecmp3.sh: New file.
43709         * tests/test-mbmemcasecmp.c: New file.
43710
43711         New module 'mbmemcasecmp'.
43712         * lib/mbmemcasecmp.h: New file.
43713         * lib/mbmemcasecmp.c: New file.
43714         * modules/mbmemcasecmp: New file.
43715
43716 2009-03-09  Bruno Haible  <bruno@clisp.org>
43717
43718         Tests for module 'unicase/ulc-casecoll'.
43719         * modules/unicase/ulc-casecoll-tests: New file.
43720         * tests/unicase/test-ulc-casecoll1.sh: New file.
43721         * tests/unicase/test-ulc-casecoll2.sh: New file.
43722         * tests/unicase/test-ulc-casecoll.c: New file.
43723
43724         New module 'unicase/ulc-casecoll'.
43725         * lib/unicase.h (ulc_casecoll): New declaration.
43726         * lib/unicase/ulc-casecoll.c: New file.
43727         * modules/unicase/ulc-casecoll: New file.
43728
43729         New module 'unicase/ulc-casexfrm'.
43730         * lib/unicase.h (ulc_casexfrm): New declaration.
43731         * lib/unicase/ulc-casexfrm.c: New file.
43732         * modules/unicase/ulc-casexfrm: New file.
43733
43734 2009-03-09  Bruno Haible  <bruno@clisp.org>
43735
43736         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
43737         invocations.
43738
43739         * m4/mbscasecmp.m4: Remove file.
43740         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
43741         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
43742
43743         * m4/mbscasestr.m4: Remove file.
43744         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
43745         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
43746
43747         * m4/mbschr.m4: Remove file.
43748         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
43749         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
43750
43751         * m4/mbscspn.m4: Remove file.
43752         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
43753         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
43754
43755         * m4/mbslen.m4: Remove file.
43756         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
43757         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
43758
43759         * m4/mbsncasecmp.m4: Remove file.
43760         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
43761         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
43762
43763         * m4/mbsnlen.m4: Remove file.
43764         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
43765         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
43766
43767         * m4/mbspbrk.m4: Remove file.
43768         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
43769         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
43770
43771         * m4/mbspcasecmp.m4: Remove file.
43772         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
43773         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
43774
43775         * m4/mbsrchr.m4: Remove file.
43776         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
43777         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
43778
43779         * m4/mbssep.m4: Remove file.
43780         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
43781         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
43782
43783         * m4/mbsspn.m4: Remove file.
43784         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
43785         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
43786
43787         * m4/mbsstr.m4: Remove file.
43788         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
43789         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
43790
43791         * m4/mbstok_r.m4: Remove file.
43792         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
43793         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
43794
43795         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
43796
43797         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
43798         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
43799
43800         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
43801
43802 2009-03-08  Bruno Haible  <bruno@clisp.org>
43803
43804         Tests for module 'unicase/ulc-casecmp'.
43805         * modules/unicase/ulc-casecmp-tests: New file.
43806         * tests/unicase/test-ulc-casecmp1.sh: New file.
43807         * tests/unicase/test-ulc-casecmp2.sh: New file.
43808         * tests/unicase/test-ulc-casecmp.c: New file.
43809
43810         New module 'unicase/ulc-casecmp'.
43811         * lib/unicase.h (ulc_casecmp): New declaration.
43812         * lib/unicase/ulc-casecmp.c: New file.
43813         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
43814         'const SRC_UNIT *'.
43815         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
43816         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
43817         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
43818         * modules/unicase/ulc-casecmp: New file.
43819
43820         Tests for module 'unicase/u32-is-cased'.
43821         * modules/unicase/u32-is-cased-tests: New file.
43822         * tests/unicase/test-u32-is-cased.c: New file.
43823
43824         Tests for module 'unicase/u16-is-cased'.
43825         * modules/unicase/u16-is-cased-tests: New file.
43826         * tests/unicase/test-u16-is-cased.c: New file.
43827
43828         Tests for module 'unicase/u8-is-cased'.
43829         * modules/unicase/u8-is-cased-tests: New file.
43830         * tests/unicase/test-u8-is-cased.c: New file.
43831         * tests/unicase/test-is-cased.h: New file.
43832
43833         New module 'unicase/u32-is-cased'.
43834         * lib/unicase/u32-is-cased.c: New file.
43835         * modules/unicase/u32-is-cased: New file.
43836
43837         New module 'unicase/u16-is-cased'.
43838         * lib/unicase/u16-is-cased.c: New file.
43839         * modules/unicase/u16-is-cased: New file.
43840
43841         New module 'unicase/u8-is-cased'.
43842         * lib/unicase/u8-is-cased.c: New file.
43843         * lib/unicase/u-is-cased.h: New file.
43844         * modules/unicase/u8-is-cased: New file.
43845
43846         Tests for module 'unicase/u32-is-casefolded'.
43847         * modules/unicase/u32-is-casefolded-tests: New file.
43848         * tests/unicase/test-u32-is-casefolded.c: New file.
43849
43850         Tests for module 'unicase/u16-is-casefolded'.
43851         * modules/unicase/u16-is-casefolded-tests: New file.
43852         * tests/unicase/test-u16-is-casefolded.c: New file.
43853
43854         Tests for module 'unicase/u8-is-casefolded'.
43855         * modules/unicase/u8-is-casefolded-tests: New file.
43856         * tests/unicase/test-u8-is-casefolded.c: New file.
43857         * tests/unicase/test-is-casefolded.h: New file.
43858
43859         New module 'unicase/u32-is-casefolded'.
43860         * lib/unicase/u32-is-casefolded.c: New file.
43861         * modules/unicase/u32-is-casefolded: New file.
43862
43863         New module 'unicase/u16-is-casefolded'.
43864         * lib/unicase/u16-is-casefolded.c: New file.
43865         * modules/unicase/u16-is-casefolded: New file.
43866
43867         New module 'unicase/u8-is-casefolded'.
43868         * lib/unicase/u8-is-casefolded.c: New file.
43869         * modules/unicase/u8-is-casefolded: New file.
43870
43871         Tests for module 'unicase/u32-is-titlecase'.
43872         * modules/unicase/u32-is-titlecase-tests: New file.
43873         * tests/unicase/test-u32-is-titlecase.c: New file.
43874
43875         Tests for module 'unicase/u16-is-titlecase'.
43876         * modules/unicase/u16-is-titlecase-tests: New file.
43877         * tests/unicase/test-u16-is-titlecase.c: New file.
43878
43879         Tests for module 'unicase/u8-is-titlecase'.
43880         * modules/unicase/u8-is-titlecase-tests: New file.
43881         * tests/unicase/test-u8-is-titlecase.c: New file.
43882         * tests/unicase/test-is-titlecase.h: New file.
43883
43884         New module 'unicase/u32-is-titlecase'.
43885         * lib/unicase/u32-is-titlecase.c: New file.
43886         * modules/unicase/u32-is-titlecase: New file.
43887
43888         New module 'unicase/u16-is-titlecase'.
43889         * lib/unicase/u16-is-titlecase.c: New file.
43890         * modules/unicase/u16-is-titlecase: New file.
43891
43892         New module 'unicase/u8-is-titlecase'.
43893         * lib/unicase/u8-is-titlecase.c: New file.
43894         * modules/unicase/u8-is-titlecase: New file.
43895
43896         Tests for module 'unicase/u32-is-lowercase'.
43897         * modules/unicase/u32-is-lowercase-tests: New file.
43898         * tests/unicase/test-u32-is-lowercase.c: New file.
43899
43900         Tests for module 'unicase/u16-is-lowercase'.
43901         * modules/unicase/u16-is-lowercase-tests: New file.
43902         * tests/unicase/test-u16-is-lowercase.c: New file.
43903
43904         Tests for module 'unicase/u8-is-lowercase'.
43905         * modules/unicase/u8-is-lowercase-tests: New file.
43906         * tests/unicase/test-u8-is-lowercase.c: New file.
43907         * tests/unicase/test-is-lowercase.h: New file.
43908
43909         New module 'unicase/u32-is-lowercase'.
43910         * lib/unicase/u32-is-lowercase.c: New file.
43911         * modules/unicase/u32-is-lowercase: New file.
43912
43913         New module 'unicase/u16-is-lowercase'.
43914         * lib/unicase/u16-is-lowercase.c: New file.
43915         * modules/unicase/u16-is-lowercase: New file.
43916
43917         New module 'unicase/u8-is-lowercase'.
43918         * lib/unicase/u8-is-lowercase.c: New file.
43919         * modules/unicase/u8-is-lowercase: New file.
43920
43921         Tests for module 'unicase/u32-is-uppercase'.
43922         * modules/unicase/u32-is-uppercase-tests: New file.
43923         * tests/unicase/test-u32-is-uppercase.c: New file.
43924
43925         Tests for module 'unicase/u16-is-uppercase'.
43926         * modules/unicase/u16-is-uppercase-tests: New file.
43927         * tests/unicase/test-u16-is-uppercase.c: New file.
43928
43929         Tests for module 'unicase/u8-is-uppercase'.
43930         * modules/unicase/u8-is-uppercase-tests: New file.
43931         * tests/unicase/test-u8-is-uppercase.c: New file.
43932         * tests/unicase/test-is-uppercase.h: New file.
43933
43934         New module 'unicase/u32-is-uppercase'.
43935         * lib/unicase/u32-is-uppercase.c: New file.
43936         * modules/unicase/u32-is-uppercase: New file.
43937
43938         New module 'unicase/u16-is-uppercase'.
43939         * lib/unicase/u16-is-uppercase.c: New file.
43940         * modules/unicase/u16-is-uppercase: New file.
43941
43942         New module 'unicase/u8-is-uppercase'.
43943         * lib/unicase/u8-is-uppercase.c: New file.
43944         * modules/unicase/u8-is-uppercase: New file.
43945
43946         New module 'unicase/u32-is-invariant'.
43947         * lib/unicase/u32-is-invariant.c: New file.
43948         * modules/unicase/u32-is-invariant: New file.
43949
43950         New module 'unicase/u16-is-invariant'.
43951         * lib/unicase/u16-is-invariant.c: New file.
43952         * modules/unicase/u16-is-invariant: New file.
43953
43954         New module 'unicase/u8-is-invariant'.
43955         * lib/unicase/u8-is-invariant.c: New file.
43956         * lib/unicase/invariant.h: New file.
43957         * lib/unicase/u-is-invariant.h: New file.
43958         * modules/unicase/u8-is-invariant: New file.
43959
43960         Tests for module 'unicase/u32-casecoll'.
43961         * modules/unicase/u32-casecoll-tests: New file.
43962         * tests/unicase/test-u32-casecoll.c: New file.
43963
43964         Tests for module 'unicase/u16-casecoll'.
43965         * modules/unicase/u16-casecoll-tests: New file.
43966         * tests/unicase/test-u16-casecoll.c: New file.
43967
43968         Tests for module 'unicase/u8-casecoll'.
43969         * modules/unicase/u8-casecoll-tests: New file.
43970         * tests/unicase/test-u8-casecoll.c: New file.
43971
43972         New module 'unicase/u32-casecoll'.
43973         * lib/unicase/u32-casecoll.c: New file.
43974         * modules/unicase/u32-casecoll: New file.
43975
43976         New module 'unicase/u16-casecoll'.
43977         * lib/unicase/u16-casecoll.c: New file.
43978         * modules/unicase/u16-casecoll: New file.
43979
43980         New module 'unicase/u8-casecoll'.
43981         * lib/unicase/u8-casecoll.c: New file.
43982         * lib/unicase/u-casecoll.h: New file.
43983         * modules/unicase/u8-casecoll: New file.
43984
43985         New module 'unicase/u32-casexfrm'.
43986         * lib/unicase/u32-casexfrm.c: New file.
43987         * modules/unicase/u32-casexfrm: New file.
43988
43989         New module 'unicase/u16-casexfrm'.
43990         * lib/unicase/u16-casexfrm.c: New file.
43991         * modules/unicase/u16-casexfrm: New file.
43992
43993         New module 'unicase/u8-casexfrm'.
43994         * lib/unicase/u8-casexfrm.c: New file.
43995         * lib/unicase/u-casexfrm.h: New file.
43996         * modules/unicase/u8-casexfrm: New file.
43997
43998         Tests for module 'unicase/u32-casecmp'.
43999         * modules/unicase/u32-casecmp-tests: New file.
44000         * tests/unicase/test-u32-casecmp.c: New file.
44001
44002         Tests for module 'unicase/u16-casecmp'.
44003         * modules/unicase/u16-casecmp-tests: New file.
44004         * tests/unicase/test-u16-casecmp.c: New file.
44005
44006         Tests for module 'unicase/u8-casecmp'.
44007         * modules/unicase/u8-casecmp-tests: New file.
44008         * tests/unicase/test-u8-casecmp.c: New file.
44009         * tests/unicase/test-casecmp.h: New file.
44010
44011         New module 'unicase/u32-casecmp'.
44012         * lib/unicase/u32-casecmp.c: New file.
44013         * modules/unicase/u32-casecmp: New file.
44014
44015         New module 'unicase/u16-casecmp'.
44016         * lib/unicase/u16-casecmp.c: New file.
44017         * modules/unicase/u16-casecmp: New file.
44018
44019         New module 'unicase/u8-casecmp'.
44020         * lib/unicase/u8-casecmp.c: New file.
44021         * lib/unicase/u-casecmp.h: New file.
44022         * modules/unicase/u8-casecmp: New file.
44023
44024         Tests for module 'unicase/u32-casefold'.
44025         * modules/unicase/u32-casefold-tests: New file.
44026         * tests/unicase/test-u32-casefold.c: New file.
44027
44028         Tests for module 'unicase/u16-casefold'.
44029         * modules/unicase/u16-casefold-tests: New file.
44030         * tests/unicase/test-u16-casefold.c: New file.
44031
44032         Tests for module 'unicase/u8-casefold'.
44033         * modules/unicase/u8-casefold-tests: New file.
44034         * tests/unicase/test-u8-casefold.c: New file.
44035
44036         New module 'unicase/u32-casefold'.
44037         * lib/unicase/u32-casefold.c: New file.
44038         * modules/unicase/u32-casefold: New file.
44039
44040         New module 'unicase/u16-casefold'.
44041         * lib/unicase/u16-casefold.c: New file.
44042         * modules/unicase/u16-casefold: New file.
44043
44044         New module 'unicase/u8-casefold'.
44045         * lib/unicase/u8-casefold.c: New file.
44046         * lib/unicase/u-casefold.h: New file.
44047         * modules/unicase/u8-casefold: New file.
44048
44049         New module 'unicase/tocasefold'.
44050         * lib/unicase/casefold.h: New file.
44051         * lib/unicase/tocasefold.c: New file.
44052         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
44053         * modules/unicase/tocasefold: New file.
44054
44055         Tests for module 'unicase/u32-totitle'.
44056         * modules/unicase/u32-totitle-tests: New file.
44057         * tests/unicase/test-u32-totitle.c: New file.
44058
44059         Tests for module 'unicase/u16-totitle'.
44060         * modules/unicase/u16-totitle-tests: New file.
44061         * tests/unicase/test-u16-totitle.c: New file.
44062
44063         Tests for module 'unicase/u8-totitle'.
44064         * modules/unicase/u8-totitle-tests: New file.
44065         * tests/unicase/test-u8-totitle.c: New file.
44066
44067         New module 'unicase/u32-totitle'.
44068         * lib/unicase/u32-totitle.c: New file.
44069         * modules/unicase/u32-totitle: New file.
44070
44071         New module 'unicase/u16-totitle'.
44072         * lib/unicase/u16-totitle.c: New file.
44073         * modules/unicase/u16-totitle: New file.
44074
44075         New module 'unicase/u8-totitle'.
44076         * lib/unicase/u8-totitle.c: New file.
44077         * lib/unicase/u-totitle.h: New file.
44078         * modules/unicase/u8-totitle: New file.
44079
44080         Tests for module 'unicase/u32-tolower'.
44081         * modules/unicase/u32-tolower-tests: New file.
44082         * tests/unicase/test-u32-tolower.c: New file.
44083
44084         Tests for module 'unicase/u16-tolower'.
44085         * modules/unicase/u16-tolower-tests: New file.
44086         * tests/unicase/test-u16-tolower.c: New file.
44087
44088         Tests for module 'unicase/u8-tolower'.
44089         * modules/unicase/u8-tolower-tests: New file.
44090         * tests/unicase/test-u8-tolower.c: New file.
44091
44092         New module 'unicase/u32-tolower'.
44093         * lib/unicase/u32-tolower.c: New file.
44094         * modules/unicase/u32-tolower: New file.
44095
44096         New module 'unicase/u16-tolower'.
44097         * lib/unicase/u16-tolower.c: New file.
44098         * modules/unicase/u16-tolower: New file.
44099
44100         New module 'unicase/u8-tolower'.
44101         * lib/unicase/u8-tolower.c: New file.
44102         * modules/unicase/u8-tolower: New file.
44103
44104         Tests for module 'unicase/u32-toupper'.
44105         * modules/unicase/u32-toupper-tests: New file.
44106         * tests/unicase/test-u32-toupper.c: New file.
44107
44108         Tests for module 'unicase/u16-toupper'.
44109         * modules/unicase/u16-toupper-tests: New file.
44110         * tests/unicase/test-u16-toupper.c: New file.
44111
44112         Tests for module 'unicase/u8-toupper'.
44113         * modules/unicase/u8-toupper-tests: New file.
44114         * tests/unicase/test-u8-toupper.c: New file.
44115
44116         New module 'unicase/u32-toupper'.
44117         * lib/unicase/u32-toupper.c: New file.
44118         * modules/unicase/u32-toupper: New file.
44119
44120         New module 'unicase/u16-toupper'.
44121         * lib/unicase/u16-toupper.c: New file.
44122         * modules/unicase/u16-toupper: New file.
44123
44124         New module 'unicase/u8-toupper'.
44125         * lib/unicase/u8-toupper.c: New file.
44126         * modules/unicase/u8-toupper: New file.
44127
44128         New module 'unicase/u32-casemap'.
44129         * lib/unicase/u32-casemap.c: New file.
44130         * modules/unicase/u32-casemap: New file.
44131
44132         New module 'unicase/u16-casemap'.
44133         * lib/unicase/u16-casemap.c: New file.
44134         * modules/unicase/u16-casemap: New file.
44135
44136         New module 'unicase/u8-casemap'.
44137         * lib/unicase/unicasemap.h: New file.
44138         * lib/unicase/u8-casemap.c: New file.
44139         * lib/unicase/u-casemap.h: New file.
44140         * modules/unicase/u8-casemap: New file.
44141
44142         New module 'unicase/special-casing'.
44143         * lib/unicase/special-casing.h: New file.
44144         * lib/unicase/special-casing.c: New file.
44145         * lib/unicase/special-casing-table.gperf: New file, generated by
44146         gen-uni-tables.c.
44147         * modules/unicase/special-casing: New file.
44148
44149         Tests for module 'unicase/locale-language'.
44150         * modules/unicase/locale-language-tests: New file.
44151         * tests/unicase/test-locale-language.sh: New file.
44152         * tests/unicase/test-locale-language.c: New file.
44153
44154         New module 'unicase/locale-language'.
44155         * lib/unicase/locale-language.c: New file.
44156         * lib/unicase/locale-languages.gperf: New file.
44157         * modules/unicase/locale-language: New file.
44158
44159         Generate more tables for case conversion and case folding.
44160         * lib/gen-uni-tables.c (SCC_*): New enum items.
44161         (struct special_casing_rule): New type.
44162         (casing_rules, num_casing_rules, allocated_casing_rules): New
44163         variables.
44164         (add_casing_rule, fill_casing_rules): New functions.
44165         (struct casefold_rule): New type.
44166         (casefolding_rules, num_casefolding_rules,
44167         allocated_casefolding_rules): New variables.
44168         (fill_casefolding_rules): New function.
44169         (unicode_casefold): New variable.
44170         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
44171         sort_casing_rules, output_casing_rules): New functions.
44172         (main): Accept to more arguments: SpecialCasing.txt and
44173         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
44174         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
44175         Output mapping for casefolding.
44176
44177         * lib/unicase.h: Include stdbool.h, uninorm.h.
44178         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
44179         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
44180         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
44181         arguments.
44182         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
44183         resultp arguments.
44184         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
44185         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
44186         resultp arguments.
44187         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
44188         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
44189         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
44190         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
44191         declarations.
44192         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
44193
44194 2009-03-08  Bruno Haible  <bruno@clisp.org>
44195
44196         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44197         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
44198         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
44199         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44200
44201 2009-03-07  Bruno Haible  <bruno@clisp.org>
44202
44203         Adjust u*_normcmp, u*_normcoll API.
44204         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
44205         u16_normcoll, u32_normcoll): Change failure conventions.
44206         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
44207         errno and return -1.
44208         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
44209
44210 2009-03-07  Bruno Haible  <bruno@clisp.org>
44211
44212         Tests for module 'uninorm/u32-normcoll'.
44213         * modules/uninorm/u32-normcoll-tests: New file.
44214         * tests/uninorm/test-u32-normcoll.c: New file.
44215
44216         Tests for module 'uninorm/u16-normcoll'.
44217         * modules/uninorm/u16-normcoll-tests: New file.
44218         * tests/uninorm/test-u16-normcoll.c: New file.
44219
44220         Tests for module 'uninorm/u8-normcoll'.
44221         * modules/uninorm/u8-normcoll-tests: New file.
44222         * tests/uninorm/test-u8-normcoll.c: New file.
44223
44224 2009-03-07  Bruno Haible  <bruno@clisp.org>
44225
44226         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
44227         tests/uninorm/test-u32-normcmp.c.
44228         * tests/uninorm/test-u32-normcmp.c: Include it.
44229         (test_nonascii): New function, extracted from main. Add some more
44230         tests.
44231         (main): Invoke test_ascii and test_nonascii.
44232         * modules/uninorm/u32-normcmp-tests (Files): Add
44233         tests/uninorm/test-u32-normcmp.h.
44234         (Depends-on): Remove uninorm/u32-normcmp.
44235
44236         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
44237         tests/uninorm/test-u16-normcmp.c.
44238         * tests/uninorm/test-u16-normcmp.c: Include it.
44239         (test_nonascii): New function, extracted from main. Add some more
44240         tests.
44241         (main): Invoke test_ascii and test_nonascii.
44242         * modules/uninorm/u16-normcmp-tests (Files): Add
44243         tests/uninorm/test-u16-normcmp.h.
44244         (Depends-on): Remove uninorm/u16-normcmp.
44245
44246         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
44247         tests/uninorm/test-u8-normcmp.c.
44248         * tests/uninorm/test-u8-normcmp.c: Include it.
44249         (test_nonascii): New function, extracted from main. Add some more
44250         tests.
44251         (main): Invoke test_ascii and test_nonascii.
44252         * modules/uninorm/u8-normcmp-tests (Files): Add
44253         tests/uninorm/test-u8-normcmp.h.
44254         (Depends-on): Remove uninorm/u8-normcmp.
44255
44256 2009-03-07  Bruno Haible  <bruno@clisp.org>
44257
44258         New module 'uninorm/u32-normcoll'.
44259         * lib/uninorm/u32-normcoll.c: New file.
44260         * modules/uninorm/u32-normcoll: New file.
44261
44262         New module 'uninorm/u16-normcoll'.
44263         * lib/uninorm/u16-normcoll.c: New file.
44264         * modules/uninorm/u16-normcoll: New file.
44265
44266         New module 'uninorm/u8-normcoll'.
44267         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
44268         declarations.
44269         * lib/uninorm/u8-normcoll.c: New file.
44270         * lib/uninorm/u-normcoll.h: New file.
44271         * modules/uninorm/u8-normcoll: New file.
44272
44273         New module 'uninorm/u32-normxfrm'.
44274         * lib/uninorm/u32-normxfrm.c: New file.
44275         * modules/uninorm/u32-normxfrm: New file.
44276
44277         New module 'uninorm/u16-normxfrm'.
44278         * lib/uninorm/u16-normxfrm.c: New file.
44279         * modules/uninorm/u16-normxfrm: New file.
44280
44281         New module 'uninorm/u8-normxfrm'.
44282         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
44283         declarations.
44284         * lib/uninorm/u8-normxfrm.c: New file.
44285         * lib/uninorm/u-normxfrm.h: New file.
44286         * modules/uninorm/u8-normxfrm: New file.
44287
44288 2009-03-07  Bruno Haible  <bruno@clisp.org>
44289
44290         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
44291         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
44292         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
44293
44294 2009-03-07  Bruno Haible  <bruno@clisp.org>
44295
44296         New module 'memxfrm'.
44297         * lib/memxfrm.h: New file.
44298         * lib/memxfrm.c: New file.
44299         * modules/memxfrm: New file.
44300
44301 2009-03-07  Bruno Haible  <bruno@clisp.org>
44302
44303         New module 'memcmp2'.
44304         * lib/memcmp2.h: New file.
44305         * lib/memcmp2.c: New file.
44306         * modules/memcmp2: New file.
44307
44308 2009-03-07  Bruno Haible  <bruno@clisp.org>
44309
44310         Tests for module 'uninorm/decomposing-form'.
44311         * modules/uninorm/decomposing-form-tests: New file.
44312         * tests/uninorm/test-decomposing-form.c: New file.
44313
44314         New module 'uninorm/decomposing-form'.
44315         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
44316         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
44317         Add 'decomposing_variant' field.
44318         * lib/uninorm/decomposing-form.c: New file.
44319         * lib/uninorm/nfc.c (uninorm_nfc): Update.
44320         * lib/uninorm/nfd.c (uninorm_nfd): Update.
44321         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
44322         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
44323         * modules/uninorm/decomposing-form: New file.
44324         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
44325         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
44326
44327 2009-03-07  Bruno Haible  <bruno@clisp.org>
44328
44329         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
44330         strings.
44331
44332 2009-03-06  Bruno Haible  <bruno@clisp.org>
44333
44334         Tests for module 'uninorm/u32-normcmp'.
44335         * tests/uninorm/test-u32-normcmp.c: New file.
44336         * modules/uninorm/u32-normcmp-tests: New file.
44337
44338         Tests for module 'uninorm/u16-normcmp'.
44339         * tests/uninorm/test-u16-normcmp.c: New file.
44340         * modules/uninorm/u16-normcmp-tests: New file.
44341
44342         Tests for module 'uninorm/u8-normcmp'.
44343         * tests/uninorm/test-u8-normcmp.c: New file.
44344         * modules/uninorm/u8-normcmp-tests: New file.
44345
44346         New module 'uninorm/u32-normcmp'.
44347         * lib/uninorm/u32-normcmp.c: New file.
44348         * modules/uninorm/u32-normcmp: New file.
44349
44350         New module 'uninorm/u16-normcmp'.
44351         * lib/uninorm/u16-normcmp.c: New file.
44352         * modules/uninorm/u16-normcmp: New file.
44353
44354         New module 'uninorm/u8-normcmp'.
44355         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
44356         declarations.
44357         * lib/uninorm/u8-normcmp.c: New file.
44358         * lib/uninorm/u-normcmp.h: New file.
44359         * modules/uninorm/u8-normcmp: New file.
44360
44361 2009-03-06  Bruno Haible  <bruno@clisp.org>
44362
44363         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
44364         Reported by Eric Blake.
44365
44366 2009-03-06  Eric Blake  <ebb9@byu.net>
44367             Bruno Haible  <bruno@clisp.org>
44368
44369         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
44370         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
44371         condition.
44372         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44373         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
44374         condition.
44375         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
44376
44377 2009-03-06  Eric Blake  <ebb9@byu.net>
44378
44379         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
44380         to avoid compiler warnings.
44381         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
44382
44383 2009-03-05  Bruno Haible  <bruno@clisp.org>
44384
44385         * tests/test-ftell.c (main): Disable test beyond end of file on
44386         FreeMiNT.
44387         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44388
44389 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
44390
44391         * lib/filevercmp.c: Move hidden files up in ordering.
44392         * tests/test-filevercmp.c: Add tests for hidden files.
44393
44394 2009-03-04  Bruno Haible  <bruno@clisp.org>
44395
44396         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
44397         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
44398         AM_CFLAGS.
44399         Reported by Simon Josefsson.
44400
44401 2009-03-03  Bruno Haible  <bruno@clisp.org>
44402
44403         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
44404         Reported by Simon Josefsson.
44405
44406         * doc/ld-version-script.texi: Update node reference.
44407
44408 2009-03-03  Bruno Haible  <bruno@clisp.org>
44409
44410         * modules/visibility (License): Change to 'unlimited'.
44411         Suggested by Simon Josefsson.
44412
44413 2009-03-03  Jim Meyering  <meyering@redhat.com>
44414
44415         unlinkdir: cannot_unlink_dir may modify process state
44416         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
44417         it's neither thread-safe nor appropriate for use in a library.
44418
44419 2009-03-03  Eric Blake  <ebb9@byu.net>
44420
44421         test-closein: silence test under Darwin
44422         * tests/test-closein.sh: Ignore stderr from cat, since we don't
44423         care if it dies from EPIPE or EBADF.
44424
44425 2009-03-03  Bruno Haible  <bruno@clisp.org>
44426
44427         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
44428         earlier.
44429         * doc/visibility.texi: Fix @node and @section.
44430
44431 2009-03-03  Simon Josefsson  <simon@josefsson.org>
44432
44433         * doc/gnulib.texi: Link to sections for ld version script and
44434         visibility.
44435         * doc/visibility.texi: Add @node and @section.
44436         * modules/ld-version-script: New module.
44437         * m4/ld-version-script.m4: New file.
44438         * doc/ld-version-script.texi: New file.
44439
44440 2009-03-02  David Lutterkort  <lutter@redhat.com>
44441
44442         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
44443         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44444
44445 2009-03-02  Bruno Haible  <bruno@clisp.org>
44446
44447         * doc/visibility.texi: Mention libtool's -export-symbols option.
44448
44449 2009-03-02  Jim Meyering  <meyering@redhat.com>
44450
44451         announce-gen: new option: --no-print-checksums
44452         * build-aux/announce-gen (usage): Describe it.
44453         (print_checksums): Print a newline here, not in the [*] footnote.
44454         (main): Honor it.
44455
44456 2009-03-01  Bruno Haible  <bruno@clisp.org>
44457
44458         Use socklen_t in the native Windows replacements prototypes.
44459         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
44460         instead of 'int'.
44461         * lib/getsockopt.c (rpl_getsockopt): Likewise.
44462         * lib/setsockopt.c (rpl_setsockopt): Likewise.
44463         * modules/getsockopt (Depends-on): Add socklen.
44464         * modules/setsockopt (Depends-on): Add socklen.
44465
44466 2009-03-01  Bruno Haible  <bruno@clisp.org>
44467
44468         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
44469         least 4.2.
44470
44471 2009-03-01  Eric Blake  <ebb9@byu.net>
44472             Bruno Haible  <bruno@clisp.org>
44473
44474         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
44475         error messages.
44476         * lib/wait-process.c (wait_subprocess): Omit error message about
44477         deadly signal sent to the child of termsigp != NULL.
44478
44479 2009-03-01  Eric Blake  <ebb9@byu.net>
44480
44481         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
44482
44483 2009-03-01  Bruno Haible  <bruno@clisp.org>
44484
44485         Avoid a gcc warning.
44486         * tests/test-sched.c (b): Make global.
44487         Reported by Eric Blake.
44488
44489 2009-01-19  Martin Lambers  <marlam@marlam.de>
44490
44491         Provide POSIX semantics for socket timeout options on W32.
44492         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
44493         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
44494         * modules/setsockopt: Depend on sys_time module for struct timeval.
44495         * modules/getsockopt: Depend on sys_time module for struct timeval.
44496
44497 2009-03-01  Simon Josefsson  <simon@josefsson.org>
44498
44499         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
44500         __USE_GNU, for consistency with netdb.in.h.
44501         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44502
44503 2009-03-01  Bruno Haible  <bruno@clisp.org>
44504
44505         More support for FreeMiNT.
44506         * lib/fseeko.c (rpl_fseeko): Complete last commit.
44507         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44508
44509 2009-03-01  Bruno Haible  <bruno@clisp.org>
44510
44511         More support for FreeMiNT.
44512         * lib/fpurge.c (fpurge): Correct last commit.
44513         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44514
44515 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
44516
44517         Fix unportable awk script in vc-list-files.
44518         * build-aux/vc-list-files: In the replacement awk script, use
44519         substr with a second argument of 1, not zero.
44520         Report by Simon Josefsson.
44521
44522 2009-02-28  Bruno Haible  <bruno@clisp.org>
44523
44524         More support for FreeMiNT.
44525         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
44526         to FreeMiNT today.
44527         * lib/fwriting.c (fwriting): Likewise.
44528         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
44529
44530 2009-02-28  Bruno Haible  <bruno@clisp.org>
44531
44532         * tests/test-freadseek.c (main): Disable test beyond end of file on
44533         FreeMiNT.
44534         * tests/test-ftello.c (main): Likewise.
44535         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
44536
44537 2009-02-28  Bruno Haible  <bruno@clisp.org>
44538
44539         Add tentative support for FreeMiNT.
44540         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
44541         * lib/fpurge.c (fpurge): Likewise.
44542         * lib/freadable.c (freadable): Likewise.
44543         * lib/freading.c (freading): Likewise.
44544         * lib/freadptr.c (freadptr): Likewise.
44545         * lib/freadseek.c (freadptrinc): Likewise.
44546         * lib/fseeko.c (rpl_fseeko): Likewise.
44547         * lib/fseterr.c (fseterr): Likewise.
44548         * lib/fwritable.c (fwritable): Likewise.
44549         * lib/fwriting.c (fwriting): Likewise.
44550         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
44551         Hourihane.
44552         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
44553
44554 2009-02-28  Bruno Haible  <bruno@clisp.org>
44555
44556         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
44557         SIGCHLD.
44558         Reported by Jim Meyering.
44559
44560 2009-02-28  Bruno Haible  <bruno@clisp.org>
44561
44562         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
44563         Mention the results of these tests on various platforms.
44564         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
44565         order.
44566         * doc/posix-functions/printf.texi: Likewise.
44567         * doc/posix-functions/snprintf.texi: Likewise.
44568         * doc/posix-functions/sprintf.texi: Likewise.
44569         * doc/posix-functions/vfprintf.texi: Likewise.
44570         * doc/posix-functions/vprintf.texi: Likewise.
44571         * doc/posix-functions/vsnprintf.texi: Likewise.
44572         * doc/posix-functions/vsprintf.texi: Likewise.
44573         * doc/glibc-functions/obstack_printf.texi: Likewise.
44574         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
44575
44576 2009-02-28  Bruno Haible  <bruno@clisp.org>
44577
44578         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
44579         Reported by Loïc Minier <lool@dooz.org>.
44580
44581 2009-02-27  Bruno Haible  <bruno@clisp.org>
44582
44583         * gnulib-tool (func_import): Make the sed expression used to create the
44584         sed script for updating the .gitignore file POSIX compliant.
44585         Reported by Eric Blake.
44586
44587 2009-02-27  Bruno Haible  <bruno@clisp.org>
44588
44589         * gnulib-tool (sed): Don't alias as "sed --posix".
44590         Reported by Eric Blake.
44591
44592 2009-02-27  Bruno Haible  <bruno@clisp.org>
44593
44594         Avoid test link errors.
44595         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
44596         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
44597         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
44598         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
44599         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
44600
44601 2009-02-27  Bruno Haible  <bruno@clisp.org>
44602
44603         Avoid spurious "(cached)" in configure output.
44604         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
44605         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
44606         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
44607         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
44608         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
44609         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
44610         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
44611         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
44612         Reported by Eric Blake.
44613
44614 2009-02-27  Eric Blake  <ebb9@byu.net>
44615
44616         printf: fix regression in previous patch
44617         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
44618
44619 2009-02-27  Bruno Haible  <bruno@clisp.org>
44620
44621         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
44622         value.
44623         * lib/stdint.in.h: Likewise.
44624         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
44625
44626 2009-02-27  Eric Blake  <ebb9@byu.net>
44627
44628         doc: mention more functions added in cygwin 1.7.0
44629         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
44630         addition.
44631         * doc/posix-functions/open_wmemstream.texi: Likewise.
44632         * doc/posix-functions/wcsnlen.texi: Likewise.
44633         * doc/posix-functions/wcsnrtombs.texi: Likewise.
44634         * doc/posix-functions/wcstod.texi: Likewise.
44635         * doc/posix-functions/wcstof.texi: Likewise.
44636         * doc/posix-functions/wcstoimax.texi: Likewise.
44637         * doc/posix-functions/wcstok.texi: Likewise.
44638         * doc/posix-functions/wcstoumax.texi: Likewise.
44639
44640         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
44641         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
44642         * doc/posix-functions/fprintf.texi: Update.
44643         * doc/posix-functions/printf.texi: Update.
44644         * doc/posix-functions/snprintf.texi: Update.
44645         * doc/posix-functions/sprintf.texi: Update.
44646         * doc/posix-functions/vfprintf.texi: Update.
44647         * doc/posix-functions/vprintf.texi: Update.
44648         * doc/posix-functions/vsnprintf.texi: Update.
44649         * doc/posix-functions/vsprintf.texi: Update.
44650         * doc/glibc-functions/obstack_printf.texi: Update.
44651         * doc/glibc-functions/obstack_vprintf.texi: Update.
44652
44653 2009-02-26  Eric Blake  <ebb9@byu.net>
44654
44655         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
44656         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
44657         compilation bug by using runtime conversion.
44658         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
44659         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
44660         * modules/ceill-tests (Files): Use nan.h.
44661         * modules/floorl-tests (Files): Likewise.
44662         * modules/frexpl-tests (Files): Likewise.
44663         * modules/isnanl-tests (Files): Likewise.
44664         * modules/ldexpl-tests (Files): Likewise.
44665         * modules/roundl-tests (Files): Likewise.
44666         * modules/truncl-tests (Files): Likewise.
44667         * tests/test-ceill.c (main): Use a working NaN.
44668         * tests/test-floorl.c (main): Likewise.
44669         * tests/test-frexpl.c (main): Likewise.
44670         * tests/test-isnan.c (test_long_double): Likewise.
44671         * tests/test-isnanl.h (main): Likewise.
44672         * tests/test-ldexpl.h (main): Likewise.
44673         * tests/test-roundl.h (main): Likewise.
44674         * tests/test-truncl.h (main): Likewise.
44675         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
44676
44677 2009-02-26  Eric Blake  <ebb9@byu.net>
44678             Bruno Haible  <bruno@clisp.org>
44679
44680         Work around a *printf bug with %ls on Solaris.
44681         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
44682         precision is specified, sprintf stops converting the wide string
44683         argument when the number of bytes that have been produced by this
44684         conversion equals or exceeds the precision.
44685         * doc/posix-functions/fprintf.texi: Update.
44686         * doc/posix-functions/printf.texi: Update.
44687         * doc/posix-functions/snprintf.texi: Update.
44688         * doc/posix-functions/sprintf.texi: Update.
44689         * doc/posix-functions/vfprintf.texi: Update.
44690         * doc/posix-functions/vprintf.texi: Update.
44691         * doc/posix-functions/vsnprintf.texi: Update.
44692         * doc/posix-functions/vsprintf.texi: Update.
44693         * doc/glibc-functions/obstack_printf.texi: Update.
44694         * doc/glibc-functions/obstack_vprintf.texi: Update.
44695
44696 2009-02-26  Eric Blake  <ebb9@byu.net>
44697
44698         stdlib: favor compiler check of random.h
44699         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
44700         to avoid an ObjC random.h installed by Swarm.
44701
44702 2009-02-26  Bruno Haible  <bruno@clisp.org>
44703
44704         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
44705         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
44706         Reported by Gary V. Vaughan <gary@gnu.org>.
44707
44708 2009-02-26  Bruno Haible  <bruno@clisp.org>
44709
44710         Fix *printf behaviour regarding the %ls directive.
44711         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
44712         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
44713         NEED_PRINTF_DIRECTIVE_LS.
44714         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
44715         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
44716         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
44717         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
44718         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
44719         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
44720         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
44721         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
44722         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
44723         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
44724         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
44725         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
44726         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
44727         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
44728         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
44729         * doc/posix-functions/fprintf.texi: Update.
44730         * doc/posix-functions/printf.texi: Update.
44731         * doc/posix-functions/snprintf.texi: Update.
44732         * doc/posix-functions/sprintf.texi: Update.
44733         * doc/posix-functions/vfprintf.texi: Update.
44734         * doc/posix-functions/vprintf.texi: Update.
44735         * doc/posix-functions/vsnprintf.texi: Update.
44736         * doc/posix-functions/vsprintf.texi: Update.
44737         * doc/glibc-functions/obstack_printf.texi: Update.
44738         * doc/glibc-functions/obstack_vprintf.texi: Update.
44739         Reported by Eric Blake.
44740
44741 2009-02-25  Bruno Haible  <bruno@clisp.org>
44742
44743         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
44744         with known value.
44745         Reported by Gary V. Vaughan <gary@gnu.org>.
44746
44747 2009-02-25  Bruno Haible  <bruno@clisp.org>
44748
44749         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
44750         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
44751         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
44752         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
44753         Reported by Gary V. Vaughan <gary@gnu.org>.
44754
44755 2009-02-25  Bruno Haible  <bruno@clisp.org>
44756
44757         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
44758         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
44759         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
44760         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
44761         Reported by Gary V. Vaughan <gary@gnu.org>.
44762
44763 2009-02-25  Eric Blake  <ebb9@byu.net>
44764
44765         tests: skip fseek/ftell tests if ungetc is broken
44766         * m4/ungetc.m4: New file.
44767         * modules/fseek-tests: Split test, so ungetc dependency is
44768         separate from rest of test.
44769         * modules/fseeko-tests: Likewise.
44770         * modules/ftell-tests: Likewise.
44771         * modules/ftello-tests: Likewise.
44772         * tests/test-fseek.c (main): Isolate ungetc dependency.
44773         * tests/test-fseeko.c (main): Likewise.
44774         * tests/test-ftell.c (main): Likewise.
44775         * tests/test-ftello.c (main): Likewise.
44776         * tests/test-fseek2.sh: New file.
44777         * tests/test-fseeko2.sh: Likewise.
44778         * tests/test-ftell2.sh: Likewise.
44779         * tests/test-ftello2.sh: Likewise.
44780
44781 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
44782
44783         test-getaddrinfo: fix usage of skip return code 77
44784         * tests/test-gettaddrinfo.c: Return skip code 77 only
44785         for first occurance of skip (4x77 is not 77)
44786
44787 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
44788
44789         strtod: avoid C99 decl-after-statement
44790         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
44791
44792 2009-02-24  Eric Blake  <ebb9@byu.net>
44793
44794         strtod: detect HP-UX 11.31 bug
44795         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
44796         Reported by Gary V. Vaughan.
44797
44798 2009-02-23  Bruno Haible  <bruno@clisp.org>
44799
44800         Fix invalid read past end of memory block.
44801         * lib/vasnprintf.c (DCHAR_SET): Define.
44802         (local_wcslen): Define only when needed.
44803         (local_strnlen, local_wcsnlen): New functions.
44804         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
44805         directives that involve a conversion ourselves.
44806         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
44807         wcsnlen, mbrtowc, wcrtomb.
44808         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
44809         * tests/test-vasprintf-posix.c (test_function): Likewise.
44810         * tests/test-snprintf-posix.h (test_function): Likewise.
44811         * tests/test-sprintf-posix.h (test_function): Likewise.
44812         Reported by Ben Pfaff <blp@cs.stanford.edu>.
44813
44814 2009-02-22  Bruno Haible  <bruno@clisp.org>
44815
44816         Implement new clarified decomposition of Hangul syllables.
44817         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
44818         of type LTV, return only a pairwise decomposition.
44819         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
44820         Likewise.
44821         * tests/uninorm/test-decomposition.c (main): Updated expected result.
44822         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
44823         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
44824
44825 2009-02-22  Bruno Haible  <bruno@clisp.org>
44826
44827         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
44828         zero-length results and shrink excess allocated memory.
44829         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
44830         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
44831         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
44832         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
44833         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
44834         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
44835         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
44836         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
44837         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
44838         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
44839         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
44840         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
44841
44842 2009-02-21  Bruno Haible  <bruno@clisp.org>
44843
44844         * doc/gnulib.texi: Include safe-alloc.texi earlier.
44845         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
44846         spaces after a period. Put a space between a macro name and its
44847         argument list. Trivial rewordings.
44848         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
44849         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
44850         (main): Return 0 explicitly.
44851
44852 2009-02-21  Bruno Haible  <bruno@clisp.org>
44853
44854         Tests for module 'uninorm/filter'.
44855         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
44856         * modules/uninorm/filter-tests: New file.
44857
44858         New module 'uninorm/filter'.
44859         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
44860         uninorm_filter_flush, uninorm_filter_free): New declarations.
44861         * lib/uninorm/uninorm-filter.c: New file.
44862         * modules/uninorm/filter: New file.
44863
44864 2009-02-21  Bruno Haible  <bruno@clisp.org>
44865
44866         Tests for module 'uninorm/nfkc'.
44867         * tests/uninorm/test-nfkc.c: New file.
44868         * tests/uninorm/test-u8-nfkc.c: New file.
44869         * tests/uninorm/test-u16-nfkc.c: New file.
44870         * tests/uninorm/test-u32-nfkc.c: New file.
44871         * tests/uninorm/test-u32-nfkc-big.sh: New file.
44872         * tests/uninorm/test-u32-nfkc-big.c: New file.
44873         * modules/uninorm/nfkc-tests: New file.
44874
44875         New module 'uninorm/nfkc'.
44876         * lib/uninorm/nfkc.c: New file.
44877         * modules/uninorm/nfkc: New file.
44878
44879         Tests for module 'uninorm/nfkd'.
44880         * tests/uninorm/test-nfkd.c: New file.
44881         * tests/uninorm/test-u8-nfkd.c: New file.
44882         * tests/uninorm/test-u16-nfkd.c: New file.
44883         * tests/uninorm/test-u32-nfkd.c: New file.
44884         * tests/uninorm/test-u32-nfkd-big.sh: New file.
44885         * tests/uninorm/test-u32-nfkd-big.c: New file.
44886         * modules/uninorm/nfkd-tests: New file.
44887
44888         New module 'uninorm/nfkd'.
44889         * lib/uninorm/nfkd.c: New file.
44890         * modules/uninorm/nfkd: New file.
44891
44892         Tests for module 'uninorm/nfc'.
44893         * tests/uninorm/test-nfc.c: New file.
44894         * tests/uninorm/test-u8-nfc.c: New file.
44895         * tests/uninorm/test-u16-nfc.c: New file.
44896         * tests/uninorm/test-u32-nfc.c: New file.
44897         * tests/uninorm/test-u32-nfc-big.sh: New file.
44898         * tests/uninorm/test-u32-nfc-big.c: New file.
44899         * modules/uninorm/nfc-tests: New file.
44900
44901         New module 'uninorm/nfc'.
44902         * lib/uninorm/nfc.c: New file.
44903         * modules/uninorm/nfc: New file.
44904
44905         Tests for module 'uninorm/nfd'.
44906         * tests/uninorm/test-nfd.c: New file.
44907         * tests/uninorm/test-u8-nfd.c: New file.
44908         * tests/uninorm/test-u16-nfd.c: New file.
44909         * tests/uninorm/test-u32-nfd.c: New file.
44910         * tests/uninorm/test-u32-nfd-big.sh: New file.
44911         * tests/uninorm/test-u32-nfd-big.c: New file.
44912         * tests/uninorm/test-u32-normalize-big.h: New file.
44913         * tests/uninorm/test-u32-normalize-big.c: New file.
44914         * tests/uninorm/NormalizationTest.txt: New file, created from
44915         Unicode 5.1.0 NormalizationTest.txt.
44916         * modules/uninorm/nfd-tests: New file.
44917
44918         New module 'uninorm/nfd'.
44919         * lib/uninorm/nfd.c: New file.
44920         * modules/uninorm/nfd: New file.
44921
44922         New module 'uninorm/u32-normalize'.
44923         * lib/uninorm/u32-normalize.c: New file.
44924         * modules/uninorm/u32-normalize: New file.
44925
44926         New module 'uninorm/u16-normalize'.
44927         * lib/uninorm/u16-normalize.c: New file.
44928         * modules/uninorm/u16-normalize: New file.
44929
44930         New module 'uninorm/u8-normalize'.
44931         * lib/uninorm/u8-normalize.c: New file.
44932         * lib/uninorm/normalize-internal.h: New file.
44933         * lib/uninorm/u-normalize-internal.h: New file.
44934         * modules/uninorm/u8-normalize: New file.
44935
44936         New module 'uninorm/decompose-internal'.
44937         * lib/uninorm/decompose-internal.c: New file.
44938         * modules/uninorm/decompose-internal: New file.
44939
44940         Tests for module 'uninorm/composition'.
44941         * tests/uninorm/test-composition.c: New file.
44942         * modules/uninorm/composition-tests: New file.
44943
44944         New module 'uninorm/composition'.
44945         * lib/uninorm/composition.c: New file.
44946         * lib/uninorm/composition-table.gperf: New file, generated by
44947         gen-uni-tables.
44948         * modules/uninorm/composition: New file.
44949
44950         Tests for module 'uninorm/compat-decomposition'.
44951         * tests/uninorm/test-compat-decomposition.c: New file.
44952         * modules/uninorm/compat-decomposition-tests: New file.
44953
44954         New module 'uninorm/compat-decomposition'.
44955         * lib/uninorm/decompose-internal.h: New file.
44956         * lib/uninorm/compat-decomposition.c: New file.
44957         * modules/uninorm/compat-decomposition: New file.
44958
44959         Tests for module 'uninorm/canonical-decomposition'.
44960         * tests/uninorm/test-canonical-decomposition.c: New file.
44961         * modules/uninorm/canonical-decomposition-tests: New file.
44962
44963         New module 'uninorm/canonical-decomposition'.
44964         * lib/uninorm/canonical-decomposition.c: New file.
44965         * modules/uninorm/canonical-decomposition: New file.
44966
44967         Tests for module 'uninorm/decomposition'.
44968         * tests/uninorm/test-decomposition.c: New file.
44969         * modules/uninorm/decomposition-tests: New file.
44970
44971         New module 'uninorm/decomposition'.
44972         * lib/uninorm/decomposition.c: New file.
44973         * modules/uninorm/decomposition: New file.
44974
44975         New module 'uninorm/decomposition-table'.
44976         * lib/uninorm/decomposition-table.h: New file.
44977         * lib/uninorm/decomposition-table.c: New file.
44978         * lib/uninorm/decomposition-table1.h: New file, generated by
44979         gen-uni-tables.
44980         * lib/uninorm/decomposition-table2.h: New file, generated by
44981         gen-uni-tables.
44982         * modules/uninorm/decomposition-table: New file.
44983
44984         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
44985         (UC_DECOMP_*): New enumeration items.
44986         (get_decomposition): New function.
44987         (struct decomp_table): New type.
44988         (output_decomposition, output_decomposition_tables): New functions.
44989         (unicode_composition_exclusions): New variable.
44990         (fill_composition_exclusions, debug_output_composition_tables): New
44991         functions.
44992         (main): Accept one more argument. Invoke fill_composition_exclusions.
44993         Output decomposition and composition tables.
44994
44995         New module 'uninorm/base'.
44996         * lib/uninorm.h: New file.
44997         * lib/unictype.h: Update comment.
44998         * modules/uninorm/base: New file.
44999
45000 2009-02-21  David Lutterkort  <lutter@redhat.com>
45001
45002         Tests for module 'safe-alloc'.
45003         * tests/test-safe-alloc.c: New file.
45004         * modules/safe-alloc-tests: New file.
45005
45006         New module 'safe-alloc'.
45007         * lib/safe-alloc.h: New file.
45008         * lib/safe-alloc.c: New file.
45009         * m4/safe-alloc.m4: New file.
45010         * modules/safe-alloc: New file.
45011         * doc/safe-alloc.texi: New file.
45012         * doc/gnulib.texi: Include it.
45013         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
45014         safe-alloc.
45015
45016 2009-02-18  Bruno Haible  <bruno@clisp.org>
45017
45018         Fix link error on non-glibc systems.
45019         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
45020         variable.
45021         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
45022
45023 2009-02-18  Jim Meyering  <meyering@redhat.com>
45024
45025         fts: avoid used-uninitialized error due to recent change
45026         * lib/fts.c (fts_read): Guard uses of the new member,
45027         parent->fts_n_dirs_remaining, since it's not relevant for
45028         the parent of a directory specified on the command-line.
45029
45030 2009-02-17  James Youngman  <jay@gnu.org>
45031             Bruno Haible  <bruno@clisp.org>
45032
45033         * m4/include_next.m4: Reformulate comment.
45034
45035 2009-02-16  Jim Meyering  <meyering@redhat.com>
45036
45037         fts: add #if guards so that the fts_lgpl module still builds
45038         * lib/fts.c: Guard just-added hash-table-using parts with
45039         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
45040         Reported by Simon Josefsson.
45041
45042 2009-02-15  Bruno Haible  <bruno@clisp.org>
45043
45044         * modules/array-mergesort-tests: New file.
45045         * tests/test-array-mergesort.c: New file.
45046
45047         New module 'array-mergesort'.
45048         * modules/array-mergesort: New file.
45049         * lib/array-mergesort.h: New file.
45050
45051 2009-02-15  Bruno Haible  <bruno@clisp.org>
45052
45053         Fix 2009-02-07 commit.
45054         * lib/gen-uni-tables.c (output_predicate, output_category,
45055         output_combclass, output_bidi_category, output_decimal_digit,
45056         output_digit, output_numeric, output_mirror, output_scripts,
45057         output_ident_category, output_simple_mapping): Fix format directives.
45058         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
45059
45060 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
45061
45062         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
45063         fixes are available from IBM.
45064
45065 2009-02-13  Jim Meyering  <meyering@redhat.com>
45066
45067         fts: arrange not to stat non-directories in more cases
45068         This makes GNU find (when it doesn't need to stat each file)
45069         *much* more efficient at traversing reiserfs file systems.
45070         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
45071         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
45072         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
45073         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
45074         (leaf_optimization_applies): New function.
45075         (LCO_hash, LCO_compare): New helper functions.
45076         (link_count_optimize_ok): New function.
45077         (fts_stat): Initialize new member (if dir).
45078         (fts_read): Decrement parent's fts_n_dirs_remaining count if
45079         we've just stat'ed a directory.  Skip the stat call when possible.
45080         ---
45081         Note this AFS-related exchange:
45082         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
45083         and note find's pioctl call in find/fstype.c.
45084         But that is necessary only if you want to enable the
45085         optimization for AFS, and for now, I don't.
45086
45087         fts: move a function definition "up" (no semantic change)
45088         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
45089         "up" to precede upcoming use of a related function.
45090
45091 2009-02-11  Jim Meyering  <meyering@redhat.com>
45092
45093         fts: correct internal computation of nlinks (optimization-related)
45094         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
45095         whether the current entry is a directory, so don't test it.
45096
45097 2009-02-10  Bruno Haible  <bruno@clisp.org>
45098
45099         Tests for module 'uniwbrk/ulc-wordbreaks'.
45100         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
45101         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
45102         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
45103
45104         Tests for module 'uniwbrk/u32-wordbreaks'.
45105         * modules/uniwbrk/u32-wordbreaks-tests: New file.
45106         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
45107
45108         Tests for module 'uniwbrk/u16-wordbreaks'.
45109         * modules/uniwbrk/u16-wordbreaks-tests: New file.
45110         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
45111
45112         Tests for module 'uniwbrk/u8-wordbreaks'.
45113         * modules/uniwbrk/u8-wordbreaks-tests: New file.
45114         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
45115
45116 2009-02-10  Bruno Haible  <bruno@clisp.org>
45117
45118         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
45119         property.
45120         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
45121         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
45122         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
45123
45124 2009-02-10  Simon Josefsson  <simon@josefsson.org>
45125
45126         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
45127         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
45128
45129 2009-02-10  Bruno Haible  <bruno@clisp.org>
45130
45131         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
45132         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
45133         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
45134         * lib/unilbrk/u8-possible-linebreaks.c: Update.
45135         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
45136         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
45137
45138 2009-02-09  Simon Josefsson  <simon@josefsson.org>
45139
45140         * lib/sockets.h (gl_fd_to_handle): New function.
45141
45142         * tests/test-sockets.c: Call gl_fd_to_handle.
45143
45144 2009-02-09  Bruno Haible  <bruno@clisp.org>
45145
45146         * doc/havelib.texi: Document the conventions on bi-arch systems.
45147
45148 2009-02-08  Bruno Haible  <bruno@clisp.org>
45149
45150         Document the AC_LIB_LINKFLAGS macro.
45151         * doc/havelib.texi: New file, mostly written on 2005-05-24.
45152         * doc/gnulib.texi: Include it.
45153
45154 2009-02-08  Bruno Haible  <bruno@clisp.org>
45155
45156         Fix wrong order of sections, compared to TOC.
45157         * doc/gnulib.texi: Include relocatable-maint.texi after the
45158         "Regular expressions" node, not before.
45159
45160 2009-02-08  Bruno Haible  <bruno@clisp.org>
45161
45162         Tests for module 'unicase/totitle'.
45163         * modules/unicase/totitle-tests: New file.
45164
45165         Tests for module 'unicase/tolower'.
45166         * modules/unicase/tolower-tests: New file.
45167
45168         Tests for module 'unicase/toupper'.
45169         * modules/unicase/toupper-tests: New file.
45170         * tests/unicase/test-mapping-part1.h: New file.
45171         * tests/unicase/test-mapping-part2.h: New file.
45172
45173         New module 'unicase/totitle'.
45174         * modules/unicase/totitle: New file.
45175         * lib/unicase/totitle.c: New file.
45176
45177         New module 'unicase/tolower'.
45178         * modules/unicase/tolower: New file.
45179         * lib/unicase/tolower.c: New file.
45180
45181         New module 'unicase/toupper'.
45182         * modules/unicase/toupper: New file.
45183         * lib/unicase/toupper.c: New file.
45184         * lib/unicase/simple-mapping.h: New file.
45185
45186         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
45187         (mapping_table): New structure.
45188         (output_simple_mapping): New function.
45189         (main): Invoke output_simple_mapping_test and output_simple_mapping.
45190         * modules/gen-uni-tables (Description): Update.
45191         * lib/unicase/toupper.h: New file, automatically generated by
45192         gen-uni-tables.
45193         * lib/unicase/tolower.h: New file, automatically generated by
45194         gen-uni-tables.
45195         * lib/unicase/totitle.h: New file, automatically generated by
45196         gen-uni-tables.
45197         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
45198         gen-uni-tables.
45199         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
45200         gen-uni-tables.
45201         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
45202         gen-uni-tables.
45203
45204         New module 'unicase/base'.
45205         * modules/unicase/base: New file.
45206         * lib/unicase.h: New file.
45207
45208 2009-02-08  Bruno Haible  <bruno@clisp.org>
45209
45210         New module 'uniwbrk/ulc-wordbreaks'.
45211         * modules/uniwbrk/ulc-wordbreaks: New file.
45212         * lib/uniwbrk/ulc-wordbreaks.c: New file.
45213
45214         New module 'uniwbrk/u32-wordbreaks'.
45215         * modules/uniwbrk/u32-wordbreaks: New file.
45216         * lib/uniwbrk/u32-wordbreaks.c: New file.
45217
45218         New module 'uniwbrk/u16-wordbreaks'.
45219         * modules/uniwbrk/u16-wordbreaks: New file.
45220         * lib/uniwbrk/u16-wordbreaks.c: New file.
45221
45222         New module 'uniwbrk/u8-wordbreaks'.
45223         * modules/uniwbrk/u8-wordbreaks: New file.
45224         * lib/uniwbrk/u8-wordbreaks.c: New file.
45225         * lib/uniwbrk/u-wordbreaks.h: New file.
45226
45227         New module 'uniwbrk/table'.
45228         * modules/uniwbrk/table: New file.
45229         * lib/uniwbrk/wbrktable.h: New file.
45230         * lib/uniwbrk/wbrktable.c: New file.
45231
45232         New module 'uniwbrk/wordbreak-property'.
45233         * modules/uniwbrk/wordbreak-property: New file.
45234         * lib/uniwbrk/wordbreak-property.c: New file.
45235
45236         * lib/gen-uni-tables.c (WBP_*): New enum items.
45237         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
45238         (unicode_org_wbp): New variable.
45239         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
45240         New functions.
45241         (wbp_table): New structure.
45242         (output_wbp, output_wbrk_tables): New functions.
45243         (main): Accept additional argument. Invoke fill_org_wbp,
45244         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
45245         output_wbrk_tables.
45246         * modules/gen-uni-tables (Description): Update.
45247         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
45248         gen-uni-tables.
45249
45250         New module 'uniwbrk/base'.
45251         * modules/uniwbrk/base: New file.
45252         * lib/uniwbrk.h: New file.
45253
45254 2009-02-08  Bruno Haible  <bruno@clisp.org>
45255
45256         Update to Unicode 5.1.0.
45257         * lib/gen-uni-tables.c (is_property_alphabetic): Include
45258         U+2185..U+2188.
45259         (is_property_default_ignorable_code_point): Don't include characters
45260         of category Cc or Cs and not-a-characters.
45261         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
45262         U+0D79, U+109E, U+109F, U+A60C.
45263         * lib/unictype/bidi_of.h: Regenerated.
45264         * lib/unictype/blocks.h: Regenerated.
45265         * lib/unictype/categ_C.h: Regenerated.
45266         * lib/unictype/categ_Cf.h: Regenerated.
45267         * lib/unictype/categ_Cn.h: Regenerated.
45268         * lib/unictype/categ_L.h: Regenerated.
45269         * lib/unictype/categ_Ll.h: Regenerated.
45270         * lib/unictype/categ_Lm.h: Regenerated.
45271         * lib/unictype/categ_Lo.h: Regenerated.
45272         * lib/unictype/categ_Lu.h: Regenerated.
45273         * lib/unictype/categ_M.h: Regenerated.
45274         * lib/unictype/categ_Mc.h: Regenerated.
45275         * lib/unictype/categ_Me.h: Regenerated.
45276         * lib/unictype/categ_Mn.h: Regenerated.
45277         * lib/unictype/categ_N.h: Regenerated.
45278         * lib/unictype/categ_Nd.h: Regenerated.
45279         * lib/unictype/categ_Nl.h: Regenerated.
45280         * lib/unictype/categ_No.h: Regenerated.
45281         * lib/unictype/categ_P.h: Regenerated.
45282         * lib/unictype/categ_Pd.h: Regenerated.
45283         * lib/unictype/categ_Pe.h: Regenerated.
45284         * lib/unictype/categ_Pf.h: Regenerated.
45285         * lib/unictype/categ_Pi.h: Regenerated.
45286         * lib/unictype/categ_Po.h: Regenerated.
45287         * lib/unictype/categ_Ps.h: Regenerated.
45288         * lib/unictype/categ_S.h: Regenerated.
45289         * lib/unictype/categ_Sk.h: Regenerated.
45290         * lib/unictype/categ_Sm.h: Regenerated.
45291         * lib/unictype/categ_So.h: Regenerated.
45292         * lib/unictype/categ_of.h: Regenerated.
45293         * lib/unictype/combining.h: Regenerated.
45294         * lib/unictype/ctype_alnum.h: Regenerated.
45295         * lib/unictype/ctype_alpha.h: Regenerated.
45296         * lib/unictype/ctype_graph.h: Regenerated.
45297         * lib/unictype/ctype_lower.h: Regenerated.
45298         * lib/unictype/ctype_print.h: Regenerated.
45299         * lib/unictype/ctype_punct.h: Regenerated.
45300         * lib/unictype/ctype_upper.h: Regenerated.
45301         * lib/unictype/decdigit.h: Regenerated.
45302         * lib/unictype/digit.h: Regenerated.
45303         * lib/unictype/mirror.h: Regenerated.
45304         * lib/unictype/numeric.h: Regenerated.
45305         * lib/unictype/pr_alphabetic.h: Regenerated.
45306         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
45307         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
45308         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
45309         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
45310         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
45311         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
45312         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
45313         * lib/unictype/pr_combining.h: Regenerated.
45314         * lib/unictype/pr_dash.h: Regenerated.
45315         * lib/unictype/pr_decimal_digit.h: Regenerated.
45316         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
45317         * lib/unictype/pr_deprecated.h: Regenerated.
45318         * lib/unictype/pr_diacritic.h: Regenerated.
45319         * lib/unictype/pr_extender.h: Regenerated.
45320         * lib/unictype/pr_format_control.h: Regenerated.
45321         * lib/unictype/pr_grapheme_base.h: Regenerated.
45322         * lib/unictype/pr_grapheme_extend.h: Regenerated.
45323         * lib/unictype/pr_grapheme_link.h: Regenerated.
45324         * lib/unictype/pr_id_continue.h: Regenerated.
45325         * lib/unictype/pr_id_start.h: Regenerated.
45326         * lib/unictype/pr_ideographic.h: Regenerated.
45327         * lib/unictype/pr_ignorable_control.h: Regenerated.
45328         * lib/unictype/pr_lowercase.h: Regenerated.
45329         * lib/unictype/pr_math.h: Regenerated.
45330         * lib/unictype/pr_numeric.h: Regenerated.
45331         * lib/unictype/pr_other_alphabetic.h: Regenerated.
45332         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
45333         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
45334         * lib/unictype/pr_other_id_continue.h: Regenerated.
45335         * lib/unictype/pr_other_lowercase.h: Regenerated.
45336         * lib/unictype/pr_other_math.h: Regenerated.
45337         * lib/unictype/pr_punctuation.h: Regenerated.
45338         * lib/unictype/pr_sentence_terminal.h: Regenerated.
45339         * lib/unictype/pr_soft_dotted.h: Regenerated.
45340         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
45341         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
45342         * lib/unictype/pr_unified_ideograph.h: Regenerated.
45343         * lib/unictype/pr_uppercase.h: Regenerated.
45344         * lib/unictype/pr_xid_continue.h: Regenerated.
45345         * lib/unictype/pr_xid_start.h: Regenerated.
45346         * lib/unictype/pr_zero_width.h: Regenerated.
45347         * lib/unictype/scripts.h: Regenerated.
45348         * lib/unictype/scripts_byname.gperf: Regenerated.
45349         * lib/unictype/sy_java_ident.h: Regenerated.
45350         * lib/unilbrk/lbrkprop1.h: Regenerated.
45351         * lib/unilbrk/lbrkprop2.h: Regenerated.
45352         * tests/unictype/test-categ_C.c: Regenerated.
45353         * tests/unictype/test-categ_Cf.c: Regenerated.
45354         * tests/unictype/test-categ_Cn.c: Regenerated.
45355         * tests/unictype/test-categ_L.c: Regenerated.
45356         * tests/unictype/test-categ_Ll.c: Regenerated.
45357         * tests/unictype/test-categ_Lm.c: Regenerated.
45358         * tests/unictype/test-categ_Lo.c: Regenerated.
45359         * tests/unictype/test-categ_Lu.c: Regenerated.
45360         * tests/unictype/test-categ_M.c: Regenerated.
45361         * tests/unictype/test-categ_Mc.c: Regenerated.
45362         * tests/unictype/test-categ_Me.c: Regenerated.
45363         * tests/unictype/test-categ_Mn.c: Regenerated.
45364         * tests/unictype/test-categ_N.c: Regenerated.
45365         * tests/unictype/test-categ_Nd.c: Regenerated.
45366         * tests/unictype/test-categ_Nl.c: Regenerated.
45367         * tests/unictype/test-categ_No.c: Regenerated.
45368         * tests/unictype/test-categ_P.c: Regenerated.
45369         * tests/unictype/test-categ_Pd.c: Regenerated.
45370         * tests/unictype/test-categ_Pe.c: Regenerated.
45371         * tests/unictype/test-categ_Pf.c: Regenerated.
45372         * tests/unictype/test-categ_Pi.c: Regenerated.
45373         * tests/unictype/test-categ_Po.c: Regenerated.
45374         * tests/unictype/test-categ_Ps.c: Regenerated.
45375         * tests/unictype/test-categ_S.c: Regenerated.
45376         * tests/unictype/test-categ_Sk.c: Regenerated.
45377         * tests/unictype/test-categ_Sm.c: Regenerated.
45378         * tests/unictype/test-categ_So.c: Regenerated.
45379         * tests/unictype/test-ctype_alnum.c: Regenerated.
45380         * tests/unictype/test-ctype_alpha.c: Regenerated.
45381         * tests/unictype/test-ctype_graph.c: Regenerated.
45382         * tests/unictype/test-ctype_lower.c: Regenerated.
45383         * tests/unictype/test-ctype_print.c: Regenerated.
45384         * tests/unictype/test-ctype_punct.c: Regenerated.
45385         * tests/unictype/test-ctype_upper.c: Regenerated.
45386         * tests/unictype/test-decdigit.h: Regenerated.
45387         * tests/unictype/test-digit.h: Regenerated.
45388         * tests/unictype/test-numeric.h: Regenerated.
45389         * tests/unictype/test-pr_alphabetic.c: Regenerated.
45390         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
45391         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
45392         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
45393         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
45394         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
45395         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
45396         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
45397         * tests/unictype/test-pr_combining.c: Regenerated.
45398         * tests/unictype/test-pr_dash.c: Regenerated.
45399         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
45400         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
45401         * tests/unictype/test-pr_deprecated.c: Regenerated.
45402         * tests/unictype/test-pr_diacritic.c: Regenerated.
45403         * tests/unictype/test-pr_extender.c: Regenerated.
45404         * tests/unictype/test-pr_format_control.c: Regenerated.
45405         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
45406         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
45407         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
45408         * tests/unictype/test-pr_id_continue.c: Regenerated.
45409         * tests/unictype/test-pr_id_start.c: Regenerated.
45410         * tests/unictype/test-pr_ideographic.c: Regenerated.
45411         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
45412         * tests/unictype/test-pr_lowercase.c: Regenerated.
45413         * tests/unictype/test-pr_math.c: Regenerated.
45414         * tests/unictype/test-pr_numeric.c: Regenerated.
45415         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
45416         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
45417         Regenerated.
45418         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
45419         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
45420         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
45421         * tests/unictype/test-pr_other_math.c: Regenerated.
45422         * tests/unictype/test-pr_punctuation.c: Regenerated.
45423         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
45424         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
45425         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
45426         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
45427         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
45428         * tests/unictype/test-pr_uppercase.c: Regenerated.
45429         * tests/unictype/test-pr_xid_continue.c: Regenerated.
45430         * tests/unictype/test-pr_xid_start.c: Regenerated.
45431         * tests/unictype/test-pr_zero_width.c: Regenerated.
45432
45433         Update to Unicode 5.1.0.
45434         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
45435         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
45436         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
45437         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
45438         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
45439         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
45440         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
45441         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
45442         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
45443         (nonspacing_table_ind): Update.
45444         * tests/uniwidth/test-uc_width2.sh: Update expected result.
45445
45446         Update to Unicode 5.1.0.
45447         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
45448         code transform.
45449         * lib/uniname/uniname.c (unicode_character_name,
45450         unicode_name_character): Add the range 0x1Fxxx to the code transform.
45451         * lib/uniname/uninames.h: Regenerated.
45452         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
45453
45454 2009-02-07  Bruno Haible  <bruno@clisp.org>
45455
45456         Merge gen-ctype and gen-lbrk into a single program.
45457         * lib/gen-uni-tables.c: New file, incorporating
45458         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
45459         Add directory prefixes to the names of the generated files.
45460         * lib/unictype/gen-ctype.c: Remove file.
45461         * lib/unilbrk/gen-lbrk.c: Remove file.
45462         * modules/gen-uni-tables: New file.
45463         * modules/unictype/gen-ctype: Remove file.
45464         * modules/unilbrk/gen-lbrk: Remove file.
45465
45466 2009-02-07  Bruno Haible  <bruno@clisp.org>
45467
45468         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
45469
45470         New module 'unistr/u32-strcoll'.
45471         * modules/unistr/u32-strcoll: New file.
45472         * lib/unistr/u32-strcoll.c: New file.
45473
45474         New module 'unistr/u16-strcoll'.
45475         * modules/unistr/u16-strcoll: New file.
45476         * lib/unistr/u16-strcoll.c: New file.
45477
45478         New module 'unistr/u8-strcoll'.
45479         * modules/unistr/u8-strcoll: New file.
45480         * lib/unistr/u8-strcoll.c: New file.
45481         * lib/unistr/u-strcoll.h: New file.
45482
45483 2009-02-07  Bruno Haible  <bruno@clisp.org>
45484
45485         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
45486         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45487         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
45488         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
45489         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
45490         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
45491
45492 2009-02-07  Bruno Haible  <bruno@clisp.org>
45493
45494         Make 64-bit clean.
45495         * lib/unictype/gen-ctype.c (output_predicate, output_category,
45496         output_combclass, output_bidi_category, output_decimal_digit,
45497         output_digit, output_numeric, output_mirror, output_scripts,
45498         output_ident_category): Use proper width specifier in format strings.
45499
45500 2009-02-07  Bruno Haible  <bruno@clisp.org>
45501
45502         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
45503         failure behaviour.
45504
45505 2009-02-07  Jim Meyering  <meyering@redhat.com>
45506
45507         regex: avoid compilation failure with upcoming gcc-4.4
45508         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
45509         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
45510         "... error: integer overflow in preprocessor expression".
45511
45512 2009-02-05  Ben Pfaff  <blp@gnu.org>
45513
45514         Fix link errors on Windows when close module is used.
45515         * modules/close: Add $(LIB_CLOSE) to Link section.
45516         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
45517         $(LIB_CLOSE) on Windows.
45518
45519 2009-02-05  Jim Meyering  <meyering@redhat.com>
45520
45521         still avoid unused-parameter warnings, but do it cleanly
45522         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
45523         (get_fs_usage): Cast to void instead.
45524         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
45525         (dev_from_mount_options, read_file_system_list): Cast to void.
45526         Prompted by Bruno Haible.
45527
45528 2009-02-04  Jim Meyering  <meyering@redhat.com>
45529
45530         fsusage.c: correct copyright year
45531         * lib/fsusage.c: Reflect year in which the change is pushed into
45532
45533         avoid misc. warnings
45534         * lib/fsusage.c (UNUSED_PARAM): Define.
45535         (get_fs_usage): Mark parameter "disk" as unused.
45536         * lib/getugroups.c (getgrent): Use "void" in prototype.
45537         * lib/mountlist.c: Mark unused parameters.
45538         (read_file_system_list): Declare a local with "const".
45539         * lib/nanosleep.c (getnow): Declare static.
45540         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
45541
45542         dirfd: set errno upon failure
45543         * lib/dirfd.c: Include <errno.h>.
45544         Set errno to ENOTSUP when returning -1.
45545         * modules/dirfd (Depends-on): Add errno.
45546         Suggested by John Kodis <kodis@comcast.net>.
45547
45548 2009-02-01  Bruno Haible  <bruno@clisp.org>
45549
45550         Don't assume sizeof (long) >= sizeof (void *).
45551         * lib/memcmp.c: Include stdint.h.
45552         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
45553         srcp2 to 'const byte *'.
45554         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
45555         types to uintptr_t.
45556         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
45557         * modules/memcmp (Depends-on): Add stdint.
45558         Reported by Ozkan Sezer <sezeroz@gmail.com>.
45559
45560 2009-01-30  Eric Blake  <ebb9@byu.net>
45561
45562         fix more require-before-expand issues
45563         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
45564         expand, AC_PROG_AWK.
45565         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
45566
45567 2009-01-28  Eric Blake  <ebb9@byu.net>
45568
45569         version-etc: use consistent URL formatting
45570         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
45571         Improve formatting.  Use fputs for string without %.
45572
45573 2009-01-28  Jim Meyering  <meyering@redhat.com>
45574
45575         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
45576         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
45577         "underquoted definition of NAME" from autoconf-2.59.
45578
45579 2009-01-28  Bruno Haible  <bruno@clisp.org>
45580
45581         * doc/gnulib.texi: Add "Obsolete modules" to index.
45582
45583 2009-01-28  Jim Meyering  <meyering@redhat.com>
45584
45585         useless-if-before-free: recognize more variants
45586         * build-aux/useless-if-before-free: Also recognize e.g.,
45587         if (NULL != p) free (p);
45588
45589 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
45590
45591         test-getaddrinfo: skip (don't fail) this test when there's no network
45592         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
45593         on the presumption that it means you lack network access.
45594
45595 2009-01-26  Jim Meyering  <meyering@redhat.com>
45596
45597         fflush: avoid warnings on modern systems
45598         * lib/fflush.c (rpl_fflush): Move declarations of locals,
45599         pos and result, into scopes where they're used.
45600
45601 2009-01-26  Eric Blake  <ebb9@byu.net>
45602
45603         Silence warning reintroduced by recent extensions patch.
45604         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
45605         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
45606         autoconf.
45607
45608         Backport improved autoconf semantics of AC_DEFUN_ONCE.
45609         * m4/00gnulib.m4: New file.
45610         * gnulib-tool (func_get_filelist): Always use it.
45611         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
45612         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
45613
45614 2009-01-25  Bruno Haible  <bruno@clisp.org>
45615
45616         Make test-quotearg work on MacOS X and AIX.
45617         * tests/test-quotearg.sh: New file.
45618         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
45619         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
45620         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
45621         include <libintl.h>.
45622         (fake_locale): Remove variable.
45623         (gettext, dgettext, dcgettext): Remove functions.
45624         (main): Instead of setting a fake locale, set a real locale. Call
45625         textdomain and bindtextdomain.
45626         * modules/quotearg-tests (Files): Add the new files.
45627         (Depends-on): Add gettext, setenv, unsetenv.
45628         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
45629         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
45630         Augment TESTS_ENVIRONMENT.
45631
45632 2009-01-25  Bruno Haible  <bruno@clisp.org>
45633
45634         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
45635         fr_FR.ISO8859-1 locale on MacOS X.
45636         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
45637         ja_JP.eucJP locale on MacOS X.
45638         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
45639         zh_CN.GB18030 locale on MacOS X.
45640
45641 2009-01-25  Bruno Haible  <bruno@clisp.org>
45642
45643         Avoid link errors on MacOS X 10.3.
45644         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
45645         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
45646
45647 2009-01-25  Bruno Haible  <bruno@clisp.org>
45648
45649         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
45650         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
45651         * modules/pipe (Files): Remove m4/posix_spawn.m4.
45652         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
45653         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
45654         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
45655         posix_spawnattr_init, posix_spawnattr_setsigmask,
45656         posix_spawnattr_setflags, posix_spawnattr_destroy.
45657
45658         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
45659         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
45660         * modules/execute (Files): Remove m4/posix_spawn.m4.
45661         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
45662         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
45663         posix_spawnattr_init, posix_spawnattr_setsigmask,
45664         posix_spawnattr_setflags, posix_spawnattr_destroy.
45665
45666 2009-01-25  Bruno Haible  <bruno@clisp.org>
45667
45668         * lib/glthread/threadlib.c: Include <stdlib.h>.
45669
45670 2009-01-25  Bruno Haible  <bruno@clisp.org>
45671
45672         * lib/glthread/threadlib.c (dummy): New declaration.
45673
45674 2009-01-25  Bruno Haible  <bruno@clisp.org>
45675
45676         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
45677         multibyte characters also for the GB18030 encoding. Don't crash when
45678         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
45679
45680 2009-01-25  Bruno Haible  <bruno@clisp.org>
45681
45682         Avoid redefining 'struct random_data' on OSF/1 5.1.
45683         * lib/stdlib.in.h: Include <random.h> if it exists.
45684         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
45685         HAVE_RANDOM_H. Include <random.h> when testing whether
45686         'struct random_data' exists.
45687         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
45688
45689 2009-01-25  Bruno Haible  <bruno@clisp.org>
45690
45691         Don't install charset.alias on MacOS X >= 10.3.
45692         * lib/localcharset.c (DARWIN7): New macro.
45693         (get_charset_aliases): Hardcode the result for Darwin7.
45694         * modules/localcharset (install-exec-local): Don't install
45695         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
45696
45697 2009-01-25  Bruno Haible  <bruno@clisp.org>
45698
45699         Don't install charset.alias on mingw and Cygwin.
45700         * modules/localcharset (install-exec-local): Don't install
45701         charset.alias on mingw and Cygwin, if the file does not yet exist.
45702         The result for these platforms is hardcoded in localcharset.c.
45703
45704 2009-01-25  Bruno Haible  <bruno@clisp.org>
45705
45706         Make it possible again to use AC_GNU_SOURCE together with gnulib.
45707         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
45708         before requiring AC_USE_SYSTEM_EXTENSIONS.
45709
45710 2009-01-25  Jim Meyering  <meyering@redhat.com>
45711
45712         c-strtod: avoid warnings
45713         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
45714         "assignment discards qualifiers from pointer target type" warnings.
45715
45716 2009-01-24  Bruno Haible  <bruno@clisp.org>
45717
45718         Add support for non-UTF-8 locales on MacOS X.
45719         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
45720         canonical encodings. For Darwin 7 and newer, don't map traditional
45721         encodings to UTF-8.
45722         Reported by Vincent Lefevre <vincent@vinc17.org>
45723         at <http://savannah.gnu.org/bugs/?25235>.
45724
45725 2009-01-24  Bruno Haible  <bruno@clisp.org>
45726
45727         * doc/gnulib.texi (Obsolete modules): New section.
45728         Reported by Mike Frysinger <vapier@gentoo.org>.
45729
45730 2009-01-24  Bruno Haible  <bruno@clisp.org>
45731
45732         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
45733         (%.dvi): New rule.
45734
45735 2009-01-24  Bruno Haible  <bruno@clisp.org>
45736
45737         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
45738         Reported by Eric Blake.
45739
45740 2009-01-24  Bruno Haible  <bruno@clisp.org>
45741
45742         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
45743         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
45744         Reported by Gary V. Vaughan <gary@gnu.org>.
45745
45746 2009-01-24  Bruno Haible  <bruno@clisp.org>
45747
45748         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
45749
45750 2009-01-23  Bruno Haible  <bruno@clisp.org>
45751
45752         Make c-strtod, c-strtold usable in libraries.
45753         * lib/c-strtod.c: Include string.h instead of xalloc.h.
45754         (C_STRTOD): Call strdup instead of xstrdup.
45755         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
45756         * modules/c-strtold (Depends-on): Likewise.
45757         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
45758         * NEWS: Mention the change.
45759         Reported by Michael Gold <mgold@ncf.ca>.
45760
45761 2009-01-23  Jim Meyering  <meyering@redhat.com>
45762
45763         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
45764         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
45765         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
45766
45767 2009-01-23  Simon Josefsson  <simon@josefsson.org>
45768
45769         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
45770         GNU CoreUtils.
45771         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
45772         * modules/version-etc (Description): Update.
45773
45774 2009-01-22  Bruno Haible  <bruno@clisp.org>
45775
45776         Cache the C locale object.
45777         * lib/c-strtod.c (c_locale_cache): New variable.
45778         (c_locale): New function.
45779         (C_STRTOD): Use it, and don't call freelocale.
45780         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
45781         Suggested by Paolo Bonzini.
45782
45783 2009-01-21  Bruno Haible  <bruno@clisp.org>
45784
45785         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
45786         conditions other than overflow.
45787
45788 2009-01-21  Bruno Haible  <bruno@clisp.org>
45789
45790         * lib/c-strtod.c: Include errno.h.
45791         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
45792         value from STRTOD_L and STRTOD.
45793
45794 2009-01-21  Bruno Haible  <bruno@clisp.org>
45795         and Jim Meyering  <meyering@redhat.com>
45796
45797         nanosleep: skip configure test (fail it) for apple universal builds
45798         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
45799         universal builds, assume that nanosleep does not work.
45800         * modules/nanosleep (Depends-on): Add multiarch.
45801
45802         mktime: skip configure test (fail it) for apple universal builds
45803         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
45804         universal builds, assume that mktime does not work.
45805         * modules/mktime (Depends-on): Add multiarch.
45806
45807 2009-01-21  Eric Blake  <ebb9@byu.net>
45808
45809         multiarch: avoid expand-before-require warning
45810         * modules/multiarch (configure.ac): Require, rather than expand,
45811         gl_MULTIARCH.
45812         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
45813         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
45814         enforce that all clients require it.  Partial reversion of
45815         2008-12-29 patch.
45816
45817         error: avoid expand-before-require warning
45818         * modules/errno (configure.ac): Require, rather than expand,
45819         gl_HEADER_ERRNO_H.
45820         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
45821         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
45822         enforce that all clients require it.
45823
45824         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
45825         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
45826         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
45827         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
45828
45829 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
45830
45831         Revert:
45832         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
45833
45834         regex: do not depend on obsolete modules.
45835         * modules/regex: Remove memcmp and memmove.
45836
45837 2009-01-20  Bruno Haible  <bruno@clisp.org>
45838
45839         Make the 'link' module link on Windows NT 4.
45840         * lib/link.c (_WIN32_WINNT): Don't define.
45841         (CreateHardLinkFuncType): New type.
45842         (CreateHardLinkFunc, initialized): New variables.
45843         (initialize): New function.
45844         (link): Invoke CreateHardLink indirectly through the function pointer.
45845
45846 2009-01-20  Bruno Haible  <bruno@clisp.org>
45847
45848         Fix compilation failure on mingw.
45849         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
45850
45851 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
45852
45853         * doc/c-strtod.texi: Mention a couple of restrictions.
45854
45855 2009-01-20  Jim Meyering  <meyering@redhat.com>
45856
45857         gettimeofday: move more declarations out of functions
45858         * lib/gettimeofday.c: Move extern declarations of tzset and
45859         gmtime out of containing functions.  Prompted by Bruno Haible.
45860
45861 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
45862
45863         regex: do not depend on obsolete modules.
45864         * modules/regex: Remove memcmp and memmove.
45865
45866 2009-01-19  Bruno Haible  <bruno@clisp.org>
45867
45868         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
45869         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
45870         gl_BIGENDIAN, not AC_C_BIGENDIAN.
45871         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
45872         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
45873
45874 2009-01-19  Bruno Haible  <bruno@clisp.org>
45875
45876         * tests/test-link.c: Include <errno.h>.
45877         (main): Exit with code 77 when a hard link cannot be created due to
45878         the file system.
45879         * tests/test-link.sh: Skip test when a hard link cannot be created due
45880         to the file system.
45881         Suggested by Eric Blake.
45882
45883 2009-01-19  Martin Lambers  <marlam@marlam.de>
45884
45885         * modules/link-tests: New file.
45886         * tests/test-link.sh: New file.
45887         * tests/test-link.c: New file.
45888
45889 2009-01-19  Eric Blake  <ebb9@byu.net>
45890
45891         doc: mention another function added in cygwin 1.7.0
45892         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
45893         Another new function in cygwin 1.7.
45894
45895 2009-01-19  Bruno Haible  <bruno@clisp.org>
45896
45897         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
45898         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
45899         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
45900         gl_BIGENDIAN, not AC_C_BIGENDIAN.
45901         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45902         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
45903         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
45904         * m4/md4.m4 (gl_MD4): Likewise.
45905         * m4/md5.m4 (gl_MD5): Likewise.
45906         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
45907         * m4/sha1.m4 (gl_SHA1): Likewise.
45908         * m4/sha256.m4 (gl_SHA256): Likewise.
45909         * m4/sha512.m4 (gl_SHA512): Likewise.
45910
45911 2009-01-19  Bruno Haible  <bruno@clisp.org>
45912
45913         * modules/uniname/uniname-tests (Depends-on): Add progname.
45914         * tests/uniname/test-uninames.c: Include progname.h.
45915         (main): Call set_program_name.
45916
45917         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
45918         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
45919         (main): Call set_program_name.
45920
45921         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
45922         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
45923         (main): Call set_program_name.
45924
45925         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
45926         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
45927         (main): Call set_program_name.
45928
45929         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
45930         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
45931         (main): Call set_program_name.
45932
45933         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
45934         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
45935         (main): Call set_program_name.
45936
45937         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
45938         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
45939         (main): Call set_program_name.
45940
45941         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
45942         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
45943         (main): Call set_program_name.
45944
45945         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
45946         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
45947         (main): Call set_program_name.
45948
45949 2009-01-19  Eric Blake  <ebb9@byu.net>
45950
45951         test-unistd: test previous patch
45952         * tests/test-unistd.c: Test *_FILENO macros.
45953
45954         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
45955         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45956         Guarantee a definition.
45957         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
45958         * modules/unistd-safer (Depends-on): Add dependency on unistd.
45959         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
45960         * lib/dup-safer.c (STDERR_FILENO): Likewise.
45961         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45962         Likewise.
45963         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
45964         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
45965         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
45966         Likewise.
45967         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
45968         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
45969         (STDERR_FILENO): Likewise.
45970         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
45971         (STDERR_FILENO): Likewise.
45972         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
45973         (STDERR_FILENO): Likewise.
45974         Reported by Elbert Pol.
45975
45976 2009-01-19  Eric Blake  <ebb9@byu.net>
45977
45978         doc: mention more functions added in cygwin 1.7.0
45979         * doc/posix-functions/abort.texi (abort): Update wording related
45980         to cygwin.
45981         * doc/posix-functions/daylight.texi (daylight): Likewise.
45982         * doc/posix-functions/optarg.texi (optarg): Likewise.
45983         * doc/posix-functions/optarg.texi (opterr): Likewise.
45984         * doc/posix-functions/optarg.texi (optind): Likewise.
45985         * doc/posix-functions/optarg.texi (optopt): Likewise.
45986         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
45987         worked in 1.5.x, and was withdrawn in 1.7.
45988         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
45989         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
45990         cygwin versions.
45991         * doc/posix-functions/perror.texi (perror): Likewise.
45992         * doc/posix-functions/printf.texi (printf): Likewise.
45993         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
45994         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
45995         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
45996         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
45997         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
45998         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
45999         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
46000         Likewise.
46001         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
46002         Likewise.
46003         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
46004         this function.
46005         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
46006         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
46007         Likewise.
46008         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
46009         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
46010         * doc/posix-functions/confstr.texi (confstr): Likewise.
46011         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
46012         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
46013         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
46014         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
46015         * doc/posix-functions/fputws.texi (fputws): Likewise.
46016         * doc/posix-functions/fwide.texi (fwide): Likewise.
46017         * doc/posix-functions/getwc.texi (getwc): Likewise.
46018         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
46019         * doc/posix-functions/putwc.texi (putwc): Likewise.
46020         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
46021         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
46022         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
46023         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
46024         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
46025         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
46026         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
46027         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
46028         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
46029         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
46030         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
46031
46032 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
46033
46034         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
46035         * lib/ioctl.c: Include <sys/ioctl.h>.
46036
46037 2009-01-19  Simon Josefsson  <simon@josefsson.org>
46038
46039         * modules/getdate-tests (Depends-on): Add progname.
46040         * tests/test-getdate.c: Use progname module, to avoid link errors
46041         on non-glibc systems.
46042
46043 2009-01-18  Simon Josefsson  <simon@josefsson.org>
46044
46045         * modules/filenamecat-tests (Depends-on): Add progname.
46046         * modules/fstrcmp-tests (Depends-on): Likewise.
46047
46048         * tests/test-filenamecat.c: Use progname module, to avoid link
46049         errors on non-glibc systems.
46050         * tests/test-fstrcmp.c: Likewise.
46051
46052 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
46053
46054         gettimeofday: avoid warning: nested extern declaration of 'localtime'
46055         * lib/gettimeofday.c: Move extern declaration out of function.
46056
46057 2009-01-18  Bruno Haible  <bruno@clisp.org>
46058
46059         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
46060         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
46061         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
46062
46063 2009-01-18  Bruno Haible  <bruno@clisp.org>
46064
46065         * lib/strftime.c (MEMPCPY): Remove unused macro.
46066         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
46067
46068 2009-01-18  Martin Lambers  <marlam@marlam.de>
46069
46070         New module 'link'.
46071         * lib/unistd.in.h (link): New declaration.
46072         * lib/link.c: New file.
46073         * m4/link.m4: New file.
46074         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
46075         HAVE_LINK.
46076         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
46077         * modules/link: New file.
46078         * doc/posix-functions/link.texi: Mention the new module.
46079
46080 2009-01-18  Bruno Haible  <bruno@clisp.org>
46081
46082         * tests/test-avltree_list.c (main): Call set_program_name.
46083         * tests/test-avltree_oset.c (main): Likewise.
46084         * tests/test-obstack-printf.c: Include progname.h.
46085         (main): Call set_program_name.
46086         * tests/test-quotearg.c: Include progname.h.
46087         (main): Call set_program_name.
46088         * tests/test-xmemdup0.c: Include progname.h.
46089         (main): Call set_program_name.
46090
46091 2009-01-18  Bruno Haible  <bruno@clisp.org>
46092
46093         New module 'alphasort'.
46094         * lib/dirent.in.h (alphasort): New declaration.
46095         * lib/alphasort.c: New file, from glibc with modifications.
46096         * m4/alphasort.m4: New file.
46097         * modules/alphasort: New file.
46098         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
46099         HAVE_ALPHASORT.
46100         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
46101         HAVE_ALPHASORT.
46102         * doc/posix-functions/alphasort.texi: Mention the new module and the
46103         portability problems.
46104
46105 2009-01-18  Bruno Haible  <bruno@clisp.org>
46106
46107         New module 'scandir'.
46108         * lib/dirent.in.h (scandir): New declaration.
46109         * lib/scandir.c: New file, from glibc with modifications.
46110         * m4/scandir.m4: New file.
46111         * modules/scandir: New file.
46112         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
46113         HAVE_SCANDIR.
46114         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
46115         HAVE_SCANDIR.
46116         * doc/posix-functions/scandir.texi: Mention the new module and the
46117         portability problems.
46118
46119 2009-01-17  Bruno Haible  <bruno@clisp.org>
46120
46121         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
46122         Update documentation.
46123         (func_remove_suffix): Escape all dots in the suffix. Update
46124         documentation.
46125         (func_filter_filelist): Update documentation.
46126         Reported by Ralf Wildenhues.
46127
46128 2009-01-17  Bruno Haible  <bruno@clisp.org>
46129
46130         * modules/dprintf-posix-tests: New file.
46131         * tests/test-dprintf-posix.sh: New file.
46132         * tests/test-dprintf-posix.c: New file.
46133
46134         New modules 'dprintf', 'dprintf-posix'.
46135         * lib/stdio.in.h (dprintf): New declaration.
46136         * lib/dprintf.c: New file.
46137         * m4/dprintf.m4: New file.
46138         * m4/dprintf-posix.m4: New file.
46139         * modules/dprintf: New file.
46140         * modules/dprintf-posix: New file.
46141         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
46142         HAVE_DPRINTF, REPLACE_DPRINTF.
46143         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
46144         HAVE_DPRINTF, REPLACE_DPRINTF.
46145         * doc/posix-functions/dprintf.texi: Mention the new modules.
46146
46147 2009-01-17  Bruno Haible  <bruno@clisp.org>
46148
46149         * modules/vdprintf-posix-tests: New file.
46150         * tests/test-vdprintf-posix.sh: New file.
46151         * tests/test-vdprintf-posix.c: New file.
46152
46153         New modules 'vdprintf', 'vdprintf-posix'.
46154         * lib/stdio.in.h (vdprintf): New declaration.
46155         * lib/vdprintf.c: New file.
46156         * m4/vdprintf.m4: New file.
46157         * m4/vdprintf-posix.m4: New file.
46158         * modules/vdprintf: New file.
46159         * modules/vdprintf-posix: New file.
46160         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
46161         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46162         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
46163         HAVE_VDPRINTF, REPLACE_VDPRINTF.
46164         * doc/posix-functions/vdprintf.texi: Mention the new modules.
46165
46166 2009-01-17  Bruno Haible  <bruno@clisp.org>
46167
46168         Fix replacement of fopen on mingw.
46169         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
46170         mingw.
46171
46172 2009-01-17  Bruno Haible  <bruno@clisp.org>
46173
46174         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
46175         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
46176
46177 2009-01-17  Bruno Haible  <bruno@clisp.org>
46178
46179         Avoid test-fflush2.sh failure on mingw.
46180         * tests/test-fflush2.c: Include binary-io.h.
46181         (main): Put standard input into binary mode.
46182         * modules/fflush-tests (Depends-on): Add binary-io.
46183
46184 2009-01-17  Bruno Haible  <bruno@clisp.org>
46185
46186         * lib/wchar.in.h: In another particular situation, include only the
46187         system's <wchar.h> file.
46188         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
46189         Reported by Albert Chin-A-Young <china@thewrittenword.com>
46190         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
46191
46192 2009-01-17  Bruno Haible  <bruno@clisp.org>
46193
46194         Support for stripping executables in --enable-relocatable.
46195         * build-aux/install-reloc: Expect one more argument, or an environment
46196         variable RELOC_STRIP_PROG. If set, strip the destination program and
46197         its wrapper.
46198         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
46199         RELOC_STRIP_PROG.
46200         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
46201         to set RELOCATABLE_STRIP.
46202         * NEWS: Mention the new Makefile requirement.
46203
46204 2009-01-17  Bruno Haible  <bruno@clisp.org>
46205
46206         * build-aux/install-reloc: Remove debugging information left over by
46207         C compiler on MacOS X.
46208
46209 2009-01-17  Bruno Haible  <bruno@clisp.org>
46210
46211         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
46212         * lib/progreloc.c (find_executable): Fix type of pointer passed to
46213         _NSGetExecutablePath.
46214
46215 2009-01-16  Jim Meyering  <meyering@redhat.com>
46216
46217         strerror: avoid warnings about discarding "const"
46218         * lib/strerror.c (rpl_strerror): Instead of returning a const
46219         string from each and every "case", use a variable, and add a single
46220         cast after the switch.
46221
46222 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
46223
46224         * lib/arpa_inet.in.h: Add extern "C" block for C++.
46225
46226 2009-01-16  Bruno Haible  <bruno@clisp.org>
46227
46228         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
46229         array initializer syntax that also works in C++ mode.
46230         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46231
46232 2009-01-16  Jim Meyering  <meyering@redhat.com>
46233
46234         poll: suppress a warning
46235         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
46236         to ignore "...unsigned expression < 0 is always false" warnings.
46237
46238 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
46239
46240         poll: remove declarations of unused variables
46241         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
46242         sockbuf and optlen.
46243
46244 2009-01-15  Bruno Haible  <bruno@clisp.org>
46245
46246         Make fflush-after-ungetc POSIX compliant on BSD systems.
46247         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
46248         (clear_ungetc_buffer): Implement also for other systems.
46249         (rpl_fflush): On glibc systems, invoke
46250         clear_ungetc_buffer_preserving_position. Otherwise, invoke
46251         clear_ungetc_buffer after fetching the stream's position, not before.
46252
46253 2009-01-15  Bruno Haible  <bruno@clisp.org>
46254
46255         Make fflush-after-ungetc POSIX compliant on glibc systems.
46256         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
46257         after ungetc.
46258         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
46259         (rpl_fflush): On glibc systems, simply call the system's fflush
46260         function after clearing the ungetc buffer.
46261         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
46262         Instead, lseek only to the end of file, then use the system's fseeko
46263         for the rest. On glibc systems, reset the EOF indicator bit.
46264
46265 2009-01-15  Jim Meyering  <meyering@redhat.com>
46266
46267         openmp.m4: revert quote-adding change, for portability to older autoconf
46268         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
46269         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
46270         Simon Josefsson noticed the problem when using autoconf-2.61.
46271
46272 2009-01-15  Bruno Haible  <bruno@clisp.org>
46273
46274         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
46275         * tests/test-fflush2.c (ASSERT): Always fail.
46276         (main): Add two tests for fflush() after ungetc(), taking into account
46277         the Austin Group's clarification.
46278         Suggested by Eric Blake.
46279
46280 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
46281
46282         mktime.m4: remove K&R-style function prototypes
46283         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
46284         for the Sun C++ compiler.
46285
46286 2009-01-14  Bruno Haible  <bruno@clisp.org>
46287
46288         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
46289         while including <wchar.h>.
46290         * lib/wchar.in.h: In two particular situations on HP-UX, include only
46291         the system's <wchar.h> file.
46292         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
46293
46294 2009-01-14  Bruno Haible  <bruno@clisp.org>
46295
46296         * m4/csharp.m4: Don't mention gettext on the serial number line.
46297         * m4/csharpexec.m4: Likewise.
46298         * m4/eaccess.m4: Likewise.
46299         * m4/javaexec.m4: Likewise.
46300         * m4/sig_atomic_t.m4: Likewise.
46301         * m4/tmpdir.m4: Likewise.
46302         * m4/intldir.m4: Bump gettext version.
46303         * m4/lib-ld.m4: Likewise.
46304
46305 2009-01-14  Bruno Haible  <bruno@clisp.org>
46306
46307         * lib/progname.c (set_program_name): Add more comments.
46308         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
46309
46310 2009-01-14  Simon Josefsson  <simon@josefsson.org>
46311
46312         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
46313         were sys/stat.h does not define it.
46314
46315 2009-01-14  Jim Meyering  <meyering@redhat.com>
46316
46317         many *.m4 files: improve m4 quoting
46318         99% of this change was performed by running the following commands:
46319         git ls-files | grep '\.m4$' | xargs perl -pi \
46320           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
46321           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46322           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
46323           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
46324         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
46325         The remainder were to add Copyright dates, increment serial numbers,
46326         undo some changes in comments, exclude m4/intl.m4, and add quotes
46327         around the "1" in ",1" where the unusual spacing prohibited the
46328         above regexps from doing the job.  For more details, see
46329         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
46330         * m4/acl.m4: Modified.
46331         * m4/afs.m4: Likewise.
46332         * m4/alloca.m4: Likewise.
46333         * m4/argp.m4: Likewise.
46334         * m4/argz.m4: Likewise.
46335         * m4/atexit.m4: Likewise.
46336         * m4/bison-i18n.m4: Likewise.
46337         * m4/bison.m4: Likewise.
46338         * m4/byteswap.m4: Likewise.
46339         * m4/c-stack.m4: Likewise.
46340         * m4/c-strtod.m4: Likewise.
46341         * m4/calloc.m4: Likewise.
46342         * m4/canonicalize-lgpl.m4: Likewise.
46343         * m4/chown.m4: Likewise.
46344         * m4/clock_time.m4: Likewise.
46345         * m4/codeset.m4: Likewise.
46346         * m4/copy-file.m4: Likewise.
46347         * m4/csharp.m4: Likewise.
46348         * m4/csharpcomp.m4: Likewise.
46349         * m4/csharpexec.m4: Likewise.
46350         * m4/d-ino.m4: Likewise.
46351         * m4/d-type.m4: Likewise.
46352         * m4/dirfd.m4: Likewise.
46353         * m4/double-slash-root.m4: Likewise.
46354         * m4/eaccess.m4: Likewise.
46355         * m4/eealloc.m4: Likewise.
46356         * m4/environ.m4: Likewise.
46357         * m4/errno_h.m4: Likewise.
46358         * m4/euidaccess.m4: Likewise.
46359         * m4/execute.m4: Likewise.
46360         * m4/fatal-signal.m4: Likewise.
46361         * m4/fchdir.m4: Likewise.
46362         * m4/fcntl_h.m4: Likewise.
46363         * m4/fileblocks.m4: Likewise.
46364         * m4/filenamecat.m4: Likewise.
46365         * m4/findprog.m4: Likewise.
46366         * m4/flexmember.m4: Likewise.
46367         * m4/fnmatch.m4: Likewise.
46368         * m4/fopen.m4: Likewise.
46369         * m4/fpending.m4: Likewise.
46370         * m4/fprintf-posix.m4: Likewise.
46371         * m4/free.m4: Likewise.
46372         * m4/frexp.m4: Likewise.
46373         * m4/frexpl.m4: Likewise.
46374         * m4/fsusage.m4: Likewise.
46375         * m4/ftruncate.m4: Likewise.
46376         * m4/gc-camellia.m4: Likewise.
46377         * m4/gc-random.m4: Likewise.
46378         * m4/gc.m4: Likewise.
46379         * m4/getaddrinfo.m4: Likewise.
46380         * m4/getcwd-abort-bug.m4: Likewise.
46381         * m4/getcwd-path-max.m4: Likewise.
46382         * m4/getdate.m4: Likewise.
46383         * m4/getdomainname.m4: Likewise.
46384         * m4/getgroups.m4: Likewise.
46385         * m4/gethostname.m4: Likewise.
46386         * m4/gethrxtime.m4: Likewise.
46387         * m4/getline.m4: Likewise.
46388         * m4/getloadavg.m4: Likewise.
46389         * m4/getndelim2.m4: Likewise.
46390         * m4/getpass.m4: Likewise.
46391         * m4/gettext.m4: Likewise.
46392         * m4/gettime.m4: Likewise.
46393         * m4/gettimeofday.m4: Likewise.
46394         * m4/gnulib-common.m4: Likewise.
46395         * m4/group-member.m4: Likewise.
46396         * m4/host-os.m4: Likewise.
46397         * m4/iconv.m4: Likewise.
46398         * m4/iconv_open.m4: Likewise.
46399         * m4/inet_ntop.m4: Likewise.
46400         * m4/inet_pton.m4: Likewise.
46401         * m4/inline.m4: Likewise.
46402         * m4/intldir.m4: Likewise.
46403         * m4/intlmacosx.m4: Likewise.
46404         * m4/intmax.m4: Likewise.
46405         * m4/intmax_t.m4: Likewise.
46406         * m4/inttypes.m4: Likewise.
46407         * m4/inttypes_h.m4: Likewise.
46408         * m4/inttypes-pri.m4: Likewise.
46409         * m4/isapipe.m4: Likewise.
46410         * m4/isnand.m4: Likewise.
46411         * m4/isnanf.m4: Likewise.
46412         * m4/isnanl.m4: Likewise.
46413         * m4/javacomp.m4: Likewise.
46414         * m4/javaexec.m4: Likewise.
46415         * m4/jm-winsz1.m4: Likewise.
46416         * m4/jm-winsz2.m4: Likewise.
46417         * m4/lchown.m4: Likewise.
46418         * m4/lcmessage.m4: Likewise.
46419         * m4/ldexpl.m4: Likewise.
46420         * m4/lib-ld.m4: Likewise.
46421         * m4/lib-link.m4: Likewise.
46422         * m4/libsigsegv.m4: Likewise.
46423         * m4/link-follow.m4: Likewise.
46424         * m4/localcharset.m4: Likewise.
46425         * m4/locale-fr.m4: Likewise.
46426         * m4/locale-ja.m4: Likewise.
46427         * m4/locale-tr.m4: Likewise.
46428         * m4/locale-zh.m4: Likewise.
46429         * m4/lock.m4: Likewise.
46430         * m4/longlong.m4: Likewise.
46431         * m4/ls-mntd-fs.m4: Likewise.
46432         * m4/lstat.m4: Likewise.
46433         * m4/malloc.m4: Likewise.
46434         * m4/mathl.m4: Likewise.
46435         * m4/mbrtowc.m4: Likewise.
46436         * m4/mbstate_t.m4: Likewise.
46437         * m4/mbswidth.m4: Likewise.
46438         * m4/memchr.m4: Likewise.
46439         * m4/memcmp.m4: Likewise.
46440         * m4/memcpy.m4: Likewise.
46441         * m4/memmem.m4: Likewise.
46442         * m4/memmove.m4: Likewise.
46443         * m4/mempcpy.m4: Likewise.
46444         * m4/memrchr.m4: Likewise.
46445         * m4/memset.m4: Likewise.
46446         * m4/minmax.m4: Likewise.
46447         * m4/mkdir-slash.m4: Likewise.
46448         * m4/mkdtemp.m4: Likewise.
46449         * m4/mktime.m4: Likewise.
46450         * m4/mmap-anon.m4: Likewise.
46451         * m4/mountlist.m4: Likewise.
46452         * m4/nanosleep.m4: Likewise.
46453         * m4/nls.m4: Likewise.
46454         * m4/nocrash.m4: Likewise.
46455         * m4/open.m4: Likewise.
46456         * m4/openat.m4: Likewise.
46457         * m4/openmp.m4: Likewise.
46458         * m4/pathmax.m4: Likewise.
46459         * m4/perl.m4: Likewise.
46460         * m4/physmem.m4: Likewise.
46461         * m4/pipe.m4: Likewise.
46462         * m4/po.m4: Likewise.
46463         * m4/poll.m4: Likewise.
46464         * m4/posixtm.m4: Likewise.
46465         * m4/posixver.m4: Likewise.
46466         * m4/printf-frexp.m4: Likewise.
46467         * m4/printf-frexpl.m4: Likewise.
46468         * m4/printf-posix.m4: Likewise.
46469         * m4/printf-posix-rpl.m4: Likewise.
46470         * m4/printf.m4: Likewise.
46471         * m4/progtest.m4: Likewise.
46472         * m4/putenv.m4: Likewise.
46473         * m4/readline.m4: Likewise.
46474         * m4/readlink.m4: Likewise.
46475         * m4/readutmp.m4: Likewise.
46476         * m4/realloc.m4: Likewise.
46477         * m4/regex.m4: Likewise.
46478         * m4/relocatable.m4: Likewise.
46479         * m4/relocatable-lib.m4: Likewise.
46480         * m4/rename-dest-slash.m4: Likewise.
46481         * m4/rename.m4: Likewise.
46482         * m4/rmdir-errno.m4: Likewise.
46483         * m4/rmdir.m4: Likewise.
46484         * m4/roundf.m4: Likewise.
46485         * m4/roundl.m4: Likewise.
46486         * m4/rpmatch.m4: Likewise.
46487         * m4/save-cwd.m4: Likewise.
46488         * m4/selinux-selinux-h.m4: Likewise.
46489         * m4/setenv.m4: Likewise.
46490         * m4/settime.m4: Likewise.
46491         * m4/sig2str.m4: Likewise.
46492         * m4/sig_atomic_t.m4: Likewise.
46493         * m4/signalblocking.m4: Likewise.
46494         * m4/signbit.m4: Likewise.
46495         * m4/sigpipe.m4: Likewise.
46496         * m4/sockets.m4: Likewise.
46497         * m4/sockpfaf.m4: Likewise.
46498         * m4/st_dm_mode.m4: Likewise.
46499         * m4/stat-time.m4: Likewise.
46500         * m4/stdbool.m4: Likewise.
46501         * m4/stdint.m4: Likewise.
46502         * m4/stdint_h.m4: Likewise.
46503         * m4/stpcpy.m4: Likewise.
46504         * m4/stpncpy.m4: Likewise.
46505         * m4/strcase.m4: Likewise.
46506         * m4/strchrnul.m4: Likewise.
46507         * m4/strcspn.m4: Likewise.
46508         * m4/strdup.m4: Likewise.
46509         * m4/strftime.m4: Likewise.
46510         * m4/strndup.m4: Likewise.
46511         * m4/strnlen.m4: Likewise.
46512         * m4/strpbrk.m4: Likewise.
46513         * m4/strptime.m4: Likewise.
46514         * m4/strsep.m4: Likewise.
46515         * m4/strtod.m4: Likewise.
46516         * m4/strtoimax.m4: Likewise.
46517         * m4/strtok_r.m4: Likewise.
46518         * m4/strtol.m4: Likewise.
46519         * m4/strtoll.m4: Likewise.
46520         * m4/strtoul.m4: Likewise.
46521         * m4/strtoull.m4: Likewise.
46522         * m4/strtoumax.m4: Likewise.
46523         * m4/strverscmp.m4: Likewise.
46524         * m4/threadlib.m4: Likewise.
46525         * m4/timegm.m4: Likewise.
46526         * m4/tm_gmtoff.m4: Likewise.
46527         * m4/tmpdir.m4: Likewise.
46528         * m4/tmpfile.m4: Likewise.
46529         * m4/tzset.m4: Likewise.
46530         * m4/uintmax_t.m4: Likewise.
46531         * m4/unlinkdir.m4: Likewise.
46532         * m4/unlocked-io.m4: Likewise.
46533         * m4/uptime.m4: Likewise.
46534         * m4/userspec.m4: Likewise.
46535         * m4/utimbuf.m4: Likewise.
46536         * m4/utime.m4: Likewise.
46537         * m4/utimes-null.m4: Likewise.
46538         * m4/utimes.m4: Likewise.
46539         * m4/vararrays.m4: Likewise.
46540         * m4/vasnprintf.m4: Likewise.
46541         * m4/vfprintf-posix.m4: Likewise.
46542         * m4/vprintf-posix.m4: Likewise.
46543         * m4/wait-process.m4: Likewise.
46544         * m4/wchar_t.m4: Likewise.
46545         * m4/wint_t.m4: Likewise.
46546         * m4/write-any-file.m4: Likewise.
46547         * m4/yield.m4: Likewise.
46548
46549 2009-01-13  Bruno Haible  <bruno@clisp.org>
46550
46551         Avoid test-copy-file.sh failures when ACL support insufficient.
46552         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
46553         TESTS_ENVIRONMENT.
46554         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
46555         Reported by Jim Meyering.
46556
46557 2009-01-13  Bruno Haible  <bruno@clisp.org>
46558
46559         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
46560         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
46561         * modules/unistdio/u8-printf-parse (Files): Likewise.
46562         * modules/unistdio/u32-printf-parse (Files): Likewise.
46563         * modules/unistdio/ulc-printf-parse (Files): Likewise.
46564
46565 2009-01-13  Simon Josefsson  <simon@josefsson.org>
46566
46567         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
46568         and m4/inttypes_h.m4 too.
46569
46570 2009-01-12  Eric Blake  <ebb9@byu.net>
46571
46572         tests: IRIX 6.2 cc can't compile -0.0 into .data
46573         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
46574         rather than at compile-time.
46575         * tests/test-floorl.c (minus_zero): Likewise.
46576         * tests/test-frexpl.c (minus_zero): Likewise.
46577         * tests/test-isnan.c (minus_zerol): Likewise.
46578         * tests/test-isnanl.h (minus_zero): Likewise.
46579         * tests/test-ldexpl.c (minus_zero): Likewise.
46580         * tests/test-roundl.c (minus_zero): Likewise.
46581         * tests/test-signbit.c (minus_zerol): Likewise.
46582         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
46583         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
46584         * tests/test-truncl.c (minus_zero): Likewise.
46585         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
46586         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
46587         Reported by Tom G. Christensen and Nelson H. F. Beebe.
46588
46589 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46590
46591         regex: fix glibc bug 9697
46592         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
46593         handling.
46594
46595 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46596
46597         regex: fix glibc bug 697
46598         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
46599         being NULL also if there are no backreferences.
46600
46601 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
46602
46603         regex: merge glibc changes
46604         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
46605         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
46606         re_string_skip_chars, re_string_reconstruct): Likewise.
46607         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
46608
46609 2009-01-07  Jim Meyering  <meyering@redhat.com>
46610
46611         poll: filter through cppi
46612         * lib/poll.c: Indent cpp directives to reflect nesting.
46613
46614 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
46615
46616         poll: don't return uninitialized
46617         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
46618
46619 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
46620
46621         avoid compile failure on AIX 6.1
46622         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
46623         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
46624
46625 2009-01-04  Jim Meyering  <meyering@redhat.com>
46626
46627         remove duplicate inclusion of <stdio.h>
46628         * tests/test-fprintf-posix.c: Likewise.
46629         * tests/test-printf-posix.c: Likewise.
46630         * tests/test-snprintf-posix.c: Likewise.
46631         * tests/test-sprintf-posix.c: Likewise.
46632         * tests/test-vasprintf-posix.c: Likewise.
46633         * tests/test-vfprintf-posix.c: Likewise.
46634         * tests/test-vprintf-posix.c: Likewise.
46635         * tests/test-vsnprintf-posix.c: Likewise.
46636         * tests/test-vsprintf-posix.c: Likewise.
46637
46638 2009-01-03  Jim Meyering  <meyering@redhat.com>
46639
46640         gnulib-tool: fix sed-based filtering
46641         * gnulib-tool (func_filter_filelist): Remove extra backslash
46642         in sed_fff_filter definition.
46643
46644 2009-01-02  Jim Meyering  <meyering@redhat.com>
46645
46646         strftime: avoid compilation failure on Solaris 2.6
46647         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
46648         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
46649         Don't #define mbrlen or mbsinit, since now they're guaranteed to
46650         be available.  Reported by Tom G. Christensen.  Details in
46651         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
46652
46653 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46654             Bruno Haible  <bruno@clisp.org>
46655
46656         Speed up gnulib-tool by doing more string processing through shell
46657         built-ins.
46658         * gnulib-tool (fast_func_append): New variable.
46659         (func_remove_prefix, func_remove_suffix): New functions.
46660         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
46661         (func_filter_filelist): New function.
46662         (func_get_dependencies): Use func_remove_suffix instead of sed.
46663         (func_get_automake_snippet): Use func_filter_filelist instead of a
46664         subshell and sed invocation.
46665
46666 2009-01-01  Bruno Haible  <bruno@clisp.org>
46667
46668         Fix a security bug.
46669         * gnulib-tool (func_import, import, update): Don't allow the characters
46670         '"', '$', '`', '\' in macro arguments that become part of commands that
46671         are evaluated.
46672
46673 2009-01-01  Bruno Haible  <bruno@clisp.org>
46674
46675         * gnulib-tool (func_reset_sigpipe): Add more comments.
46676
46677 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46678
46679         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
46680         func_emit_tests_Makefile_am, func_import): Abort loops early if we
46681         already know the answer.
46682
46683 2009-01-01  Jim Meyering  <meyering@redhat.com>
46684
46685         * lib/version-etc.c (version_etc_va): Update copyright year.
46686
46687 2008-12-30  Bruno Haible  <bruno@clisp.org>
46688
46689         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
46690         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
46691         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
46692
46693 2008-12-29  Eric Blake  <ebb9@byu.net>
46694
46695         multiarch: avoid autoconf AC_REQUIRE bug
46696         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
46697         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
46698         2.63 and older.
46699         Reported by Bruno Haible, and analyzed in
46700         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
46701
46702 2008-12-29  Bruno Haible  <bruno@clisp.org>
46703
46704         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
46705         files in subdirectories correctly.
46706         Reported by Ralf Wildenhues.
46707
46708 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46709
46710         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
46711         rather than 'join FILE -', for Solaris join.
46712
46713 2008-12-29  Bruno Haible  <bruno@clisp.org>
46714
46715         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
46716         quoting.
46717         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
46718         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
46719         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
46720         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
46721         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
46722         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
46723         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
46724         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
46725         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
46726         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
46727         * m4/nls.m4 (AM_NLS): Likewise.
46728         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
46729         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
46730         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
46731         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
46732         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
46733         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
46734         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
46735         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
46736         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
46737         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
46738         * m4/xsize.m4 (gl_XSIZE): Likewise.
46739         Suggested by Jim Meyering.
46740
46741 2008-11-17  Bruce Korb  <bkorb@gnu.org>
46742
46743         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
46744         * lib/parse-duration.c: use a switch instead of cascading if's.
46745
46746 2008-12-29  Eric Blake  <ebb9@byu.net>
46747
46748         wchar.h: supply WEOF on Irix 5.3
46749         * lib/wchar.in.h (wint_t): Also supply WEOF.
46750         * lib/wctype.in.h (wint_t): Likewise.
46751         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
46752         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
46753         Reported by Tom G. Christensen.
46754
46755 2008-12-26  Bruno Haible  <bruno@clisp.org>
46756
46757         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
46758         i486, i586, i686.
46759
46760 2008-12-26  Bruno Haible  <bruno@clisp.org>
46761
46762         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
46763
46764 2008-12-26  Bruno Haible  <bruno@clisp.org>
46765
46766         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
46767         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
46768         not __STDC_CONSTANT_MACROS.
46769         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
46770
46771 2008-12-25  Bruno Haible  <bruno@clisp.org>
46772
46773         Add support for universal builds to vasnprintf.
46774         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
46775         universal builds, guess no.
46776         * modules/vasnprintf-posix (Depends-on): Add multiarch.
46777         * modules/vasprintf-posix (Depends-on): Likewise.
46778         * modules/fprintf-posix (Depends-on): Likewise.
46779         * modules/vfprintf-posix (Depends-on): Likewise.
46780         * modules/snprintf-posix (Depends-on): Likewise.
46781         * modules/vsnprintf-posix (Depends-on): Likewise.
46782         * modules/sprintf-posix (Depends-on): Likewise.
46783         * modules/vsprintf-posix (Depends-on): Likewise.
46784         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
46785         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
46786         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
46787         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
46788         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
46789         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
46790         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
46791
46792         Add support for universal builds to <inttypes.h>.
46793         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
46794         _SCNu64_PREFIX): In Apple
46795         universal builds, define directly, using _LP64.
46796         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
46797         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
46798         * modules/inttypes (Depends-on): Add multiarch.
46799         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
46800
46801         Add support for universal builds to <stdint.h>.
46802         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
46803         universal builds, define directly, using _LP64.
46804         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
46805         Apple universal builds, don't test for the size and suffix of ptrdiff_t
46806         and size_t.
46807         * modules/stdint (Depends-on): Add multiarch.
46808         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
46809
46810         New module 'multiarch'.
46811         * modules/multiarch: New file.
46812         * m4/multiarch.m4: New file.
46813
46814 2008-12-25  Bruno Haible  <bruno@clisp.org>
46815
46816         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
46817
46818 2008-12-25  Bruno Haible  <bruno@clisp.org>
46819
46820         * modules/btowc (License): Relicense under LGPLv2+.
46821         * modules/mbsinit (License): Likewise.
46822         * modules/mbrtowc (License): Likewise.
46823         * modules/wcrtomb (License): Likewise.
46824         * modules/streq (License): Likewise.
46825         Reported by David Lutterkort <lutter@redhat.com>.
46826
46827 2008-12-23  Bruno Haible  <bruno@clisp.org>
46828
46829         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
46830
46831 2008-12-23  Bruno Haible  <bruno@clisp.org>
46832
46833         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
46834         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
46835         GETADDRINFO_LIB, not in LIBS.
46836         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
46837         * modules/canon-host (Link): Likewise.
46838         * NEWS: Mention the change.
46839         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
46840         GETADDRINFO_LIB.
46841
46842 2008-12-22  Bruno Haible  <bruno@clisp.org>
46843
46844         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
46845         * doc/posix-functions/iswalpha_l.texi: Likewise.
46846         * doc/posix-functions/iswblank_l.texi: Likewise.
46847         * doc/posix-functions/iswcntrl_l.texi: Likewise.
46848         * doc/posix-functions/iswctype_l.texi: Likewise.
46849         * doc/posix-functions/iswdigit_l.texi: Likewise.
46850         * doc/posix-functions/iswgraph_l.texi: Likewise.
46851         * doc/posix-functions/iswlower_l.texi: Likewise.
46852         * doc/posix-functions/iswprint_l.texi: Likewise.
46853         * doc/posix-functions/iswpunct_l.texi: Likewise.
46854         * doc/posix-functions/iswspace_l.texi: Likewise.
46855         * doc/posix-functions/iswupper_l.texi: Likewise.
46856         * doc/posix-functions/iswxdigit_l.texi: Likewise.
46857         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
46858         * doc/posix-functions/open_wmemstream.texi: Likewise.
46859         * doc/posix-functions/swscanf.texi: Likewise.
46860         * doc/posix-functions/towctrans_l.texi: Likewise.
46861         * doc/posix-functions/towlower.texi: Likewise.
46862         * doc/posix-functions/towlower_l.texi: Likewise.
46863         * doc/posix-functions/towupper.texi: Likewise.
46864         * doc/posix-functions/towupper_l.texi: Likewise.
46865         * doc/posix-functions/vfwprintf.texi: Likewise.
46866         * doc/posix-functions/vfwscanf.texi: Likewise.
46867         * doc/posix-functions/vswscanf.texi: Likewise.
46868         * doc/posix-functions/vwprintf.texi: Likewise.
46869         * doc/posix-functions/vwscanf.texi: Likewise.
46870         * doc/posix-functions/wcpcpy.texi: Likewise.
46871         * doc/posix-functions/wcpncpy.texi: Likewise.
46872         * doc/posix-functions/wcscasecmp.texi: Likewise.
46873         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
46874         * doc/posix-functions/wcscoll_l.texi: Likewise.
46875         * doc/posix-functions/wcsdup.texi: Likewise.
46876         * doc/posix-functions/wcsncasecmp.texi: Likewise.
46877         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
46878         * doc/posix-functions/wcsnlen.texi: Likewise.
46879         * doc/posix-functions/wcsnrtombs.texi: Likewise.
46880         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
46881         * doc/posix-functions/wctrans_l.texi: Likewise.
46882         * doc/posix-functions/wctype_l.texi: Likewise.
46883         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
46884         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
46885         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
46886         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
46887         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
46888         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
46889         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
46890         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
46891         * doc/glibc-functions/wcschrnul.texi: Likewise.
46892         * doc/glibc-functions/wcsftime_l.texi: Likewise.
46893         * doc/glibc-functions/wcstod_l.texi: Likewise.
46894         * doc/glibc-functions/wcstof_l.texi: Likewise.
46895         * doc/glibc-functions/wcstol_l.texi: Likewise.
46896         * doc/glibc-functions/wcstold_l.texi: Likewise.
46897         * doc/glibc-functions/wcstoll_l.texi: Likewise.
46898         * doc/glibc-functions/wcstoq.texi: Likewise.
46899         * doc/glibc-functions/wcstoul_l.texi: Likewise.
46900         * doc/glibc-functions/wcstoull_l.texi: Likewise.
46901         * doc/glibc-functions/wcstouq.texi: Likewise.
46902         * doc/glibc-functions/wmempcpy.texi: Likewise.
46903
46904 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
46905             Eric Blake  <ebb9@byu.net>
46906             Paolo Bonzini  <bonzini@gnu.org>
46907             Bruno Haible  <bruno@clisp.org>
46908
46909         Make c-stack work on Haiku.
46910         * lib/c-stack.c (SA_ONSTACK): Define fallback.
46911         (c_stack_action): Use SA_ONSTACK flag.
46912
46913 2008-12-22  Bruno Haible  <bruno@clisp.org>
46914
46915         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
46916
46917 2008-12-22  Bruno Haible  <bruno@clisp.org>
46918
46919         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
46920         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
46921         being overridden.
46922         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
46923         New macros.
46924         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
46925         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
46926         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
46927         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
46928
46929 2008-12-22  Bruno Haible  <bruno@clisp.org>
46930
46931         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
46932         from test code.
46933
46934 2008-12-22  Eric Blake  <ebb9@byu.net>
46935
46936         Avoid gcc warnings on cygwin.
46937         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
46938         Avoid unused variable.
46939         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
46940         Likewise.
46941
46942 2008-12-22  Bruno Haible  <bruno@clisp.org>
46943
46944         Remove HAVE_MBRTOWC conditionals.
46945         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
46946         (mbscasecmp): Assume mbrtowc function.
46947         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
46948         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
46949         * lib/mbschr.c: Include mbuiter.h unconditionally.
46950         (mbschr): Assume mbrtowc function.
46951         * lib/mbscspn.c: Include mbuiter.h unconditionally.
46952         (mbscspn): Assume mbrtowc function.
46953         * lib/mbslen.c: Include mbuiter.h unconditionally.
46954         (mbslen): Assume mbrtowc function.
46955         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
46956         (mbsncasecmp): Assume mbrtowc function.
46957         * lib/mbsnlen.c: Include mbiter.h unconditionally.
46958         (mbsnlen): Assume mbrtowc function.
46959         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
46960         (mbspbrk): Assume mbrtowc function.
46961         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
46962         (mbspcasecmp): Assume mbrtowc function.
46963         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
46964         (mbsrchr): Assume mbrtowc function.
46965         * lib/mbssep.c: Include mbuiter.h unconditionally.
46966         (mbssep): Assume mbrtowc function.
46967         * lib/mbsspn.c: Include mbuiter.h unconditionally.
46968         (mbsspn): Assume mbrtowc function.
46969         * lib/mbsstr.c: Include mbuiter.h unconditionally.
46970         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
46971         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
46972         (mbstok_r): Assume mbrtowc function.
46973         * lib/propername.c: Include mbuiter.h unconditionally.
46974         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
46975         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
46976         (trim2): Assume mbrtowc function.
46977         * lib/mbswidth.c (mbsinit): Remove fallback definition.
46978         (mbsnwidth): Assume mbrtowc function.
46979         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
46980         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
46981         fallback definitions.
46982         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
46983
46984 2008-12-22  Bruno Haible  <bruno@clisp.org>
46985
46986         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
46987
46988 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
46989
46990         * modules/regex: Request emulations for the mb*/wc* functions we need.
46991         * m4/regex.m4: Don't look for those functions here.
46992         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
46993
46994 2008-12-22  Bruno Haible  <bruno@clisp.org>
46995
46996         * modules/fnmatch (Depends-on): Remove duplicated dependency.
46997
46998 2008-12-21  Bruno Haible  <bruno@clisp.org>
46999
47000         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
47001         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
47002         (Include): Remove conditionalization.
47003         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
47004         (Include): Remove conditionalization.
47005         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
47006         (Include): Remove conditionalization.
47007         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
47008         * m4/mbfile.m4 (gl_MBFILE): Likewise.
47009         * NEWS: Mention the change.
47010         Reported by Alan Hourihane <alanh@fairlite.co.uk>
47011         via Sergey Poznyakoff <gray@gnu.org.ua>.
47012
47013 2008-12-21  Bruno Haible  <bruno@clisp.org>
47014
47015         * MODULES.html.sh (Extended multibyte and wide character utilities
47016         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
47017         wcrtomb, wcsrtombs.
47018         (Support for systems lacking POSIX:2008): Add accept, bind, close,
47019         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
47020         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
47021         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
47022
47023 2008-12-21  Bruno Haible  <bruno@clisp.org>
47024
47025         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
47026
47027 2008-12-21  Bruno Haible  <bruno@clisp.org>
47028
47029         * modules/wcsnrtombs-tests: New file.
47030         * tests/test-wcsnrtombs1.sh: New file.
47031         * tests/test-wcsnrtombs2.sh: New file.
47032         * tests/test-wcsnrtombs3.sh: New file.
47033         * tests/test-wcsnrtombs4.sh: New file.
47034         * tests/test-wcsnrtombs.c: New file.
47035
47036         New module 'wcsnrtombs'.
47037         * lib/wchar.in.h (wcsnrtombs): New declaration.
47038         * lib/wcsnrtombs.c: New file.
47039         * lib/wcsrtombs-state.c: New file.
47040         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
47041         (internal_state): Remove variable.
47042         * m4/wcsnrtombs.m4: New file.
47043         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
47044         compilation units.
47045         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
47046         HAVE_WCSNRTOMBS.
47047         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
47048         HAVE_WCSNRTOMBS.
47049         * modules/wcsnrtombs: New file.
47050         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
47051         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
47052
47053 2008-12-21  Bruno Haible  <bruno@clisp.org>
47054
47055         * modules/wcsrtombs-tests: New file.
47056         * tests/test-wcsrtombs1.sh: New file.
47057         * tests/test-wcsrtombs2.sh: New file.
47058         * tests/test-wcsrtombs3.sh: New file.
47059         * tests/test-wcsrtombs4.sh: New file.
47060         * tests/test-wcsrtombs.c: New file.
47061
47062         New module 'wcsrtombs'.
47063         * lib/wchar.in.h (wcsrtombs): New declaration.
47064         * lib/wcsrtombs.c: New file.
47065         * m4/wcsrtombs.m4: New file.
47066         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
47067         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47068         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
47069         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
47070         * modules/wcsrtombs: New file.
47071         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
47072         bugs.
47073
47074 2008-12-21  Bruno Haible  <bruno@clisp.org>
47075
47076         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
47077         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
47078         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
47079         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
47080         if not correct.
47081         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
47082         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
47083         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47084         m4/locale-zh.m4, m4/codeset.m4.
47085         * doc/posix-functions/wcrtomb.texi: Document the bug.
47086
47087 2008-12-21  Bruno Haible  <bruno@clisp.org>
47088
47089         Work around a btowc() bug on IRIX 6.5.
47090         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
47091         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
47092         REPLACE_WTOBC if not.
47093         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
47094         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
47095         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
47096
47097 2008-12-21  Bruno Haible  <bruno@clisp.org>
47098
47099         * modules/wcrtomb-tests: New file.
47100         * tests/test-wcrtomb.sh: New file.
47101         * tests/test-wcrtomb.c: New file.
47102
47103         New module 'wcrtomb'.
47104         * lib/wchar.in.h (wcrtomb): New declaration.
47105         * lib/wcrtomb.c: New file.
47106         * m4/wcrtomb.m4: New file.
47107         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
47108         HAVE_WCRTOMB.
47109         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
47110         HAVE_WCRTOMB.
47111         * modules/wcrtomb: New file.
47112         * doc/posix-functions/wcrtomb.texi: Mention the new module.
47113
47114 2008-12-21  Bruno Haible  <bruno@clisp.org>
47115
47116         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
47117         * modules/mbsrtowcs (Files): Likewise.
47118         * modules/wctob (Files): Likewise.
47119         * modules/c-strcase-tests (Files): Likewise.
47120         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
47121         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
47122         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
47123         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
47124         * modules/vasnprintf-posix-tests (Files): Likewise.
47125
47126 2008-12-21  William Pursell  <bill.pursell@gmail.com>
47127
47128         gitlog-to-changelog: pass all command-line arguments to git-log
47129         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
47130         it is sometimes convenient to filter the commits in various ways.
47131         gitlog-to-changelog only allows --since to specify a start date,
47132         but git-log itself supports many other filtering mechanisms.
47133         At the moment, I want to filter by branch name.  Rather than
47134         adding a --branch option to gitlog-to-changelog, it seems more
47135         flexible to simply pass all options directly to git-log and let
47136         git do the work.  Notice that this effectively makes --since a
47137         redundant option for gitlog-to-changelog, but removing it would
47138         require current usage to change since calls would then require
47139         an additional '--'.
47140
47141 2008-12-21  Bruno Haible  <bruno@clisp.org>
47142
47143         * modules/mbsnrtowcs-tests: New file.
47144         * tests/test-mbsnrtowcs1.sh: New file.
47145         * tests/test-mbsnrtowcs2.sh: New file.
47146         * tests/test-mbsnrtowcs3.sh: New file.
47147         * tests/test-mbsnrtowcs4.sh: New file.
47148         * tests/test-mbsnrtowcs.c: New file.
47149
47150         New module 'mbsnrtowcs'.
47151         * lib/wchar.in.h (mbsnrtowcs): New declaration.
47152         * lib/mbsnrtowcs.c: New file.
47153         * lib/mbsrtowcs-state.c: New file.
47154         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
47155         (internal_state): Remove variable.
47156         * m4/mbsnrtowcs.m4: New file.
47157         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
47158         compilation units.
47159         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
47160         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47161         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
47162         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
47163         * modules/mbsnrtowcs: New file.
47164         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
47165         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
47166         portability problem.
47167
47168 2008-12-21  Bruno Haible  <bruno@clisp.org>
47169
47170         Work around mbsrtowcs bug.
47171         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
47172         (gl_FUNC_MBSRTOWCS): Invoke it.
47173         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47174         m4/locale-zh.m4.
47175         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
47176
47177 2008-12-21  Bruno Haible  <bruno@clisp.org>
47178
47179         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
47180
47181 2008-12-21  Bruno Haible  <bruno@clisp.org>
47182
47183         Update doc for AIX.
47184         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
47185         16-bit wchar_t type.
47186         * doc/posix-functions/btowc.texi: Likewise.
47187         * doc/posix-functions/fgetwc.texi: Likewise.
47188         * doc/posix-functions/fgetws.texi: Likewise.
47189         * doc/posix-functions/fputwc.texi: Likewise.
47190         * doc/posix-functions/fputws.texi: Likewise.
47191         * doc/posix-functions/fwide.texi: Likewise.
47192         * doc/posix-functions/fwprintf.texi: Likewise.
47193         * doc/posix-functions/fwscanf.texi: Likewise.
47194         * doc/posix-functions/getwchar.texi: Likewise.
47195         * doc/posix-functions/getwc.texi: Likewise.
47196         * doc/posix-functions/iswalnum.texi: Likewise.
47197         * doc/posix-functions/iswalpha.texi: Likewise.
47198         * doc/posix-functions/iswblank.texi: Likewise.
47199         * doc/posix-functions/iswcntrl.texi: Likewise.
47200         * doc/posix-functions/iswctype.texi: Likewise.
47201         * doc/posix-functions/iswdigit.texi: Likewise.
47202         * doc/posix-functions/iswgraph.texi: Likewise.
47203         * doc/posix-functions/iswlower.texi: Likewise.
47204         * doc/posix-functions/iswprint.texi: Likewise.
47205         * doc/posix-functions/iswpunct.texi: Likewise.
47206         * doc/posix-functions/iswspace.texi: Likewise.
47207         * doc/posix-functions/iswupper.texi: Likewise.
47208         * doc/posix-functions/iswxdigit.texi: Likewise.
47209         * doc/posix-functions/mbrtowc.texi: Likewise.
47210         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47211         * doc/posix-functions/mbstowcs.texi: Likewise.
47212         * doc/posix-functions/mbtowc.texi: Likewise.
47213         * doc/posix-functions/putwchar.texi: Likewise.
47214         * doc/posix-functions/putwc.texi: Likewise.
47215         * doc/posix-functions/swprintf.texi: Likewise.
47216         * doc/posix-functions/tolower.texi: Likewise.
47217         * doc/posix-functions/toupper.texi: Likewise.
47218         * doc/posix-functions/towctrans.texi: Likewise.
47219         * doc/posix-functions/ungetwc.texi: Likewise.
47220         * doc/posix-functions/vswprintf.texi: Likewise.
47221         * doc/posix-functions/wcrtomb.texi: Likewise.
47222         * doc/posix-functions/wcscat.texi: Likewise.
47223         * doc/posix-functions/wcschr.texi: Likewise.
47224         * doc/posix-functions/wcscmp.texi: Likewise.
47225         * doc/posix-functions/wcscoll.texi: Likewise.
47226         * doc/posix-functions/wcscpy.texi: Likewise.
47227         * doc/posix-functions/wcscspn.texi: Likewise.
47228         * doc/posix-functions/wcsftime.texi: Likewise.
47229         * doc/posix-functions/wcslen.texi: Likewise.
47230         * doc/posix-functions/wcsncat.texi: Likewise.
47231         * doc/posix-functions/wcsncmp.texi: Likewise.
47232         * doc/posix-functions/wcsncpy.texi: Likewise.
47233         * doc/posix-functions/wcspbrk.texi: Likewise.
47234         * doc/posix-functions/wcsrchr.texi: Likewise.
47235         * doc/posix-functions/wcsrtombs.texi: Likewise.
47236         * doc/posix-functions/wcsspn.texi: Likewise.
47237         * doc/posix-functions/wcsstr.texi: Likewise.
47238         * doc/posix-functions/wcstod.texi: Likewise.
47239         * doc/posix-functions/wcstof.texi: Likewise.
47240         * doc/posix-functions/wcstoimax.texi: Likewise.
47241         * doc/posix-functions/wcstok.texi: Likewise.
47242         * doc/posix-functions/wcstold.texi: Likewise.
47243         * doc/posix-functions/wcstoll.texi: Likewise.
47244         * doc/posix-functions/wcstol.texi: Likewise.
47245         * doc/posix-functions/wcstombs.texi: Likewise.
47246         * doc/posix-functions/wcstoull.texi: Likewise.
47247         * doc/posix-functions/wcstoul.texi: Likewise.
47248         * doc/posix-functions/wcstoumax.texi: Likewise.
47249         * doc/posix-functions/wcswidth.texi: Likewise.
47250         * doc/posix-functions/wcsxfrm.texi: Likewise.
47251         * doc/posix-functions/wctob.texi: Likewise.
47252         * doc/posix-functions/wctomb.texi: Likewise.
47253         * doc/posix-functions/wctrans.texi: Likewise.
47254         * doc/posix-functions/wctype.texi: Likewise.
47255         * doc/posix-functions/wcwidth.texi: Likewise.
47256         * doc/posix-functions/wmemchr.texi: Likewise.
47257         * doc/posix-functions/wmemcmp.texi: Likewise.
47258         * doc/posix-functions/wmemcpy.texi: Likewise.
47259         * doc/posix-functions/wmemmove.texi: Likewise.
47260         * doc/posix-functions/wmemset.texi: Likewise.
47261         * doc/posix-functions/wprintf.texi: Likewise.
47262         * doc/posix-functions/wscanf.texi: Likewise.
47263
47264 2008-12-21  Bruno Haible  <bruno@clisp.org>
47265
47266         Update doc for HP-UX 11.11.
47267         * doc/posix-functions/btowc.texi: Clarify that the function is missing
47268         in HP-UX version 11.00, not in all versions of HP-UX 11.
47269         * doc/posix-functions/fwide.texi: Likewise.
47270         * doc/posix-functions/fwprintf.texi: Likewise.
47271         * doc/posix-functions/fwscanf.texi: Likewise.
47272         * doc/posix-functions/inet_ntop.texi: Likewise.
47273         * doc/posix-functions/inet_pton.texi: Likewise.
47274         * doc/posix-functions/mbrlen.texi: Likewise.
47275         * doc/posix-functions/mbrtowc.texi: Likewise.
47276         * doc/posix-functions/mbsinit.texi: Likewise.
47277         * doc/posix-functions/mbsrtowcs.texi: Likewise.
47278         * doc/posix-functions/swprintf.texi: Likewise.
47279         * doc/posix-functions/swscanf.texi: Likewise.
47280         * doc/posix-functions/towctrans.texi: Likewise.
47281         * doc/posix-functions/vfwprintf.texi: Likewise.
47282         * doc/posix-functions/vswprintf.texi: Likewise.
47283         * doc/posix-functions/vwprintf.texi: Likewise.
47284         * doc/posix-functions/wcrtomb.texi: Likewise.
47285         * doc/posix-functions/wcsrtombs.texi: Likewise.
47286         * doc/posix-functions/wcsstr.texi: Likewise.
47287         * doc/posix-functions/wctob.texi: Likewise.
47288         * doc/posix-functions/wctrans.texi: Likewise.
47289         * doc/posix-functions/wmemchr.texi: Likewise.
47290         * doc/posix-functions/wmemcmp.texi: Likewise.
47291         * doc/posix-functions/wmemcpy.texi: Likewise.
47292         * doc/posix-functions/wmemmove.texi: Likewise.
47293         * doc/posix-functions/wmemset.texi: Likewise.
47294         * doc/posix-functions/wprintf.texi: Likewise.
47295         * doc/posix-functions/wscanf.texi: Likewise.
47296
47297 2008-12-21  Bruno Haible  <bruno@clisp.org>
47298
47299         Work around a portability problem.
47300         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
47301         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
47302
47303 2008-12-20  Bruno Haible  <bruno@clisp.org>
47304
47305         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
47306         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
47307         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
47308         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
47309         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
47310
47311         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
47312         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
47313         set.
47314         (GNULIB_defined_mbstate_t): New macro.
47315         (mbsinit): Redefine if REPLACE_MBSINIT is set.
47316         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
47317         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
47318         reuses the system's mbrtowc function but works around the bugs.
47319         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
47320         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
47321         macros.
47322         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
47323         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
47324         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
47325         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
47326         REPLACE_MBSINIT if mbsinit needs to be overridden.
47327         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
47328         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47329         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
47330         REPLACE_MBSINIT, REPLACE_MBRTOWC.
47331         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
47332         m4/locale-zh.m4.
47333         (Depends): Add mbsinit.
47334         * modules/mbsinit (Depends): Add mbrtowc.
47335         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
47336
47337 2008-12-20  Bruno Haible  <bruno@clisp.org>
47338
47339         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
47340         so that there are no conversion errors on AIX.
47341         * tests/test-mbsrtowcs.c (main): LIkewise.
47342
47343 2008-12-20  Bruno Haible  <bruno@clisp.org>
47344
47345         Work around wctob bug on Solaris <= 9.
47346         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
47347         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
47348         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
47349         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
47350         * modules/wctob (Files): Add m4/locale-fr.m4.
47351         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
47352
47353 2008-12-20  Bruno Haible  <bruno@clisp.org>
47354
47355         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
47356         /dev/null.
47357         * tests/test-select-in.sh: Likewise.
47358         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47359
47360 2008-12-20  Bruno Haible  <bruno@clisp.org>
47361
47362         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
47363         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
47364         Cygwin 1.5.x.
47365
47366 2008-12-20  Bruno Haible  <bruno@clisp.org>
47367
47368         Ensure mbstate_t is defined on HP-UX 11.11.
47369         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
47370         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
47371         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
47372         AC_USE_SYSTEM_EXTENSIONS.
47373         * modules/fnmatch (Depends-on): Add extensions.
47374         * modules/mbrlen (Depends-on): Likewise.
47375         * modules/mbrtowc (Depends-on): Likewise.
47376         * modules/mbsinit (Depends-on): Likewise.
47377         * modules/mbsrtowcs (Depends-on): Likewise.
47378         * modules/mbswidth (Depends-on): Likewise.
47379         * modules/quotearg (Depends-on): Likewise.
47380         * modules/strftime (Depends-on): Likewise.
47381
47382 2008-12-20  Bruno Haible  <bruno@clisp.org>
47383
47384         Ensure wctob is declared on IRIX 6.5.
47385         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
47386         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
47387         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
47388         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
47389         of HAVE_WCTOB.
47390         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
47391         HAVE_WCTOB.
47392         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
47393
47394 2008-12-19  Bruno Haible  <bruno@clisp.org>
47395
47396         * modules/mbsrtowcs-tests: New file.
47397         * tests/test-mbsrtowcs1.sh: New file.
47398         * tests/test-mbsrtowcs2.sh: New file.
47399         * tests/test-mbsrtowcs3.sh: New file.
47400         * tests/test-mbsrtowcs4.sh: New file.
47401         * tests/test-mbsrtowcs.c: New file.
47402
47403         New module 'mbsrtowcs'.
47404         * lib/wchar.in.h (mbsrtowcs): New declaration.
47405         * lib/mbsrtowcs.c: New file.
47406         * m4/mbsrtowcs.m4: New file.
47407         * modules/mbsrtowcs: New file.
47408         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
47409         HAVE_MBSRTOWCS.
47410         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
47411         HAVE_MBSRTOWCS.
47412         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
47413
47414 2008-12-19  Bruno Haible  <bruno@clisp.org>
47415
47416         New module 'mbrlen'.
47417         * lib/wchar.in.h (mbrlen): New declaration.
47418         * lib/mbrlen.c: New file.
47419         * m4/mbrlen.m4: New file.
47420         * modules/mbrlen: New file.
47421         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
47422         HAVE_MBRLEN.
47423         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
47424         HAVE_MBRLEN.
47425         * doc/posix-functions/mbrlen.texi: Document the new module.
47426
47427 2008-12-19  Bruno Haible  <bruno@clisp.org>
47428
47429         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
47430         * modules/mbrtowc (Depends-on): Add verify.
47431         Suggested by Paul Eggert.
47432
47433 2008-12-18  Bruno Haible  <bruno@clisp.org>
47434
47435         * modules/mbsinit-tests: New file.
47436         * tests/test-mbsinit.sh: New file.
47437         * tests/test-mbsinit.c: New file.
47438
47439 2008-12-18  Bruno Haible  <bruno@clisp.org>
47440
47441         * modules/mbrtowc-tests: New file.
47442         * tests/test-mbrtowc1.sh: New file.
47443         * tests/test-mbrtowc2.sh: New file.
47444         * tests/test-mbrtowc3.sh: New file.
47445         * tests/test-mbrtowc4.sh: New file.
47446         * tests/test-mbrtowc.c: New file.
47447
47448         New module 'mbrtowc'.
47449         * lib/wchar.in.h (mbstate_t): Override when the system does not have
47450         mbsinit and mbrtowc.
47451         (mbrtowc): New declaration.
47452         * lib/mbrtowc.c: New file.
47453         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
47454         * modules/mbrtowc: New file.
47455         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
47456         HAVE_MBRTOWC.
47457         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
47458         HAVE_MBRTOWC.
47459         * doc/posix-functions/mbrtowc.texi: Document the new module.
47460
47461 2008-12-18  Bruno Haible  <bruno@clisp.org>
47462
47463         New module 'wctob'.
47464         * lib/wchar.in.h (wctob): New declaration.
47465         * lib/wctob.c: New file.
47466         * m4/wctob.m4: New file.
47467         * modules/wctob: New file.
47468         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
47469         HAVE_WCTOB.
47470         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
47471         * doc/posix-functions/wctob.texi: Document the new module.
47472
47473 2008-12-18  Bruno Haible  <bruno@clisp.org>
47474
47475         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
47476         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
47477
47478 2008-12-18  Simon Josefsson  <simon@josefsson.org>
47479
47480         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
47481         G. Christensen" <tgc@jupiterrise.com>.
47482
47483         * lib/flock.c: Need to include errno.h.  Reported by "Tom
47484         G. Christensen" <tgc@jupiterrise.com>.
47485
47486         * lib/flock.c: Need to include string.h.  Reported by "Tom
47487         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
47488         <ebb9@byu.net>.
47489
47490 2008-12-18  Bruno Haible  <bruno@clisp.org>
47491
47492         * m4/locale-ja.m4: New file, from GNU gettext.
47493
47494 2008-12-17  Bruno Haible  <bruno@clisp.org>
47495
47496         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
47497         Suggested by Eric Blake.
47498
47499 2008-12-17  Bruno Haible  <bruno@clisp.org>
47500
47501         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
47502
47503 2008-12-17  Bruno Haible  <bruno@clisp.org>
47504
47505         * lib/mbsinit.c: Include verify.h. Verify an assumption.
47506         * modules/mbsinit (Depends-on): Add verify.
47507         Suggested by Paul Eggert.
47508
47509 2008-12-17  Bruno Haible  <bruno@clisp.org>
47510
47511         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
47512         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
47513         gl_FUNC_MBRTOWC.
47514         * m4/mbiter.m4 (gl_MBITER): LIkewise.
47515         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
47516         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
47517         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
47518         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
47519         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
47520         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
47521         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
47522         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
47523         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
47524         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
47525         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
47526         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
47527         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
47528         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
47529         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
47530         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
47531         * modules/trim (configure.ac): Likewise.
47532
47533 2008-12-17  Bruno Haible  <bruno@clisp.org>
47534
47535         * modules/btowc-tests: New file.
47536         * tests/test-btowc1.sh: New file.
47537         * tests/test-btowc2.sh: New file.
47538         * tests/test-btowc.c: New file.
47539
47540         New module 'btowc'.
47541         * lib/wchar.in.h (btowc): New declaration.
47542         * lib/btowc.c: New file.
47543         * m4/btowc.m4: New file.
47544         * modules/btowc: New file.
47545         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
47546         HAVE_BTOWC.
47547         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
47548         * doc/posix-functions/btowc.texi: Document the new module.
47549
47550 2008-12-17  Bruno Haible  <bruno@clisp.org>
47551
47552         New module 'mbsinit'.
47553         * lib/wchar.in.h (mbsinit): New declaration.
47554         * lib/mbsinit.c: New file.
47555         * m4/mbsinit.m4: New file.
47556         * modules/mbsinit: New file.
47557         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
47558         HAVE_MBSINIT.
47559         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
47560         HAVE_MBSINIT.
47561         * doc/posix-functions/mbsinit.texi: Document the new module.
47562
47563 2008-12-16  Bruno Haible  <bruno@clisp.org>
47564
47565         * lib/unistd.in.h: Add comment.
47566         * tests/test-environ.c: Don't include <stdlib.h>.
47567
47568 2008-12-16  Bruno Haible  <bruno@clisp.org>
47569
47570         * lib/parse-duration.h (parse_duration): Document return value
47571         convention.
47572         * lib/parse-duration.c: Include specification header first. Add
47573         comments.
47574         (_): Remove macro.
47575         (parse_year_month_day, parse_hour_minute_second): Move side effects
47576         outside of strchr call.
47577         (parse_non_iso8601): Move side effects outside of isspace call.
47578         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
47579         call.
47580
47581 2008-12-16  Bruno Haible  <bruno@clisp.org>
47582
47583         * tests/test-parse-duration.sh: Produce no output when the test
47584         succeeds.
47585
47586 2008-12-16  Bruno Haible  <bruno@clisp.org>
47587
47588         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
47589         expressions.
47590
47591 2008-12-15  Bruno Haible  <bruno@clisp.org>
47592
47593         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
47594         * doc/glibc-functions/flistxattr.texi: Likewise.
47595         * doc/glibc-functions/fopencookie.texi: Likewise.
47596         * doc/glibc-functions/fremovexattr.texi: Likewise.
47597         * doc/glibc-functions/fsetxattr.texi: Likewise.
47598         * doc/glibc-functions/getxattr.texi: Likewise.
47599         * doc/glibc-functions/lgetxattr.texi: Likewise.
47600         * doc/glibc-functions/listxattr.texi: Likewise.
47601         * doc/glibc-functions/llistxattr.texi: Likewise.
47602         * doc/glibc-functions/lremovexattr.texi: Likewise.
47603         * doc/glibc-functions/lsetxattr.texi: Likewise.
47604         * doc/glibc-functions/removexattr.texi: Likewise.
47605         * doc/glibc-functions/setxattr.texi: Likewise.
47606         * doc/posix-functions/open_memstream.texi: Likewise.
47607
47608 2008-12-15  Eric Blake  <ebb9@byu.net>
47609
47610         Update doc for cygwin 1.7.
47611         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
47612         functions.
47613         * doc/posix-functions/fchmodat.texi: Likewise.
47614         * doc/posix-functions/fchownat.texi: Likewise.
47615         * doc/posix-functions/fdopendir.texi: Likewise.
47616         * doc/posix-functions/fmemopen.texi: Likewise.
47617         * doc/posix-functions/freeaddrinfo.texi: Likewise.
47618         * doc/posix-functions/fstatat.texi: Likewise.
47619         * doc/posix-functions/futimens.texi: Likewise.
47620         * doc/posix-functions/gai_strerror.texi: Likewise.
47621         * doc/posix-functions/getaddrinfo.texi: Likewise.
47622         * doc/posix-functions/getnameinfo.texi: Likewise.
47623         * doc/posix-functions/if_freenameindex.texi: Likewise.
47624         * doc/posix-functions/if_indextoname.texi: Likewise.
47625         * doc/posix-functions/if_nameindex.texi: Likewise.
47626         * doc/posix-functions/if_nametoindex.texi: Likewise.
47627         * doc/posix-functions/insque.texi: Likewise.
47628         * doc/posix-functions/linkat.texi: Likewise.
47629         * doc/posix-functions/llrint.texi: Likewise.
47630         * doc/posix-functions/llrintf.texi: Likewise.
47631         * doc/posix-functions/llrintl.texi: Likewise.
47632         * doc/posix-functions/lockf.texi: Likewise.
47633         * doc/posix-functions/lrintl.texi: Likewise.
47634         * doc/posix-functions/mkdirat.texi: Likewise.
47635         * doc/posix-functions/mkfifoat.texi: Likewise.
47636         * doc/posix-functions/mknodat.texi: Likewise.
47637         * doc/posix-functions/mq_close.texi: Likewise.
47638         * doc/posix-functions/mq_getattr.texi: Likewise.
47639         * doc/posix-functions/mq_notify.texi: Likewise.
47640         * doc/posix-functions/mq_open.texi: Likewise.
47641         * doc/posix-functions/mq_receive.texi: Likewise.
47642         * doc/posix-functions/mq_send.texi: Likewise.
47643         * doc/posix-functions/mq_setattr.texi: Likewise.
47644         * doc/posix-functions/mq_timedreceive.texi: Likewise.
47645         * doc/posix-functions/mq_timedsend.texi: Likewise.
47646         * doc/posix-functions/mq_unlink.texi: Likewise.
47647         * doc/posix-functions/open_memstream.texi: Likewise.
47648         * doc/posix-functions/openat.texi: Likewise.
47649         * doc/posix-functions/posix_fadvise.texi: Likewise.
47650         * doc/posix-functions/posix_fallocate.texi: Likewise.
47651         * doc/posix-functions/posix_madvise.texi: Likewise.
47652         * doc/posix-functions/posix_memalign.texi: Likewise.
47653         * doc/posix-functions/posix_openpt.texi: Likewise.
47654         * doc/posix-functions/readlinkat.texi: Likewise.
47655         * doc/posix-functions/remque.texi: Likewise.
47656         * doc/posix-functions/renameat.texi: Likewise.
47657         * doc/posix-functions/rintl.texi: Likewise.
47658         * doc/posix-functions/sem_unlink.texi: Likewise.
47659         * doc/posix-functions/shm_open.texi: Likewise.
47660         * doc/posix-functions/shm_unlink.texi: Likewise.
47661         * doc/posix-functions/signgam.texi: Likewise.
47662         * doc/posix-functions/sigset.texi: Likewise.
47663         * doc/posix-functions/stpcpy.texi: Likewise.
47664         * doc/posix-functions/stpncpy.texi: Likewise.
47665         * doc/posix-functions/strerror.texi: Likewise.
47666         * doc/posix-functions/strtod.texi: Likewise.
47667         * doc/posix-functions/symlinkat.texi: Likewise.
47668         * doc/posix-functions/unlinkat.texi: Likewise.
47669         * doc/posix-functions/utimensat.texi: Likewise.
47670         * doc/glibc-functions/bindresvport.texi: Likewise.
47671         * doc/glibc-functions/dn_expand.texi: Likewise.
47672         * doc/glibc-functions/exp10.texi: Likewise.
47673         * doc/glibc-functions/exp10f.texi: Likewise.
47674         * doc/glibc-functions/fgetxattr.texi: Likewise.
47675         * doc/glibc-functions/flistxattr.texi: Likewise.
47676         * doc/glibc-functions/fopencookie.texi: Likewise.
47677         * doc/glibc-functions/freeifaddrs.texi: Likewise.
47678         * doc/glibc-functions/fremovexattr.texi: Likewise.
47679         * doc/glibc-functions/fsetxattr.texi: Likewise.
47680         * doc/glibc-functions/getifaddrs.texi: Likewise.
47681         * doc/glibc-functions/getxattr.texi: Likewise.
47682         * doc/glibc-functions/lgetxattr.texi: Likewise.
47683         * doc/glibc-functions/listxattr.texi: Likewise.
47684         * doc/glibc-functions/llistxattr.texi: Likewise.
47685         * doc/glibc-functions/lremovexattr.texi: Likewise.
47686         * doc/glibc-functions/lsetxattr.texi: Likewise.
47687         * doc/glibc-functions/pow10.texi: Likewise.
47688         * doc/glibc-functions/pow10f.texi: Likewise.
47689         * doc/glibc-functions/rcmd_af.texi: Likewise.
47690         * doc/glibc-functions/removexattr.texi: Likewise.
47691         * doc/glibc-functions/res_init.texi: Likewise.
47692         * doc/glibc-functions/res_mkquery.texi: Likewise.
47693         * doc/glibc-functions/res_query.texi: Likewise.
47694         * doc/glibc-functions/res_querydomain.texi: Likewise.
47695         * doc/glibc-functions/res_send.texi: Likewise.
47696         * doc/glibc-functions/rresvport_af.texi: Likewise.
47697         * doc/glibc-functions/setxattr.texi: Likewise.
47698         * doc/glibc-functions/strcasestr.texi: Likewise.
47699
47700 2008-12-15  Bruno Haible  <bruno@clisp.org>
47701
47702         Fix compilation error on OSF/1 4.0.
47703         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
47704         <sys/time.h>, simply delegate to the system header.
47705         Reported by Daniel Richard G. <oss@teragram.com>.
47706
47707 2008-12-15  Bruno Haible  <bruno@clisp.org>
47708
47709         * doc/posix-functions/openat.texi: Mention the 'openat' module.
47710         * doc/posix-functions/fchmodat.texi: Likewise.
47711         * doc/posix-functions/fchownat.texi: Likewise.
47712         * doc/posix-functions/fdopendir.texi: Likewise.
47713         * doc/posix-functions/fstatat.texi: Likewise.
47714         * doc/posix-functions/mkdirat.texi: Likewise.
47715         * doc/posix-functions/unlinkat.texi: Likewise.
47716
47717 2008-12-14  Bruno Haible  <bruno@clisp.org>
47718
47719         Update doc for POSIX:2008.
47720         * doc/posix-functions/faccessat.texi: New file.
47721         * doc/posix-functions/fchmodat.texi: New file.
47722         * doc/posix-functions/fchownat.texi: New file.
47723         * doc/posix-functions/fdopendir.texi: New file.
47724         * doc/posix-functions/fstatat.texi: New file.
47725         * doc/posix-functions/futimens.texi: New file.
47726         * doc/posix-functions/linkat.texi: New file.
47727         * doc/posix-functions/mkdirat.texi: New file.
47728         * doc/posix-functions/mkfifoat.texi: New file.
47729         * doc/posix-functions/mknodat.texi: New file.
47730         * doc/posix-functions/open_wmemstream.texi: New file.
47731         * doc/posix-functions/openat.texi: New file.
47732         * doc/posix-functions/psiginfo.texi: New file.
47733         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
47734         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
47735         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
47736         * doc/posix-functions/readlinkat.texi: New file.
47737         * doc/posix-functions/renameat.texi: New file.
47738         * doc/posix-functions/strerror_l.texi: New file.
47739         * doc/posix-functions/symlinkat.texi: New file.
47740         * doc/posix-functions/unlinkat.texi: New file.
47741         * doc/posix-functions/utimensat.texi: New file.
47742         * doc/gnulib.texi (Function Substitutes): Add these subsections.
47743
47744 2008-12-14  Bruno Haible  <bruno@clisp.org>
47745
47746         Update doc for POSIX:2008.
47747         * doc/posix-functions/alphasort.texi: Renamed from
47748         doc/glibc-functions/alphasort.texi.
47749         * doc/posix-functions/dirfd.texi: Renamed from
47750         doc/glibc-functions/dirfd.texi.
47751         * doc/posix-functions/dprintf.texi: Renamed from
47752         doc/glibc-functions/dprintf.texi.
47753         * doc/posix-functions/duplocale.texi: Renamed from
47754         doc/glibc-functions/duplocale.texi.
47755         * doc/posix-functions/fexecve.texi: Renamed from
47756         doc/glibc-functions/fexecve.texi.
47757         * doc/posix-functions/fmemopen.texi: Renamed from
47758         doc/glibc-functions/fmemopen.texi.
47759         * doc/posix-functions/freelocale.texi: Renamed from
47760         doc/glibc-functions/freelocale.texi.
47761         * doc/posix-functions/getdate_err.texi: Renamed from
47762         doc/glibc-functions/getdate_err.texi.
47763         * doc/posix-functions/isalnum_l.texi: Renamed from
47764         doc/glibc-functions/isalnum_l.texi.
47765         * doc/posix-functions/isalpha_l.texi: Renamed from
47766         doc/glibc-functions/isalpha_l.texi.
47767         * doc/posix-functions/isblank_l.texi: Renamed from
47768         doc/glibc-functions/isblank_l.texi.
47769         * doc/posix-functions/iscntrl_l.texi: Renamed from
47770         doc/glibc-functions/iscntrl_l.texi.
47771         * doc/posix-functions/isdigit_l.texi: Renamed from
47772         doc/glibc-functions/isdigit_l.texi.
47773         * doc/posix-functions/isgraph_l.texi: Renamed from
47774         doc/glibc-functions/isgraph_l.texi.
47775         * doc/posix-functions/islower_l.texi: Renamed from
47776         doc/glibc-functions/islower_l.texi.
47777         * doc/posix-functions/isprint_l.texi: Renamed from
47778         doc/glibc-functions/isprint_l.texi.
47779         * doc/posix-functions/ispunct_l.texi: Renamed from
47780         doc/glibc-functions/ispunct_l.texi.
47781         * doc/posix-functions/isspace_l.texi: Renamed from
47782         doc/glibc-functions/isspace_l.texi.
47783         * doc/posix-functions/isupper_l.texi: Renamed from
47784         doc/glibc-functions/isupper_l.texi.
47785         * doc/posix-functions/iswalnum_l.texi: Renamed from
47786         doc/glibc-functions/iswalnum_l.texi.
47787         * doc/posix-functions/iswalpha_l.texi: Renamed from
47788         doc/glibc-functions/iswalpha_l.texi.
47789         * doc/posix-functions/iswblank_l.texi: Renamed from
47790         doc/glibc-functions/iswblank_l.texi.
47791         * doc/posix-functions/iswcntrl_l.texi: Renamed from
47792         doc/glibc-functions/iswcntrl_l.texi.
47793         * doc/posix-functions/iswctype_l.texi: Renamed from
47794         doc/glibc-functions/iswctype_l.texi.
47795         * doc/posix-functions/iswdigit_l.texi: Renamed from
47796         doc/glibc-functions/iswdigit_l.texi.
47797         * doc/posix-functions/iswgraph_l.texi: Renamed from
47798         doc/glibc-functions/iswgraph_l.texi.
47799         * doc/posix-functions/iswlower_l.texi: Renamed from
47800         doc/glibc-functions/iswlower_l.texi.
47801         * doc/posix-functions/iswprint_l.texi: Renamed from
47802         doc/glibc-functions/iswprint_l.texi.
47803         * doc/posix-functions/iswpunct_l.texi: Renamed from
47804         doc/glibc-functions/iswpunct_l.texi.
47805         * doc/posix-functions/iswspace_l.texi: Renamed from
47806         doc/glibc-functions/iswspace_l.texi.
47807         * doc/posix-functions/iswupper_l.texi: Renamed from
47808         doc/glibc-functions/iswupper_l.texi.
47809         * doc/posix-functions/iswxdigit_l.texi: Renamed from
47810         doc/glibc-functions/iswxdigit_l.texi.
47811         * doc/posix-functions/isxdigit_l.texi: Renamed from
47812         doc/glibc-functions/isxdigit_l.texi.
47813         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
47814         doc/glibc-functions/mbsnrtowcs.texi.
47815         * doc/posix-functions/mkdtemp.texi: Renamed from
47816         doc/glibc-functions/mkdtemp.texi.
47817         * doc/posix-functions/newlocale.texi: Renamed from
47818         doc/glibc-functions/newlocale.texi.
47819         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
47820         doc/glibc-functions/nl_langinfo_l.texi.
47821         * doc/posix-functions/open_memstream.texi: Renamed from
47822         doc/glibc-functions/open_memstream.texi.
47823         * doc/posix-functions/opterr.texi: Renamed from
47824         doc/glibc-functions/opterr.texi.
47825         * doc/posix-functions/optind.texi: Renamed from
47826         doc/glibc-functions/optind.texi.
47827         * doc/posix-functions/optopt.texi: Renamed from
47828         doc/glibc-functions/optopt.texi.
47829         * doc/posix-functions/psignal.texi: Renamed from
47830         doc/glibc-functions/psignal.texi.
47831         * doc/posix-functions/scandir.texi: Renamed from
47832         doc/glibc-functions/scandir.texi.
47833         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
47834         doc/glibc-functions/sched_get_priority_min.texi.
47835         * doc/posix-functions/signgam.texi: Renamed from
47836         doc/glibc-functions/signgam.texi.
47837         * doc/posix-functions/stpcpy.texi: Renamed from
47838         doc/glibc-functions/stpcpy.texi.
47839         * doc/posix-functions/stpncpy.texi: Renamed from
47840         doc/glibc-functions/stpncpy.texi.
47841         * doc/posix-functions/strcasecmp_l.texi: Renamed from
47842         doc/glibc-functions/strcasecmp_l.texi.
47843         * doc/posix-functions/strcoll_l.texi: Renamed from
47844         doc/glibc-functions/strcoll_l.texi.
47845         * doc/posix-functions/strfmon_l.texi: Renamed from
47846         doc/glibc-functions/strfmon_l.texi.
47847         * doc/posix-functions/strftime_l.texi: Renamed from
47848         doc/glibc-functions/strftime_l.texi.
47849         * doc/posix-functions/strncasecmp_l.texi: Renamed from
47850         doc/glibc-functions/strncasecmp_l.texi.
47851         * doc/posix-functions/strndup.texi: Renamed from
47852         doc/glibc-functions/strndup.texi.
47853         * doc/posix-functions/strnlen.texi: Renamed from
47854         doc/glibc-functions/strnlen.texi.
47855         * doc/posix-functions/strsignal.texi: Renamed from
47856         doc/glibc-functions/strsignal.texi.
47857         * doc/posix-functions/strxfrm_l.texi: Renamed from
47858         doc/glibc-functions/strxfrm_l.texi.
47859         * doc/posix-functions/timer_gettime.texi: Renamed from
47860         doc/glibc-functions/timer_gettime.texi.
47861         * doc/posix-functions/tolower_l.texi: Renamed from
47862         doc/glibc-functions/tolower_l.texi.
47863         * doc/posix-functions/toupper_l.texi: Renamed from
47864         doc/glibc-functions/toupper_l.texi.
47865         * doc/posix-functions/towctrans_l.texi: Renamed from
47866         doc/glibc-functions/towctrans_l.texi.
47867         * doc/posix-functions/towlower_l.texi: Renamed from
47868         doc/glibc-functions/towlower_l.texi.
47869         * doc/posix-functions/towupper_l.texi: Renamed from
47870         doc/glibc-functions/towupper_l.texi.
47871         * doc/posix-functions/uselocale.texi: Renamed from
47872         doc/glibc-functions/uselocale.texi.
47873         * doc/posix-functions/vdprintf.texi: Renamed from
47874         doc/glibc-functions/vdprintf.texi.
47875         * doc/posix-functions/wcpcpy.texi:
47876         Renamed from doc/glibc-functions/wcpcpy.texi.
47877         * doc/posix-functions/wcpncpy.texi: Renamed from
47878         doc/glibc-functions/wcpncpy.texi.
47879         * doc/posix-functions/wcscasecmp.texi: Renamed from
47880         doc/glibc-functions/wcscasecmp.texi.
47881         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
47882         doc/glibc-functions/wcscasecmp_l.texi.
47883         * doc/posix-functions/wcscoll_l.texi: Renamed from
47884         doc/glibc-functions/wcscoll_l.texi.
47885         * doc/posix-functions/wcsdup.texi: Renamed from
47886         doc/glibc-functions/wcsdup.texi.
47887         * doc/posix-functions/wcsncasecmp.texi: Renamed from
47888         doc/glibc-functions/wcsncasecmp.texi.
47889         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
47890         doc/glibc-functions/wcsncasecmp_l.texi.
47891         * doc/posix-functions/wcsnlen.texi: Renamed from
47892         doc/glibc-functions/wcsnlen.texi.
47893         * doc/posix-functions/wcsnrtombs.texi: Renamed from
47894         doc/glibc-functions/wcsnrtombs.texi.
47895         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
47896         doc/glibc-functions/wcsxfrm_l.texi.
47897         * doc/posix-functions/wctrans_l.texi: Renamed from
47898         doc/glibc-functions/wctrans_l.texi.
47899         * doc/posix-functions/wctype_l.texi: Renamed from
47900         doc/glibc-functions/wctype_l.texi.
47901         * doc/gnulib.texi (Function Substitutes): Add these subsections.
47902         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
47903         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
47904         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
47905         these subsections.
47906         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
47907         Remove sections.
47908
47909 2008-12-14  Bruno Haible  <bruno@clisp.org>
47910
47911         Update doc for POSIX:2008.
47912         * doc/posix-functions/*.texi: Update URL of POSIX specification.
47913
47914 2008-12-14  Bruno Haible  <bruno@clisp.org>
47915
47916         Update doc for POSIX:2008.
47917         * doc/pastposix-functions/bcmp.texi: Renamed from
47918         doc/posix-functions/bcmp.texi.
47919         * doc/pastposix-functions/bcopy.texi: Renamed from
47920         doc/posix-functions/bcopy.texi.
47921         * doc/pastposix-functions/bsd_signal.texi: Renamed from
47922         doc/posix-functions/bsd_signal.texi.
47923         * doc/pastposix-functions/bzero.texi: Renamed from
47924         doc/posix-functions/bzero.texi.
47925         * doc/pastposix-functions/ecvt.texi: Renamed from
47926         doc/posix-functions/ecvt.texi.
47927         * doc/pastposix-functions/fcvt.texi: Renamed from
47928         doc/posix-functions/fcvt.texi.
47929         * doc/pastposix-functions/ftime.texi: Renamed from
47930         doc/posix-functions/ftime.texi.
47931         * doc/pastposix-functions/gcvt.texi: Renamed from
47932         doc/posix-functions/gcvt.texi.
47933         * doc/pastposix-functions/getcontext.texi: Renamed from
47934         doc/posix-functions/getcontext.texi.
47935         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
47936         doc/posix-functions/gethostbyaddr.texi.
47937         * doc/pastposix-functions/gethostbyname.texi: Renamed from
47938         doc/posix-functions/gethostbyname.texi.
47939         * doc/pastposix-functions/getwd.texi: Renamed from
47940         doc/posix-functions/getwd.texi.
47941         * doc/pastposix-functions/h_errno.texi: Renamed from
47942         doc/posix-functions/h_errno.texi.
47943         * doc/pastposix-functions/index.texi: Renamed from
47944         doc/posix-functions/index.texi.
47945         * doc/pastposix-functions/makecontext.texi: Renamed from
47946         doc/posix-functions/makecontext.texi.
47947         * doc/pastposix-functions/mktemp.texi: Renamed from
47948         doc/posix-functions/mktemp.texi.
47949         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
47950         doc/posix-functions/pthread_attr_getstackaddr.texi.
47951         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
47952         doc/posix-functions/pthread_attr_setstackaddr.texi.
47953         * doc/pastposix-functions/rindex.texi: Renamed from
47954         doc/posix-functions/rindex.texi.
47955         * doc/pastposix-functions/scalb.texi: Renamed from
47956         doc/posix-functions/scalb.texi.
47957         * doc/pastposix-functions/setcontext.texi: Renamed from
47958         doc/posix-functions/setcontext.texi.
47959         * doc/pastposix-functions/swapcontext.texi: Renamed from
47960         doc/posix-functions/swapcontext.texi.
47961         * doc/pastposix-functions/ualarm.texi: Renamed from
47962         doc/posix-functions/ualarm.texi.
47963         * doc/pastposix-functions/usleep.texi: Renamed from
47964         doc/posix-functions/usleep.texi.
47965         * doc/pastposix-functions/vfork.texi: Renamed from
47966         doc/posix-functions/vfork.texi.
47967         * doc/pastposix-functions/wcswcs.texi: Renamed from
47968         doc/posix-functions/wcswcs.texi.
47969         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
47970         (Function Substitutes): Update.
47971
47972 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47973
47974         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
47975         m4/strerror.m4.
47976
47977 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47978             Bruno Haible  <bruno@clisp.org>
47979
47980         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
47981
47982 2008-12-13  Bruno Haible  <bruno@clisp.org>
47983
47984         * modules/strtoull (Depends-on): Remove unistd.
47985
47986 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
47987
47988         * modules/strtoull (Depends-on): Add stdlib.
47989
47990 2008-12-11  Simon Josefsson  <simon@josefsson.org>
47991
47992         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
47993
47994 2008-12-10  Jim Meyering  <meyering@redhat.com>
47995
47996         gl_ASSERT: don't say assertions are disabled when they're not
47997         * m4/assert.m4 (gl_ASSERT): Do not make configure report
47998         "checking whether to enable assertions... no", when they are in
47999         fact enabled.  This is solely a bug in the output of configure.
48000         In spite of saying "no", NDEBUG was not defined in that case.
48001         Also, as noted by Eric Blake, leave assertions enabled upon
48002         --enable-assert=INVALID.
48003
48004 2008-12-10  Bruno Haible  <bruno@clisp.org>
48005
48006         Change MODULES.html to refer to POSIX:2008 where possible.
48007         * MODULES.html.sh (POSIX2008_URL): New variable.
48008         (posix_headers): Remove sys/timeb, ucontext.
48009         (posix2001_headers): New variable.
48010         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
48011         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
48012         index, makecontext, mktemp, pthread_attr_getstackaddr,
48013         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
48014         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
48015         (posix2001_functions): New variable.
48016         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
48017         otherwise.
48018
48019 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48020
48021         add missing include to parse-duration.c
48022         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
48023         * modules/parse-duration (Depends-on): Add xalloc.
48024
48025         fix sed script reading maint.mk
48026         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
48027         (syntax-check-rules): Use it.
48028
48029 2008-12-09  Bruno Haible  <bruno@clisp.org>
48030
48031         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
48032         MacOS X 10.4/PowerPC.
48033         Reported by Simon Josefsson.
48034
48035 2008-12-08  Jim Meyering  <meyering@redhat.com>
48036
48037         work around mingw's lack of some S_IF definitions
48038         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
48039         Reported by Simon Josefsson.
48040
48041 2008-12-08  Bruno Haible  <bruno@clisp.org>
48042
48043         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
48044         applied to variables. Needed on MacOS X 10.4/PowerPC.
48045         Reported by Simon Josefsson.
48046
48047 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
48048         and Eric Blake  <ebb9@byu.net>
48049
48050         assert: honor --enable-assert
48051         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
48052         order to honor --enable-assert, rather than treating it as a
48053         synonym for --disable-assert.
48054
48055 2008-12-08  Jim Meyering  <meyering@redhat.com>
48056
48057         * lib/posixtm.c: Remove now-useless declaration of mktime.
48058
48059         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
48060
48061 2008-12-07  Bruno Haible  <bruno@clisp.org>
48062
48063         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
48064         test_once): Mark functions as static.
48065         * tests/test-tls.c (test_tls): Likewise.
48066
48067 2008-12-07  Bruno Haible  <bruno@clisp.org>
48068
48069         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
48070         iconv_register_autodetect.
48071
48072 2008-12-07  Jim Meyering  <meyering@redhat.com>
48073
48074         posixtm.c: avoid a warning
48075         * lib/posixtm.c (posixtime): Don't initialize tm0.
48076         It's no longer needed to placate gcc4's -Wuninitialized,
48077         and the attempt to placate would elicit a new warning.
48078
48079         unicodeio.c: mark unused parameters
48080         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48081         (fallback_failure_callback): Likewise.
48082
48083 2008-12-07  Bruno Haible  <bruno@clisp.org>
48084
48085         * gnulib-tool (func_create_testdir): When building the tests
48086         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
48087         Reported by Simon Josefsson.
48088
48089 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48090
48091         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
48092
48093 2008-12-06  Bruno Haible  <bruno@clisp.org>
48094
48095         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
48096         Suggested by Eric Blake.
48097
48098 2008-12-06  Bruno Haible  <bruno@clisp.org>
48099
48100         Fix a c-stack test failure on MacOS X.
48101         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
48102         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
48103         handler for SIGBUS as well.
48104         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
48105         install a signal handler for SIGBUS as well.
48106         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
48107
48108 2008-12-06  Bruno Haible  <bruno@clisp.org>
48109
48110         Advocacy documentation.
48111         * doc/gnulib-intro.texi (Benefits): New section.
48112         * doc/gnulib.texi: Update.
48113
48114 2008-12-06  Bruno Haible  <bruno@clisp.org>
48115
48116         Document the 'manywarnings' module.
48117         * doc/manywarnings.texi: New file.
48118         * doc/gnulib.texi: Include it.
48119
48120 2008-12-05  Eric Blake  <ebb9@byu.net>
48121
48122         tests: silence some gcc warnings
48123         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
48124         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
48125         type mismatches.
48126
48127 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48128             Bruno Haible  <bruno@clisp.org>
48129
48130         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
48131
48132 2008-11-29  Jim Meyering  <meyering@redhat.com>
48133
48134         unicodeio.c: mark unused parameters
48135         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
48136         (fallback_failure_callback): Likewise.
48137
48138         fts: fix a thinko
48139         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
48140         (set_stat_type): Return S_IF*-valued "type" directly.
48141         Prompted by James Youngman's spotting a related bug.
48142         Confirmed by further testing through find.
48143
48144         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
48145         * lib/fts.c (D_TYPE): Define.
48146         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
48147         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
48148         (s_ifmt_shift_bits): New function.
48149         (set_stat_type): New function.
48150         (fts_build): When not calling fts_stat, call set_stat_type
48151         to propagate dirent.d_type info to fts_read caller.
48152         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
48153         fts_statp->st_mode type information may be valid.
48154
48155 2008-11-28  Simon Josefsson  <simon@josefsson.org>
48156
48157         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
48158         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
48159         <sds@gnu.org>.
48160
48161 2008-11-20  Bruno Haible  <bruno@clisp.org>
48162
48163         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
48164         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
48165         INCLUDE_NEXT.
48166         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
48167         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
48168         * modules/math (Makefile.am): Substitute
48169         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
48170         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
48171
48172 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
48173             Bruno Haible  <bruno@clisp.org>
48174
48175         * lib/stdint.in.h: Define all type macros so that their expansion is
48176         a single typedef'ed token. Fixes a compilation failure in Boost which
48177         does "using ::int8_t;".
48178
48179 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48180
48181         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
48182         gl_MANYWARN_ALL_GCC.
48183         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
48184         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
48185         * modules/manywarnings: New file.
48186         * MODULES.html.sh: Mention manywarnings module.
48187
48188 2008-11-18  Bruno Haible  <bruno@clisp.org>
48189
48190         * doc/gnulib-tool.texi (Unit tests): New section.
48191
48192 2008-11-18  Simon Josefsson  <simon@josefsson.org>
48193
48194         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
48195         paths like 'lib/po/foo.po'.
48196
48197 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48198
48199         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
48200         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
48201
48202 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48203
48204         * m4/warnings.m4: Use CPPFLAGS to really check whether the
48205         parameter works.
48206
48207 2008-11-17  Simon Josefsson  <simon@josefsson.org>
48208
48209         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
48210
48211 2008-11-17  Bruce Korb  <bkorb@gnu.org>
48212
48213         * modules/parse-duration-tests: New file.
48214         * tests/test-parse-duration.sh: New file.
48215         * tests/test-parse-duration.c: New file.
48216
48217         New module 'parse-duration'.
48218         * lib/parse-duration.h: New file.
48219         * lib/parse-duration.c: New file.
48220         * modules/parse-duration: New file.
48221
48222 2008-11-17  Bruno Haible  <bruno@clisp.org>
48223
48224         * tests/test-select-out.sh: Comment out the first pipe test.
48225         Reported by Simon Josefsson.
48226
48227 2008-11-17  Bruno Haible  <bruno@clisp.org>
48228
48229         * modules/getaddrinfo (Depends-on): Add servent, hostent.
48230         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
48231         gl_HOSTENT.
48232
48233 2008-11-17  Bruno Haible  <bruno@clisp.org>
48234
48235         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
48236         -lnetwork and -lnet. Needed for Haiku and BeOS.
48237
48238 2008-11-16  Bruno Haible  <bruno@clisp.org>
48239
48240         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
48241
48242 2008-11-16  Bruno Haible  <bruno@clisp.org>
48243
48244         Avoid test failure on Haiku.
48245         * tests/test-fsync.c: Include <errno.h>.
48246         (main): Don't require that fsync (0) fails.
48247
48248 2008-11-15  Bruno Haible  <bruno@clisp.org>
48249
48250         New module 'hostent'.
48251         * modules/hostent: New file.
48252         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
48253
48254 2008-11-15  Bruno Haible  <bruno@clisp.org>
48255
48256         New module 'servent'.
48257         * modules/servent: New file.
48258         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
48259
48260 2008-11-15  Bruno Haible  <bruno@clisp.org>
48261
48262         Avoid generating same test program with two different rules.
48263         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
48264         test-frexp to test-frexp-nolibm.
48265         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
48266         test-frexpl to test-frexpl-nolibm.
48267
48268 2008-11-15  Bruno Haible  <bruno@clisp.org>
48269
48270         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
48271         $(FREXPL_LIBM).
48272
48273 2008-11-15  Bruno Haible  <bruno@clisp.org>
48274
48275         * lib/netdb.in.h: Activate the definitions also when the system's
48276         <netdb.h> has 'struct addrinfo'.
48277         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
48278         EAI_OVERFLOW or AI_NUMERICSERV.
48279         * doc/posix-headers/netdb.texi: Document the problem.
48280
48281 2008-11-15  Bruno Haible  <bruno@clisp.org>
48282
48283         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
48284
48285         Make the 'sched' module work on platforms where <sched.h> exists but
48286         is incomplete (such as Haiku).
48287         * lib/sched.in.h; Include the system's <sched.h> if it exists.
48288         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
48289         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
48290         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
48291         HAVE_STRUCT_SCHED_PARAM.
48292         * modules/sched (Depends-on): Add include_next.
48293         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
48294         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
48295         * doc/posix-headers/sched.texi: Document the issue.
48296
48297 2008-11-13  Jim Meyering  <meyering@redhat.com>
48298
48299         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
48300         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
48301         test would fail due to the difference in the Report bugs to ...
48302         line.  The expected address is empty, "<>", while the actual
48303         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
48304
48305 2008-11-12  Bruno Haible  <bruno@clisp.org>
48306
48307         lstat: don't compile lstat.c on systems lacking lstat
48308         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
48309         which don't have lstat; this is handled by lib/sys_stat.in.h already.
48310         Reported by Daniel P. Berrange via Jim Meyering.
48311
48312 2008-11-12  Jim Meyering  <meyering@redhat.com>
48313
48314         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
48315
48316 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48317
48318         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
48319         instead.
48320
48321 2008-11-12  Bruno Haible  <bruno@clisp.org>
48322
48323         * lib/unicodeio.c: Include unistr.h.
48324         (utf8_wctomb): Remove function.
48325         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
48326
48327 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48328
48329         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
48330         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
48331         <bruno@clisp.org>.
48332         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
48333
48334 2008-11-12  Simon Josefsson  <simon@josefsson.org>
48335
48336         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
48337         * doc/gnulib.texi: Add section for warnings.
48338
48339 2008-11-11  Bruno Haible  <bruno@clisp.org>
48340
48341         * lib/sockets.h: Add a comment.
48342
48343 2008-11-11  Karl Berry  <karl@gnu.org>
48344
48345         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
48346
48347 2008-11-11  Eric Blake  <ebb9@byu.net>
48348
48349         fdl.texi: avoid git symlinks
48350         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
48351
48352 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48353
48354         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
48355
48356 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48357
48358         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
48359         (gl_WARN_ADD): Substitute $2 if literal.
48360
48361 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48362
48363         * m4/warning.m4: Remove.
48364
48365 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
48366
48367         * m4/warnings.m4: Almost complete rewrite. :-)
48368
48369 2008-11-10  Simon Josefsson  <simon@josefsson.org>
48370
48371         * modules/warnings: New module.
48372         * m4/warnings.m4: New file.
48373         * MODULES.html.sh: Mention warnings module.
48374         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
48375         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
48376
48377 2008-11-10  Eric Blake  <ebb9@byu.net>
48378
48379         fdl.texi: make a symlink to the latest version
48380         * doc/standards.texi: Revert today's earlier change.
48381         * doc/fdl-1.2.texi: Rename from old fdl.texi...
48382         * doc/fdl.texi: ...and replace this with a symlink to the newer
48383         fdl-1.3.texi.
48384
48385 2008-11-10  Bruno Haible  <bruno@clisp.org>
48386
48387         * tests/test-select-fd.c (main): Accept the result file name as fourth
48388         argument.
48389         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
48390         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
48391
48392 2008-11-10  Bruno Haible  <bruno@clisp.org>
48393
48394         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
48395         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
48396         as autoconf-substituted macros.
48397         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
48398         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
48399         gl_NETDB_H_DEFAULTS. Set these variables.
48400         * modules/netdb (Makefile.am): Substitute these variables.
48401
48402 2008-11-10  Eric Blake  <ebb9@byu.net>
48403
48404         standards.texi: include correct file for FDL 1.3
48405         * doc/standards.texi (GNU Free Documentation License): Change
48406         include file to pull in FDL 1.3, not 1.2.
48407
48408         fdl.texi: revert accidental change to license
48409         * doc/fdl.texi: This is FDL 1.2, not 1.3.
48410
48411 2008-11-10  Bruno Haible  <bruno@clisp.org>
48412
48413         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
48414         cross-compiling guesses also when the native compile gives no result.
48415
48416 2008-11-10  Bruno Haible  <bruno@clisp.org>
48417
48418         * lib/spawni.c (__spawni): Force variable into the stack.
48419
48420 2008-11-10  Bruno Haible  <bruno@clisp.org>
48421
48422         Add support for Haiku.
48423         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
48424         glibc and BeOS, but also on Haiku.
48425         * lib/fpurge.c (fpurge): Likewise.
48426         * lib/freadable.c (freadable): Likewise.
48427         * lib/freadahead.c (freadahead): Likewise.
48428         * lib/freading.c (freading): Likewise.
48429         * lib/freadptr.c (freadptr): Likewise.
48430         * lib/freadseek.c (freadptrinc): Likewise.
48431         * lib/fseeko.c (rpl_fseeko): Likewise.
48432         * lib/fseterr.c (fseterr): Likewise.
48433         * lib/fwritable.c (fwritable): Likewise.
48434         * lib/fwriting.c (fwriting): Likewise.
48435         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
48436
48437 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48438
48439         * lib/config.charset: Treat Haiku like BeOS.
48440
48441 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
48442
48443         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
48444         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
48445
48446 2008-11-08  Bruno Haible  <bruno@clisp.org>
48447
48448         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
48449         AC_CACHE_CHECK.
48450
48451 2008-11-08  Bruno Haible  <bruno@clisp.org>
48452
48453         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
48454
48455 2008-11-08  Bruno Haible  <bruno@clisp.org>
48456
48457         * tests/test-select-fd.c: New file.
48458         * tests/test-select-in.sh: New file.
48459         * tests/test-select-out.sh: New file.
48460         * tests/test-select-stdin.c: New file.
48461         * modules/select-tests (Files): Add the new files.
48462         (Depends-on): Add gettimeofday.
48463         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
48464         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
48465         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
48466
48467 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
48468             Bruno Haible  <bruno@clisp.org>
48469
48470         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
48471
48472 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
48473
48474         * build-aux/pmccabe2html: Added support for C++ source files.
48475
48476 2008-11-05  Ben Pfaff  <blp@gnu.org>
48477
48478         Fix lib/close.c build on Windows.
48479         * modules/close (Files): Add lib/w32sock.h.
48480
48481 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
48482
48483         Accept Bison's NEWS format.
48484         * build-aux/announce-gen (print_news_deltas): Tweak
48485         $re_prefix.
48486
48487 2008-11-04  Bruno Haible  <bruno@clisp.org>
48488
48489         * modules/random_r (Maintainer): Add glibc.
48490
48491 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48492
48493         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
48494         by karl@freefriends.org (Karl Berry).
48495         * doc/alloca.texi: Likewise.
48496         * doc/c-ctype.texi: Likewise.
48497         * doc/c-strcase.texi: Likewise.
48498         * doc/c-strcaseeq.texi: Likewise.
48499         * doc/c-strcasestr.texi: Likewise.
48500         * doc/c-strstr.texi: Likewise.
48501         * doc/c-strtod.texi: Likewise.
48502         * doc/c-strtold.texi: Likewise.
48503         * doc/ctime.texi: Likewise.
48504         * doc/error.texi: Likewise.
48505         * doc/fdl.texi: Likewise.
48506         * doc/gcd.texi: Likewise.
48507         * doc/getdate.texi: Likewise.
48508         * doc/gnulib-intro.texi: Likewise.
48509         * doc/gnulib-tool.texi: Likewise.
48510         * doc/gnulib.texi: Likewise.
48511         * doc/inet_ntoa.texi: Likewise.
48512         * doc/maintain.texi: Likewise.
48513         * doc/make-stds.texi: Likewise.
48514         * doc/quote.texi: Likewise.
48515         * doc/regexprops-generic.texi: Likewise.
48516         * doc/standards.texi: Likewise.
48517         * doc/verify.texi: Likewise.
48518         * doc/visibility.texi: Likewise.
48519         * doc/gnulib.texi (GNU Free Documentation License): Include
48520         fdl-1.3.texi instead of fdl.texi.
48521
48522 2008-11-04  Simon Josefsson  <simon@josefsson.org>
48523
48524         * doc/fdl-1.3.texi: New file, from
48525         <http://www.gnu.org/licenses/fdl-1.3.texi>.
48526         * modules/fdl-1.3: Add.
48527         * MODULES.html.sh: Add fdl-1.3.
48528
48529 2008-11-03  Bruno Haible  <bruno@clisp.org>
48530
48531         Make determination of absolute name of header file work with AIX xlc.
48532         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
48533         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
48534         preprocessing.
48535         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48536         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
48537
48538 2008-11-03  Simon Josefsson  <simon@josefsson.org>
48539
48540         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
48541         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
48542         <ludo@gnu.org>.
48543
48544 2008-11-02  Bruno Haible  <bruno@clisp.org>
48545
48546         Mark 'strpbrk' obsolete.
48547         * modules/strpbrk (Status, Notice): New sections.
48548         * modules/strtok_r (Depends-on): Add strpbrk.
48549
48550 2008-11-02  Bruno Haible  <bruno@clisp.org>
48551
48552         Mark 'strdup' obsolete.
48553         * modules/strdup (Status, Notice): New sections.
48554         * modules/findprog (Depends-on): Add strdup.
48555         * modules/getaddrinfo (Depends-on): Likewise.
48556         * modules/localename (Depends-on): Likewise.
48557         * modules/relocatable-lib (Depends-on): Likewise.
48558         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
48559         * modules/relocatable-prog (Depends-on): Likewise.
48560         * modules/trim (Depends-on): Likewise.
48561         * modules/unictype/gen-ctype (Depends-on): Likewise.
48562         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
48563
48564 2008-11-02  Bruno Haible  <bruno@clisp.org>
48565
48566         Mark 'strcspn' obsolete.
48567         * modules/strcspn (Status, Notice): New sections.
48568
48569 2008-11-02  Bruno Haible  <bruno@clisp.org>
48570
48571         Mark 'rmdir' obsolete.
48572         * modules/rmdir (Status, Notice): New sections.
48573         * modules/clean-temp (Depends-on): Add rmdir.
48574         * modules/openat (Depends-on): Likewise.
48575
48576 2008-11-02  Bruno Haible  <bruno@clisp.org>
48577
48578         Mark 'raise' obsolete.
48579         * modules/raise (Status, Notice): New sections.
48580         (Include): Specify <signal.h>.
48581         * modules/stdio (Depends-on): Add raise.
48582         * modules/write (Depends-on): Likewise.
48583
48584 2008-11-02  Bruno Haible  <bruno@clisp.org>
48585
48586         Mark 'memset' obsolete.
48587         * modules/memset (Status, Notice): New sections.
48588
48589 2008-11-02  Bruno Haible  <bruno@clisp.org>
48590
48591         Mark 'memmove' obsolete.
48592         * modules/memmove (Status, Notice): New sections.
48593         * modules/argp (Depends-on): Add memmove.
48594         * modules/argz (Depends-on): Likewise.
48595         * modules/canonicalize (Depends-on): Likewise.
48596         * modules/canonicalize-lgpl (Depends-on): Likewise.
48597         * modules/fts (Depends-on): Likewise.
48598         * modules/getcwd (Depends-on): Likewise.
48599         * modules/human (Depends-on): Likewise.
48600         * modules/regex (Depends-on): Likewise.
48601         * modules/striconveh (Depends-on): Likewise.
48602         * modules/trim (Depends-on): Likewise.
48603         * modules/unistr/u8-move (Depends-on): Likewise.
48604         * modules/unistr/u16-move (Depends-on): Likewise.
48605         * modules/unistr/u32-move (Depends-on): Likewise.
48606
48607 2008-11-02  Bruno Haible  <bruno@clisp.org>
48608
48609         Mark 'memcpy' obsolete.
48610         * modules/memcpy (Status, Notice): New sections.
48611
48612 2008-11-02  Bruno Haible  <bruno@clisp.org>
48613
48614         Mark 'memcmp' obsolete.
48615         * modules/memcmp (Status, Notice): New sections.
48616         * modules/argmatch (Depends-on): Add memchr.
48617         * modules/backupfile (Depends-on): Likewise.
48618         * modules/c-strcasestr (Depends-on): Likewise.
48619         * modules/crypto/des (Depends-on): Likewise.
48620         * modules/csharpcomp (Depends-on): Likewise.
48621         * modules/fnmatch (Depends-on): Likewise.
48622         * modules/git-merge-changelog (Depends-on): Likewise.
48623         * modules/isnand (Depends-on): Likewise.
48624         * modules/isnand-nolibm (Depends-on): Likewise.
48625         * modules/isnanf (Depends-on): Likewise.
48626         * modules/isnanf-nolibm (Depends-on): Likewise.
48627         * modules/isnanl (Depends-on): Likewise.
48628         * modules/isnanl-nolibm (Depends-on): Likewise.
48629         * modules/mbchar (Depends-on): Likewise.
48630         * modules/memcoll (Depends-on): Likewise.
48631         * modules/quotearg (Depends-on): Likewise.
48632         * modules/regex (Depends-on): Likewise.
48633         * modules/relocatable-prog (Depends-on): Likewise.
48634         * modules/same (Depends-on): Likewise.
48635         * modules/signbit (Depends-on): Likewise.
48636         * modules/strcasestr-simple (Depends-on): Likewise.
48637         * modules/unictype/gen-ctype (Depends-on): Likewise.
48638         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
48639         * modules/uniname/uniname (Depends-on): Likewise.
48640         * modules/unistr/u8-cmp (Depends-on): Likewise.
48641
48642 2008-11-02  Bruno Haible  <bruno@clisp.org>
48643
48644         Mark 'memchr' obsolete.
48645         * modules/memchr (Status, Notice): New sections.
48646         * modules/argp (Depends-on): Add memchr.
48647         * modules/base64 (Depends-on): Likewise.
48648         * modules/c-strcasestr (Depends-on): Likewise.
48649         * modules/chdir-long (Depends-on): Likewise.
48650         * modules/fnmatch (Depends-on): Likewise.
48651         * modules/getsubopt (Depends-on): Likewise.
48652         * modules/git-merge-changelog (Depends-on): Likewise.
48653         * modules/glob (Depends-on): Likewise.
48654         * modules/strcasestr-simple (Depends-on): Likewise.
48655         * modules/strnlen (Depends-on): Likewise.
48656
48657 2008-11-02  Bruno Haible  <bruno@clisp.org>
48658
48659         Mark 'atexit' obsolete.
48660         * modules/atexit (Status, Notice): New sections.
48661         * modules/chdir-long (Depends-on): Add atexit.
48662         * modules/wait-process (Depends-on): Likewise.
48663
48664 2008-11-02  Bruno Haible  <bruno@clisp.org>
48665
48666         * gnulib-tool: New option --with-obsolete.
48667         (func_usage): Document it.
48668         (func_modules_transitive_closure): Drop obsolete dependencies if
48669         incobsolete is not true.
48670         (func_import): Read and save the incobsolete variable to the cache.
48671
48672 2008-11-02  Bruno Haible  <bruno@clisp.org>
48673
48674         * modules/TEMPLATE-EXTENDED: New field 'Status'.
48675         * gnulib-tool: New option --extract-status.
48676         (func_usage): Document it.
48677         (sed_extract_prog): Recognize it.
48678         (func_get_status): New function.
48679
48680 2008-10-30  Simon Josefsson  <simon@josefsson.org>
48681
48682         * modules/sockets (License): Change from LGPL to LGPLv2+.
48683
48684 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48685
48686         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
48687
48688 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48689
48690         * MODULES.html.sh (Support for systems lacking POSIX:2001):
48691         Mention times and sys_times.
48692         * modules/sys_times, modules/sys_times-tests: New modules.
48693         * modules/times, modules/times-tests: Likewise
48694         * m4/sys_times_h.m4: New file.
48695         * lib/sys_times.in.h: Likewise
48696         * lib/times.c: Likewise.
48697         * tests/test-sys_times.c: Likewise.
48698         * tests/test-times.c: Likewise.
48699         * doc/posix-headers/sys_times.texi: Update.
48700         * doc/posix-functions/times.texi: Update.
48701
48702 2008-10-28  Jim Meyering  <meyering@redhat.com>
48703
48704         * modules/tempname (Depends-on): Add lstat.
48705
48706         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
48707
48708 2008-10-28  Simon Josefsson  <simon@josefsson.org>
48709
48710         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
48711         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
48712         using idiom used elsewhere in gnulib.
48713
48714 2008-10-27  Jim Meyering  <meyering@redhat.com>
48715
48716         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
48717
48718 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48719
48720         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
48721         TESTS_ENVIRONMENT, for shell scripts that needs to call built
48722         programs.
48723         * tests/test-argp-2.sh: Use $EXEEXT when needed.
48724
48725 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48726
48727         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
48728
48729 2008-10-27  Bruno Haible  <bruno@clisp.org>
48730
48731         * tests/test-lstat.c: Include <stdio.h>.
48732
48733 2008-10-27  Simon Josefsson  <simon@josefsson.org>
48734
48735         * modules/lstat-tests: New module.
48736         * tests/test-lstat.c: New file.
48737
48738 2008-10-26  Jim Meyering  <meyering@redhat.com>
48739
48740         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
48741
48742 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48743             Bruno Haible  <bruno@clisp.org>
48744
48745         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
48746         * modules/configmake (Include): Add a note that the include must come
48747         after all system headers.
48748         * lib/javaversion.c: Include configmake.h after all other includes.
48749
48750 2008-10-26  Bruno Haible  <bruno@clisp.org>
48751
48752         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
48753         HAVE_STRUCT_RANDOM_DATA to 1.
48754         (gl_STDLIB_H): Simplify.
48755
48756 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48757
48758         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
48759         substitute HAVE_STRUCT_RANDOM_DATA.
48760         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
48761         random_data.
48762         * modules/stdlib (Makefile.am): Substitute
48763         HAVE_STRUCT_RANDOM_DATA.
48764
48765 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48766
48767         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
48768         * doc/gnulib-intro.texi (Copyright): Likewise.
48769
48770 2008-10-26  Simon Josefsson  <simon@josefsson.org>
48771
48772         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
48773         findings.
48774
48775 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
48776             Bruno Haible  <bruno@clisp.org>
48777
48778         * lib/unistd.in.h: Include <winsock2.h>.
48779         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
48780         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
48781         Provide dummy declarations.
48782         (gethostname): Override.
48783         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
48784         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
48785         gl_PREREQ_SYS_H_WINSOCK2.
48786         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
48787         * doc/posix-functions/gethostname.texi: More details.
48788
48789 2008-10-25  Bruno Haible  <bruno@clisp.org>
48790
48791         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
48792         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
48793         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
48794
48795         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
48796         here ...
48797         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
48798         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
48799         gl_UNISTD_H_DEFAULTS.
48800
48801 2008-10-25  Eric Blake  <ebb9@byu.net>
48802
48803         signbit: avoid spurious compiler failure
48804         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
48805         declarations inside function.
48806
48807 2008-10-24  Simon Josefsson  <simon@josefsson.org>
48808             Bruno Haible  <bruno@clisp.org>
48809
48810         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
48811         * modules/random_r (Depends-on): Add stdint.
48812
48813 2008-10-24  Bruno Haible  <bruno@clisp.org>
48814
48815         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
48816         Eggert.
48817         * modules/strerror (License): Likewise.
48818
48819 2008-10-24  Jim Meyering  <meyering@redhat.com>
48820
48821         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
48822         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
48823
48824 2008-10-24  Eric Blake  <ebb9@byu.net>
48825
48826         getgroups: fix compilation when getgroups is available
48827         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
48828         but with <config.h> override of getgroups disabled.
48829
48830 2008-10-24  Simon Josefsson  <simon@josefsson.org>
48831
48832         * doc/gnulib.texi (Header files): Add note about C++ problems.
48833         Explained by Bruno Haible <bruno@clisp.org>.
48834
48835 2008-10-23  Bruno Haible  <bruno@clisp.org>
48836
48837         Define a dummy SA_NODEFER macro on Interix.
48838         * lib/signal.in.h (SA_NODEFER): Define fallback.
48839         Reported by Aleksey Cheusov <cheusov@tut.by> via
48840         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
48841
48842 2008-10-23  Bruno Haible  <bruno@clisp.org>
48843
48844         * modules/freadahead (License): Change to LGPLv2+.
48845         Suggested by Simon Josefsson.
48846
48847 2008-10-23  Jim Meyering  <meyering@redhat.com>
48848
48849         random_r: new module
48850         * modules/random_r: New file.
48851         * m4/random_r.m4: New file.
48852         * lib/random_r.c: New file, from glibc.
48853         * modules/random_r-tests: New file.
48854         * tests/test-random_r.c: New file.
48855         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
48856          Declare.
48857         (RAND_MAX): Define.
48858         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
48859         * modules/stdlib: Substitute them, too.
48860         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
48861         * doc/glibc-functions/initstate_r.texi: Mention the new module.
48862         * doc/glibc-functions/random_r.texi: Likewise.
48863         * doc/glibc-functions/setstate_r.texi: Likewise.
48864         * doc/glibc-functions/srandom_r.texi: Likewise.
48865         * config/srclist.txt: Mention it.
48866
48867 2008-10-23  David Lutterkort  <lutter@redhat.com>
48868
48869         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
48870         link requirement
48871
48872 2008-10-23  Jim Meyering  <meyering@redhat.com>
48873
48874         selinux-h: mark parameters of stub functions as intentionally unused
48875         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
48876         * lib/se-context.in.h: Likewise.
48877
48878 2008-10-22  Simon Josefsson  <simon@josefsson.org>
48879
48880         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
48881
48882 2008-10-22  Simon Josefsson  <simon@josefsson.org>
48883
48884         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
48885
48886 2008-10-22  Eric Blake  <ebb9@byu.net>
48887
48888         glthread/thread: avoid compiler warning
48889         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
48890         Add unreachable abort to silence compiler.
48891
48892 2008-10-22  Eric Blake  <ebb9@byu.net>
48893
48894         netdb: also supply struct addrinfo for cygwin 1.5.x
48895         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
48896         older cygwin.
48897         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
48898         cygwin.
48899         * doc/posix-headers/netdb.texi (netdb.h): Document this.
48900
48901 2008-10-22  Bruno Haible  <bruno@clisp.org>
48902
48903         * users.txt: Update entry about pspp.
48904
48905 2008-10-21  Bruno Haible  <bruno@clisp.org>
48906
48907         Simplification.
48908         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
48909         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
48910
48911         Simplification.
48912         * lib/ioctl.c (ioctl): Don't undefine.
48913         * lib/socket.c (socket): Don't undefine.
48914
48915         Remove unused module indicator macros.
48916         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
48917         GNULIB_$1 as a C macro.
48918
48919         * doc/posix-functions/close.texi: Undo last change.
48920         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
48921         Windows platforms.
48922
48923 2008-10-21  Bruno Haible  <bruno@clisp.org>
48924
48925         Add gethostname() declaration to <unistd.h>.
48926         * lib/unistd.in.h (gethostname): New declaration.
48927         * lib/gethostname.c: Include <unistd.h>.
48928         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
48929         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
48930         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
48931         and HAVE_GETHOSTNAME.
48932         * modules/gethostname (Depends-on): Add unistd.
48933         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
48934         (Include): Specify <unistd.h>.
48935         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
48936         HAVE_GETHOSTNAME.
48937         * tests/test-gethostname.c: Include <unistd.h> first.
48938
48939 2008-10-21  Bruno Haible  <bruno@clisp.org>
48940
48941         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
48942         * modules/select-tests (Depends-on): Likewise.
48943         Reported by Simon Josefsson.
48944
48945 2008-10-21  Simon Josefsson  <simon@josefsson.org>
48946
48947         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
48948         * lib/accept.c: New file, based on winsock.c.
48949         * lib/bind.c: New file, based on winsock.c.
48950         * lib/connect.c: New file, based on winsock.c.
48951         * lib/getpeername.c: New file, based on winsock.c.
48952         * lib/getsockname.c: New file, based on winsock.c.
48953         * lib/getsockopt.c: New file, based on winsock.c.
48954         * lib/ioctl.c: New file, based on winsock.c.
48955         * lib/listen.c: New file, based on winsock.c.
48956         * lib/recv.c: New file, based on winsock.c.
48957         * lib/recvfrom.c: New file, based on winsock.c.
48958         * lib/send.c: New file, based on winsock.c.
48959         * lib/sendto.c: New file, based on winsock.c.
48960         * lib/setsockopt.c: New file, based on winsock.c.
48961         * lib/shutdown.c: New file, based on winsock.c.
48962         * lib/socket.c: New file, based on winsock.c.
48963         * lib/w32sock.h: New file, based on winsock.c.
48964         * lib/winsock.c: Remove file.
48965         * modules/accept: Likewise.
48966         * modules/bind: Likewise.
48967         * modules/connect: Likewise.
48968         * modules/getpeername: Likewise.
48969         * modules/getsockname: Likewise.
48970         * modules/getsockopt: Likewise.
48971         * modules/ioctl: Likewise.
48972         * modules/listen: Likewise.
48973         * modules/recv: Likewise.
48974         * modules/recvfrom: Likewise.
48975         * modules/send: Likewise.
48976         * modules/sendto: Likewise.
48977         * modules/setsockopt: Likewise.
48978         * modules/shutdown: Likewise.
48979         * modules/socket: Use socket.c instead of winsock.c.
48980         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
48981         * doc/posix-functions/accept.texi: Doc fix.
48982         * doc/posix-functions/bind.texi: Doc fix.
48983         * doc/posix-functions/close.texi: Doc fix.
48984         * doc/posix-functions/connect.texi: Doc fix.
48985         * doc/posix-functions/getpeername.texi: Doc fix.
48986         * doc/posix-functions/getsockname.texi: Doc fix.
48987         * doc/posix-functions/getsockopt.texi: Doc fix.
48988         * doc/posix-functions/ioctl.texi: Doc fix.
48989         * doc/posix-functions/listen.texi: Doc fix.
48990         * doc/posix-functions/recv.texi: Doc fix.
48991         * doc/posix-functions/recvfrom.texi: Doc fix.
48992         * doc/posix-functions/send.texi: Doc fix.
48993         * doc/posix-functions/sendto.texi: Doc fix.
48994         * doc/posix-functions/setsockopt.texi: Doc fix.
48995         * doc/posix-functions/shutdown.texi: Doc fix.
48996         * doc/posix-functions/socket.texi: Doc fix.
48997
48998 2008-10-20  Bruno Haible  <bruno@clisp.org>
48999
49000         Take into account the role of SIGABRT_COMPAT on Windows 2008.
49001         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
49002         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
49003         as an alias for SIGABRT.
49004         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
49005         (sigaction): Map it to SIGABRT.
49006         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
49007
49008 2008-10-20  Bruno Haible  <bruno@clisp.org>
49009
49010         * lib/fts.c: Don't include lstat.h.
49011         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
49012
49013         Move the lstat() declaration to <sys/stat.h>.
49014         * lib/lstat.h: Remove file.
49015         * lib/sys_stat.in.h: Add special invocation convention.
49016         (lstat): New declaration.
49017         * lib/lstat.c (orig_lstat): New function.
49018         (rpl_lstat): Use orig_lstat instead of lstat.
49019         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
49020         AC_C_INLINE. Set REPLACE_LSTAT.
49021         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
49022         and REPLACE_LSTAT.
49023         * modules/lstat (Files): Remove lib/lstat.h.
49024         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
49025         (Include): Specify <sys/stat.h> instead of lstat.h.
49026         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
49027         REPLACE_LSTAT.
49028         * NEWS: Mention the change.
49029
49030 2008-10-20  Bruno Haible  <bruno@clisp.org>
49031
49032         * modules/posix_spawn-tests: New file.
49033         * tests/test-posix_spawn3.c: New file.
49034
49035 2008-10-20  Bruno Haible  <bruno@clisp.org>
49036
49037         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
49038         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
49039         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
49040         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
49041         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
49042
49043 2008-10-20  Bruno Haible  <bruno@clisp.org>
49044
49045         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
49046         of posix_spawn on AIX 5.3.
49047
49048 2008-10-20  Bruno Haible  <bruno@clisp.org>
49049
49050         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
49051
49052 2008-10-20  Bruno Haible  <bruno@clisp.org>
49053
49054         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
49055         of AC_LANG_PROGRAM.
49056
49057 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49058
49059         * lib/netdb.in.h: Don't define GNU specific constants until they
49060         are supported or needed.  Reported by Bruno Haible
49061         <bruno@clisp.org>.
49062
49063 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49064
49065         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
49066
49067 2008-10-20  Simon Josefsson  <simon@josefsson.org>
49068
49069         * lib/getaddrinfo.h: Remove file.
49070         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
49071         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
49072         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
49073         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
49074         * modules/netdb: Substitute GNULIB_GETADDRINFO.
49075         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
49076         * tests/test-getaddrinfo.c: Likewise.
49077         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
49078         * NEWS: Mention change.
49079
49080 2008-10-19  Bruno Haible  <bruno@clisp.org>
49081
49082         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
49083
49084 2008-10-19  Bruno Haible  <bruno@clisp.org>
49085
49086         * lib/wait-process.c: Include simply <sys/wait.h>.
49087         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
49088         WIFSTOPPED): Remove fallback definitions.
49089         * modules/wait-process (Depends-on): Add sys_wait.
49090
49091         New module 'sys_wait'.
49092         * modules/sys_wait: New file.
49093         * lib/sys_wait.in.h: New file, partially copied from
49094         lib/wait-process.c.
49095         * m4/sys_wait_h.m4: New file.
49096         * doc/posix-headers/sys_wait.texi: Mention the new module.
49097
49098 2008-10-19  Bruno Haible  <bruno@clisp.org>
49099
49100         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
49101
49102 2008-10-19  Bruno Haible  <bruno@clisp.org>
49103
49104         Assume that waitpid() fills an 'int' status, not a 'union wait'.
49105         * lib/wait-process.c (WAIT_T): Remove type.
49106         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
49107         (wait_subprocess): Update.
49108
49109 2008-10-19  Bruno Haible  <bruno@clisp.org>
49110
49111         New module 'atoll'.
49112         * modules/atoll: New file.
49113         * lib/stdlib.in.h (atoll): New declaration.
49114         * lib/atoll.c: New file, from glibc with modifications.
49115         * m4/atoll.m4: New file.
49116         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
49117         HAVE_ATOLL.
49118         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
49119         * doc/posix-functions/atoll.texi: Mention the new module.
49120
49121 2008-10-19  Bruno Haible  <bruno@clisp.org>
49122
49123         Add strtoull() declaration to <stdlib.h>.
49124         * lib/stdlib.in.h (strtoull): New declaration.
49125         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49126         Set HAVE_STRTOULL.
49127         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
49128         HAVE_STRTOULL.
49129         * modules/strtoull (Depends-on): Add stdlib.
49130         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49131         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
49132         HAVE_STRTOULL.
49133
49134 2008-10-19  Bruno Haible  <bruno@clisp.org>
49135
49136         Add strtoll() declaration to <stdlib.h>.
49137         * lib/stdlib.in.h (strtoll): New declaration.
49138         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
49139         Set HAVE_STRTOLL.
49140         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
49141         HAVE_STRTOLL.
49142         * modules/strtoll (Depends-on): Add stdlib.
49143         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49144         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
49145
49146 2008-10-19  Bruno Haible  <bruno@clisp.org>
49147
49148         * modules/bcopy (Depends-on): Add strings.
49149         (Include): Specify <strings.h>.
49150
49151 2008-10-19  Bruno Haible  <bruno@clisp.org>
49152
49153         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
49154
49155 2008-10-19  Bruno Haible  <bruno@clisp.org>
49156
49157         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
49158         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
49159         mingw.
49160
49161 2008-10-19  Bruno Haible  <bruno@clisp.org>
49162
49163         * lib/atanl.c: Don't include isnanl.h.
49164         * lib/cosl.c: Likewise.
49165         * lib/ldexpl.c: Likewise.
49166         * lib/logl.c: Likewise.
49167         * lib/sinl.c: Likewise.
49168         * lib/sqrtl.c: Likewise.
49169         * lib/tanl.c: Likewise.
49170
49171         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
49172         * lib/isnanf.h: Remove file.
49173         * lib/isnand.h: Remove file.
49174         * lib/isnanl.h: Remove file.
49175         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
49176         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
49177         macros.
49178         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
49179         HAVE_ISNANF, don't define it as a C macro.
49180         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
49181         HAVE_ISNAND, don't define it as a C macro.
49182         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
49183         HAVE_ISNANL, don't define it as a C macro.
49184         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
49185         HAVE_ISNAN[FDL].
49186         * modules/isnanf (Files): Remove lib/isnanf.h.
49187         (Depends-on): Add math.
49188         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49189         (Include): Specify <math.h> instead of isnanf.h.
49190         * modules/isnand (Files): Remove lib/isnand.h.
49191         (Depends-on): Add math.
49192         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49193         (Include): Specify <math.h> instead of isnand.h.
49194         * modules/isnanl (Files): Remove lib/isnanl.h.
49195         (Depends-on): Add math.
49196         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
49197         (Include): Specify <math.h> instead of isnanl.h.
49198         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
49199         HAVE_ISNAN[FDL].
49200         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
49201         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
49202         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
49203         * NEWS: Mention the change.
49204
49205 2008-10-18  Bruno Haible  <bruno@clisp.org>
49206
49207         Add getusershell(), setusershell(), endusershell() declarations to
49208         <unistd.h>.
49209         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
49210         declarations.
49211         * lib/getusershell.c: Include unistd.h.
49212         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
49213         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49214         HAVE_GETUSERSHELL.
49215         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
49216         and HAVE_GETUSERSHELL.
49217         * modules/getusershell (Depends-on): Add unistd, extensions.
49218         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49219         (Include): Specify <unistd.h>.
49220         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
49221         HAVE_GETUSERSHELL.
49222
49223 2008-10-18  Bruno Haible  <bruno@clisp.org>
49224
49225         Add a getloadavg() declaration to <stdlib.h>.
49226         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
49227         getloadavg declaration.
49228         (getloadavg): New declaration.
49229         * lib/getloadavg.c: Include <stdlib.h> first.
49230         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
49231         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
49232         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
49233         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
49234         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49235         * modules/getloadavg (Depends-on): Add stdlib, extensions.
49236         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
49237         (Include): Specify <stdlib.h>.
49238         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
49239         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
49240
49241 2008-10-18  Bruno Haible  <bruno@clisp.org>
49242
49243         * lib/dirchownmod.c: Don't include lchmod.h.
49244
49245         Move the lchmod() declaration to <sys/stat.h>.
49246         * lib/lchmod.h: Remove file.
49247         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
49248         (lchmod): New declaration, moved here from lib/lchown.h.
49249         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
49250         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
49251         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
49252         and HAVE_LCHMOD.
49253         * modules/lchmod (Files): Remove lib/lchmod.h.
49254         (Depends-on): Add sys_stat, extensions.
49255         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
49256         (Include): Specify <sys/stat.h> instead of lchmod.h.
49257         * modules/sys_stat (Depends-on): Add link-warning.
49258         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
49259         definition of GL_LINK_WARNING.
49260         * NEWS: Mention the change.
49261
49262 2008-10-18  Bruno Haible  <bruno@clisp.org>
49263
49264         * lib/fchdir.c: Don't include dirfd.h.
49265         * lib/fts.c: Likewise.
49266         * lib/getcwd.c: Likewise.
49267         * lib/glob.c: Likewise.
49268
49269         Move the dirfd() declaration to <dirent.h>.
49270         * lib/dirfd.h: Remove file.
49271         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
49272         (dirfd): New declaration.
49273         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
49274         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
49275         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
49276         HAVE_DECL_DIRFD.
49277         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
49278         HAVE_DECL_DIRFD.
49279         * modules/dirfd (Files): Remove lib/dirfd.h.
49280         (Depends-on): Add dirent, extensions.
49281         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
49282         (Include): Specify <dirent.h> instead of dirfd.h.
49283         * modules/dirent (Depends-on): Add link-warning.
49284         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
49285         definition of GL_LINK_WARNING.
49286         * NEWS: Mention the change.
49287
49288 2008-10-18  Bruno Haible  <bruno@clisp.org>
49289
49290         Move the euidaccess() declaration to <unistd.h>.
49291         * lib/euidaccess.h: Remove file.
49292         * lib/unistd.in.h (euidaccess): New declaration.
49293         * lib/euidaccess.c: Don't include euidaccess.h.
49294         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
49295         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
49296         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
49297         and HAVE_EUIDACCESS.
49298         * modules/euidaccess (Files): Remove lib/euidaccess.h.
49299         (Depends-on): Add unistd.
49300         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49301         (Include): Specify <unistd.h> instead of euidaccess.h.
49302         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
49303         HAVE_EUIDACCESS.
49304         * NEWS: Mention the change.
49305
49306 2008-10-18  Bruno Haible  <bruno@clisp.org>
49307
49308         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
49309
49310         Move the getdomainname() declaration to <unistd.h>.
49311         * lib/getdomainname.h: Remove file.
49312         * lib/unistd.in.h (getdomainname): New declaration.
49313         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
49314         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
49315         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
49316         HAVE_GETDOMAINNAME.
49317         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49318         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
49319         * modules/getdomainname (Files): Remove lib/getdomainname.h.
49320         (Depends-on): Add unistd, extensions.
49321         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
49322         (Includes): Specify <unistd.h> instead of getdomainname.h.
49323         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
49324         HAVE_GETDOMAINNAME.
49325         * NEWS: Mention the change.
49326
49327 2008-10-18  Bruno Haible  <bruno@clisp.org>
49328
49329         * modules/dirent: New file.
49330         * m4/dirent_h.m4: New file.
49331         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
49332         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
49333         * modules/fchdir (Files): Remove lib/dirent.in.h.
49334         (Depends-on): Add dirent.
49335         (Makefile.am): Move rules to modules/dirent.
49336         * doc/posix-headers/dirent.texi: Mention the new module.
49337
49338 2008-10-18  Bruno Haible  <bruno@clisp.org>
49339
49340         Avoid -Wunused-parameter warnings in public gnulib header files.
49341         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
49342         macro.
49343         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
49344
49345 2008-10-18  Bruno Haible  <bruno@clisp.org>
49346
49347         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
49348         * doc/glibc-functions/error.texi: Mention the module 'error'.
49349         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
49350         * doc/glibc-functions/getdomainname.texi: Mention the module
49351         'getdomainname'.
49352         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
49353         * doc/glibc-functions/getpagesize.texi: Mention the module
49354         'getpagesize'.
49355         * doc/glibc-functions/getusershell.texi: Mention the module
49356         'getusershell'.
49357         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
49358         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
49359         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
49360         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
49361         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
49362         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
49363         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
49364         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
49365         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
49366         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
49367         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
49368         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
49369         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
49370         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
49371
49372 2008-10-17  Bruno Haible  <bruno@clisp.org>
49373
49374         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
49375         HP-UX and IRIX, use -0.0L.
49376         * tests/test-ceill.c (minus_zero): Likewise.
49377         * tests/test-floorl.c (minus_zero): Likewise.
49378         * tests/test-frexpl.c (minus_zero): Likewise.
49379         * tests/test-isnan.c (minus_zerol): Likewise.
49380         * tests/test-isnanl.h (minus_zero): Likewise.
49381         * tests/test-ldexpl.c (minus_zero): Likewise.
49382         * tests/test-roundl.c (minus_zero): Likewise.
49383         * tests/test-signbit.c (minus_zerol): Likewise.
49384         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
49385         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
49386         * tests/test-truncl.c (minus_zero): Likewise.
49387         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
49388         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
49389         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
49390         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
49391
49392 2008-10-17  Bruno Haible  <bruno@clisp.org>
49393
49394         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
49395         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
49396         that it gets activated only for gcc >= 3.0.
49397         * lib/dirent.in.h: Likewise.
49398         * lib/errno.in.h: Likewise.
49399         * lib/fcntl.in.h: Likewise.
49400         * lib/float.in.h: Likewise.
49401         * lib/iconv.in.h: Likewise.
49402         * lib/inttypes.in.h: Likewise.
49403         * lib/locale.in.h: Likewise.
49404         * lib/math.in.h: Likewise.
49405         * lib/netdb.in.h: Likewise.
49406         * lib/netinet_in.in.h: Likewise.
49407         * lib/search.in.h: Likewise.
49408         * lib/signal.in.h: Likewise.
49409         * lib/spawn.in.h: Likewise.
49410         * lib/stdarg.in.h: Likewise.
49411         * lib/stdint.in.h: Likewise.
49412         * lib/stdio.in.h: Likewise.
49413         * lib/stdlib.in.h: Likewise.
49414         * lib/string.in.h: Likewise.
49415         * lib/strings.in.h: Likewise.
49416         * lib/sys_file.in.h: Likewise.
49417         * lib/sys_ioctl.in.h: Likewise.
49418         * lib/sys_select.in.h: Likewise.
49419         * lib/sys_socket.in.h: Likewise.
49420         * lib/sys_stat.in.h: Likewise.
49421         * lib/sys_time.in.h: Likewise.
49422         * lib/sysexits.in.h: Likewise.
49423         * lib/time.in.h: Likewise.
49424         * lib/unistd.in.h: Likewise.
49425         * lib/wchar.in.h: Likewise.
49426         * lib/wctype.in.h: Likewise.
49427         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
49428
49429 2008-10-17  Jim Meyering  <meyering@redhat.com>
49430
49431         ignore-value: don't depend on inline module
49432         * modules/ignore-value (Depends-on): Remove 'inline'.
49433         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
49434         Suggestion from Bruno Haible.
49435
49436 2008-10-17  Bruno Haible  <bruno@clisp.org>
49437
49438         New implementation of condition variables for Win32.
49439         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
49440         (gl_linked_waitqueue_t): New type.
49441         (gl_cond_t): Use it.
49442         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
49443         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
49444         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
49445         (glthread_cond_init_func, glthread_cond_wait_func,
49446         glthread_cond_timedwait_func, glthread_cond_signal_func,
49447         glthread_cond_broadcast_func, glthread_cond_destroy_func):
49448         Reimplemented on the basis of gl_linked_waitqueue_t.
49449         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
49450         gl_waitqueue_t.
49451         (gl_rwlock_t): Update.
49452         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
49453
49454 2008-10-17  Simon Josefsson  <simon@josefsson.org>
49455
49456         * modules/recvfrom (Depends-on): Add dependency on getpeername.
49457         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49458
49459 2008-10-17  Jim Meyering  <meyering@redhat.com>
49460
49461         ignore-value: new module
49462         * modules/ignore-value: New file.
49463         * lib/ignore-value.h: New file.
49464         * MODULES.html.sh (Compiler warning management): New section,
49465         just for this module.  More to come.
49466
49467 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
49468
49469         open-safer.c: avoid 'signed and unsigned in conditional...' warning
49470         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
49471         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
49472
49473 2008-10-16  Jim Meyering  <meyering@redhat.com>
49474
49475         openat-die.c: avoid 'no previous prototype' warning
49476         * lib/openat-die.c: Include "openat.h".
49477         Reported by Reuben Thomas <rrt@sc3d.org>.
49478
49479 2008-10-16  Simon Josefsson  <simon@josefsson.org>
49480
49481         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
49482         * lib/netdb.in.h: Fix typo.
49483         Reported by Bruno Haible  <bruno@clisp.org>
49484
49485         * lib/netdb.in.h: Include sys/socket.h for platforms without
49486         netdb.h, to get structures like hostent on MinGW.
49487         * modules/netdb (Depends-on): Add sys_socket.
49488
49489 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49490
49491         * modules/netdb, modules/netdb-tests: New file.
49492         * m4/netdb_h.m4: New file.
49493         * lib/netdb.in.h: Add, currently just an empty file pending
49494         definitions.
49495         * tests/test-netdb.c: New file.
49496         * doc/posix-headers/netdb.texi: Mention that we replace it if
49497         needed.
49498         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
49499         netdb.
49500
49501 2008-10-15  Simon Josefsson  <simon@josefsson.org>
49502
49503         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
49504         with code.
49505
49506 2008-10-13  Bruno Haible  <bruno@clisp.org>
49507
49508         * lib/glthread/cond.c (glthread_cond_wait_func,
49509         glthread_cond_timedwait_func): Add a comment.
49510
49511 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49512
49513         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
49514         * tests/test-select.c: Likewise,
49515
49516 2008-10-13  Bruno Haible  <bruno@clisp.org>
49517
49518         * lib/glthread/cond.c (glthread_cond_wait_func,
49519         glthread_cond_timedwait_func): Fix variable name.
49520         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
49521
49522 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
49523
49524         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
49525         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
49526         struct sockaddr.sa_len.
49527         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
49528
49529 2008-10-13  Simon Josefsson  <simon@josefsson.org>
49530
49531         * build-aux/pmccabe2html: Add css and css_url parameters.
49532
49533 2008-10-12  Bruno Haible  <bruno@clisp.org>
49534
49535         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
49536         calling aclx_get.
49537         Reported by Rainer Tammer <tammer@tammer.net>.
49538
49539 2008-10-12  Bruno Haible  <bruno@clisp.org>
49540
49541         Use msvcrt aware primitives for creation/termination of Win32 threads.
49542         * lib/glthread/thread.c: Include <process.h>.
49543         (glthread_create_func): Use _beginthreadex instead of CreateThread.
49544         (wrapper_func): Update signature.
49545         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
49546
49547 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
49548             Bruno Haible  <bruno@clisp.org>
49549
49550         Provide a Win32 implementation of the 'cond' module.
49551         * lib/glthread/cond.h [USE_WIN32]: New implementation.
49552         * lib/glthread/cond.c (glthread_cond_init_func,
49553         glthread_cond_wait_func, glthread_cond_timedwait_func,
49554         glthread_cond_signal_func, glthread_cond_broadcast_func,
49555         glthread_cond_destroy_func) [USE_WIN32]: New functions.
49556         * modules/cond (Dependencies): Add gettimeofday.
49557
49558 2008-10-11  Bruno Haible  <bruno@clisp.org>
49559
49560         Make sleep work on older versions of mingw.
49561         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
49562         only whether it exists.
49563         * doc/posix-functions/sleep.texi: Mention the problem with older
49564         versions of mingw.
49565
49566 2008-10-11  Bruno Haible  <bruno@clisp.org>
49567
49568         New module 'shutdown'.
49569         * modules/shutdown: New file.
49570         * lib/sys_socket.in.h (shutdown): New declaration.
49571         * lib/winsock.c (shutdown): New function.
49572         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
49573         GNULIB_SHUTDOWN.
49574         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
49575         * doc/posix-functions/shutdown.texi: Document the new module.
49576
49577 2008-10-11  Jim Meyering  <meyering@redhat.com>
49578
49579         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
49580
49581 2008-10-11  Bruno Haible  <bruno@clisp.org>
49582
49583         New module 'fclose'.
49584         * modules/fclose: New file.
49585         * lib/stdio.in.h (fclose): New declaration.
49586         * lib/fclose.c: New file.
49587         * m4/fclose.m4: New file.
49588         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
49589         REPLACE_FCLOSE.
49590         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
49591         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
49592         REPLACE_FCLOSE.
49593         * modules/close (Depends-on): fclose.
49594         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
49595
49596 2008-10-11  Bruno Haible  <bruno@clisp.org>
49597
49598         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
49599         set errno and don't call _close.
49600
49601 2008-10-10  Bruno Haible  <bruno@clisp.org>
49602
49603         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
49604         ACL, not afterwards. Fixes test failure on Cygwin.
49605
49606 2008-10-09  Ben Pfaff  <blp@gnu.org>
49607
49608         * build-aux/announce-gen: Fix gnulib version related part of usage
49609         message.  Die with a useful error message if no tarballs are
49610         found.
49611
49612 2008-10-10  Jim Meyering  <meyering@redhat.com>
49613
49614         bootstrap: use git's --depth=N option only if it's supported
49615         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
49616         recognize the --depth option.  Reported by Pádraig Brady.
49617
49618 2008-10-09  Bruno Haible  <bruno@clisp.org>
49619
49620         New module 'ioctl'.
49621         * modules/ioctl: New file.
49622         * lib/sys_socket.in.h (ioctl): Remove declaration.
49623         * lib/winsock.c: Include <sys/ioctl.h>.
49624         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
49625         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
49626         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
49627         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
49628         * doc/posix-functions/ioctl.texi: Mention the new module.
49629
49630 2008-10-09  Bruno Haible  <bruno@clisp.org>
49631
49632         New module 'sys_ioctl'.
49633         * lib/sys_ioctl.in.h: New file.
49634         * m4/sys_ioctl_h.m4: New file.
49635         * modules/sys_ioctl: New file.
49636         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
49637
49638 2008-10-09  Bruno Haible  <bruno@clisp.org>
49639
49640         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
49641         * lib/winsock.c: Include <stdarg.h>.
49642         (rpl_ioctl): Change to second argument 'int' and then varargs.
49643
49644 2008-10-09  Bruno Haible  <bruno@clisp.org>
49645
49646         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
49647         when the sys_socket module is present and the system has <winsock2.h>.
49648
49649 2008-10-09  Bruno Haible  <bruno@clisp.org>
49650
49651         * doc/posix-functions/close.texi: Mention module 'close' instead of
49652         module 'sys_socket'.
49653
49654 2008-10-09  Bruno Haible  <bruno@clisp.org>
49655
49656         * doc/glibc-headers/sys_ioctl.texi: New file.
49657         * doc/gnulib.texi: Include it.
49658
49659 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49660             Bruno Haible  <bruno@clisp.org>
49661
49662         Combine the two replacements of 'close'.
49663         * lib/sys_socket.in.h (close): Define to a reminder to include
49664         <unistd.h>.
49665         (_gl_close_fd_maybe_socket): New declaration.
49666         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
49667         * lib/winsock.c (close): Remove undefinition.
49668         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
49669         needed for the gnulib module 'close'.
49670         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
49671         define to an error symbol or to a warning, if suitable.
49672         * lib/close.c: Include <sys/socket.h>.
49673         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
49674         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
49675         UNISTD_H_HAVE_WINSOCK2_H.
49676         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
49677         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
49678         UNISTD_H_HAVE_WINSOCK2_H.
49679         * modules/sys_socket (Files): Add m4/unistd_h.m4.
49680         (configure.ac): Set a module indicator.
49681         (Makefile.am): Substitute GNULIB_CLOSE.
49682         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
49683         * modules/poll-tests (Depends-on): Add close.
49684         * modules/select-tests (Depends-on): Likewise.
49685
49686 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49687             Bruno Haible  <bruno@clisp.org>
49688
49689         New module 'close'.
49690         * modules/close: New file.
49691         * lib/unistd.in.h (close): Move declaration out of the
49692         FCHDIR_REPLACEMENT scope.
49693         (_gl_unregister_fd): New declaration.
49694         * lib/close.c: New file.
49695         * lib/fchdir.c (rpl_close): Remove function.
49696         * m4/close.m4: New file.
49697         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
49698         close.
49699         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
49700         REPLACE_CLOSE.
49701         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
49702         REPLACE_CLOSE.
49703         * modules/fchdir (Depends-on): Add close.
49704
49705 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49706             Bruno Haible  <bruno@clisp.org>
49707
49708         * lib/fcntl.in.h (open): Simplify conditionals.
49709         (_gl_register_fd): New declaration.
49710         * lib/fchdir.c (rpl_open): Remove function.
49711         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
49712         also.
49713         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
49714         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
49715         open.
49716
49717 2008-10-09  Jim Meyering  <meyering@redhat.com>
49718
49719         GNUmakefile: use the more name-space-friendly "_version"
49720         * top/GNUmakefile (_dummy): Update.
49721         (_version): Rename from "version".
49722
49723 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49724             Bruno Haible  <bruno@clisp.org>
49725
49726         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
49727         rpl_close.
49728         (_gl_register_fd): New function, extracted from rpl_open.
49729         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
49730         (rpl_open, rpl_opendir): Use _gl_register_fd.
49731
49732 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
49733
49734         Fix organization of 'open' replacement.
49735         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
49736         (gl_FUNC_OPEN): Use it.
49737         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
49738
49739 2008-10-08  Bruno Haible  <bruno@clisp.org>
49740
49741         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
49742
49743 2008-10-08  Simon Josefsson  <simon@josefsson.org>
49744
49745         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
49746         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
49747         listen).
49748
49749 2008-10-08  Eric Blake  <ebb9@byu.net>
49750
49751         GNUmakefile: add 'make version' target
49752         * top/GNUmakefile (_curr-ver): Split version update rules...
49753         (version): ...into a target.
49754
49755 2008-10-07  Bruno Haible  <bruno@clisp.org>
49756
49757         Use a more portable replacement expression for -0.0L.
49758         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
49759         instead of -0.0L. Fix m4 quotation.
49760
49761         * tests/test-signbit.c: Include <float.h>.
49762         (minus_zero): New variable.
49763         (test_signbitl): Use minus_zero instead of -zero.
49764         * modules/signbit-tests (Depends-on): Add float.
49765
49766         * tests/test-ceill.c: Include <float.h>.
49767         (zero): Remove variable.
49768         (minus_zero): New variable.
49769         (main): Use minus_zero instead of -zero.
49770         * modules/ceill-tests (Depends-on): Add float.
49771
49772         * tests/test-floorl.c: Include <float.h>.
49773         (zero): Remove variable.
49774         (minus_zero): New variable.
49775         (main): Use minus_zero instead of -zero.
49776         * modules/floorl-tests (Depends-on): Add float.
49777
49778         * tests/test-roundl.c: Include <float.h>.
49779         (zero): Remove variable.
49780         (minus_zero): New variable.
49781         (main): Use minus_zero instead of -zero.
49782         * modules/roundl-tests (Depends-on): Add float.
49783
49784         * tests/test-truncl.c: Include <float.h>.
49785         (zero): Remove variable.
49786         (minus_zero): New variable.
49787         (main): Use minus_zero instead of -zero.
49788         * modules/truncl-tests (Depends-on): Add float.
49789
49790         * tests/test-frexpl.c (zero): Remove variable.
49791         (minus_zero): New variable.
49792         (main): Use minus_zero instead of -zero.
49793         * modules/frexpl-tests (Depends-on): Add float.
49794
49795         * tests/test-isnan.c (zerol): Remove variable.
49796         (minus_zerol): New variable.
49797         (test_long_double): Use minus_zerol instead of -zerol.
49798         * modules/isnan-tests (Depends-on): Add float.
49799
49800         * tests/test-isnanl.h (zero): Remove variable.
49801         (minus_zero): New variable.
49802         (main): Use minus_zero instead of -zero.
49803         * modules/isnanl-nolibm-tests (Depends-on): Add float.
49804         * modules/isnanl-tests (Depends-on): Add float.
49805
49806         * tests/test-ldexpl.c (zero): Remove variable.
49807         (minus_zero): New variable.
49808         (main): Use minus_zero instead of -zero.
49809         * modules/ldexpl-tests (Depends-on): Add float.
49810
49811         * tests/test-snprintf-posix.h (zerol): Remove variable.
49812         (minus_zerol): New variable.
49813         (test_function): Use minus_zerol instead of -zerol.
49814         * modules/snprintf-posix-tests (Depends-on): Add float.
49815         * modules/vsnprintf-posix-tests (Depends-on): Add float.
49816
49817         * tests/test-sprintf-posix.h (zerol): Remove variable.
49818         (minus_zerol): New variable.
49819         (test_function): Use minus_zerol instead of -zerol.
49820         * modules/sprintf-posix-tests (Depends-on): Add float.
49821         * modules/vsprintf-posix-tests (Depends-on): Add float.
49822
49823         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
49824         (minus_zerol): New variable.
49825         (test_function): Use minus_zerol instead of -zerol.
49826         * modules/vasnprintf-posix-tests (Depends-on): Add float.
49827
49828         * tests/test-vasprintf-posix.c (zerol): Remove variable.
49829         (minus_zerol): New variable.
49830         (test_function): Use minus_zerol instead of -zerol.
49831         * modules/vasprintf-posix-tests (Depends-on): Add float.
49832
49833 2008-10-07  Simon Josefsson  <simon@josefsson.org>
49834
49835         * MODULES.html.sh (Support for building documentation): Mention
49836         pmccabe2html.  Sort entries.
49837
49838         Add pmccabe2html module, from gnupdf.
49839         * build-aux/pmccabe.css: New file.
49840         * build-aux/pmccabe2html: New file.
49841         * m4/pmccabe2html.m4: New file.
49842         * modules/pmccabe2html: New file.
49843
49844 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
49845
49846         flock: new module
49847         * MODULES.html.sh: Add to list of modules.
49848         * lib/flock.c: flock implementation for Windows and Unix systems
49849         which have fcntl.
49850         * doc/glibc-functions/flock.texi: Update documentation.
49851         * lib/sys_file.in.h: <sys/file.h> header file.
49852         * m4/flock.m4: M4 macros.
49853         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
49854         * modules/flock: flock module.
49855         * modules/flock-tests: flock tests module.
49856         * modules/sys_file: sys/file.h module.
49857         * tests/test-flock.c: test suite for flock.
49858
49859 2008-10-06  Jim Meyering  <meyering@redhat.com>
49860
49861         bootstrap: check for LT_INIT more portably still ;-)
49862         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
49863         Spotted by Bruno Haible.
49864
49865 2008-10-06  Eric Blake  <ebb9@byu.net>
49866
49867         test-signbit: avoid tripping Irix cc bug on -0.0L
49868         * tests/test-signbit.c (minus_zerol): Delete, and replace with
49869         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
49870         entire testsuite consistent and avoids an Irix 6.2 bug.
49871
49872 2008-10-05  Bruno Haible  <bruno@clisp.org>
49873             Jim Meyering  <jim@meyering.net>
49874
49875         Add an option for ignoring EPIPE during close_stdout.
49876         * lib/closeout.h: Include <stdbool.h>.
49877         (close_stdout_set_ignore_EPIPE): New declaration.
49878         * lib/closeout.c: Include <stdbool.h>.
49879         (ignore_EPIPE): New variable.
49880         (close_stdout_set_ignore_EPIPE): New function.
49881         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
49882         * lib/close-stream.c (close_stream): Mention the possible EPIPE
49883         failure.
49884         * modules/closeout (Depends-on): Add stdbool.
49885
49886 2008-10-05  Bruno Haible  <bruno@clisp.org>
49887
49888         * modules/accept: New file.
49889         * modules/bind: New file.
49890         * modules/connect: New file.
49891         * modules/getpeername: New file.
49892         * modules/getsockname: New file.
49893         * modules/getsockopt: New file.
49894         * modules/listen: New file.
49895         * modules/recv: New file.
49896         * modules/recvfrom: New file.
49897         * modules/send: New file.
49898         * modules/sendto: New file.
49899         * modules/setsockopt: New file.
49900         * modules/socket: New file.
49901         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
49902         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
49903         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
49904         the particular module is requested. Add a link warning when the
49905         particular module is not requested.
49906         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
49907         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
49908         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
49909         the particular module is requested.
49910         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
49911         gl_SYS_SOCKET_H_DEFAULTS): New macros.
49912         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
49913         * modules/sys_socket (Depends-on): Add link-warning.
49914         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
49915         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
49916         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
49917         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
49918         GL_LINK_WARNING.
49919         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
49920         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
49921         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
49922         * doc/posix-functions/getpeername.texi: Mention the new module
49923         'getpeername'.
49924         * doc/posix-functions/getsockname.texi: Mention the new module
49925         'getsockname'.
49926         * doc/posix-functions/getsockopt.texi: Mention the new module
49927         'getsockopt'.
49928         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
49929         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
49930         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
49931         * doc/posix-functions/send.texi: Mention the new module 'send'.
49932         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
49933         * doc/posix-functions/setsockopt.texi: Mention the new module
49934         'setsockopt'.
49935         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
49936         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
49937         listen, connect, accept.
49938         * modules/select-tests (Depends-on): Likewise.
49939
49940 2008-10-05  Bruno Haible  <bruno@clisp.org>
49941
49942         * lib/winsock.c (strerror): Remove unused #undef.
49943         (rpl_close): Remove unused local variable.
49944
49945         * modules/sys_socket (Depends-on); Add errno.
49946
49947 2008-10-05  Bruno Haible  <bruno@clisp.org>
49948
49949         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
49950         (select): Add a link warning when the 'select' module is not used.
49951         * modules/sys_select (Depends-on): Add link-warning.
49952         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
49953         Suggested by Paolo Bonzini.
49954
49955 2008-10-05  Jim Meyering  <meyering@redhat.com>
49956
49957         bootstrap: check for LT_INIT more portably
49958         * build-aux/bootstrap: Avoid using grep -E, since it's not
49959         portable enough.  Suggestion from Bruno Haible.
49960
49961 2008-10-05  Bruno Haible  <bruno@clisp.org>
49962
49963         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
49964         as being fixed by gnulib.
49965
49966 2008-10-05  Bruno Haible  <bruno@clisp.org>
49967
49968         * modules/select-tests: New file, mostly copied from
49969         modules/sys_select-tests.
49970         * tests/test-select.c: New file, mostly copied from
49971         tests/test-sys_select.c.
49972         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
49973         * modules/sys_select-tests (Depends-on): Remove all dependencies.
49974         (Makefile.am): Remove test_sys_select_LDADD.
49975
49976         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
49977         to an undefined symbol, for an error message.
49978         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
49979         (gl_SYS_SELECT_H_DEFAULTS): New macro.
49980         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
49981         winsock-select.c here.
49982         * modules/sys_select (Files): Remove lib/winsock-select.c.
49983         (Depends-on): Remove alloca.
49984         (Makefile.am): Substitute GNULIB_SELECT.
49985         * modules/select: New file.
49986         * doc/posix-functions/select.texi: Update.
49987
49988 2008-10-05  Bruno Haible  <bruno@clisp.org>
49989
49990         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
49991         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
49992         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
49993         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
49994         getdtablesize.
49995         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
49996         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
49997
49998 2008-10-05  Bruno Haible  <bruno@clisp.org>
49999
50000         * modules/getdtablesize-tests: New file.
50001         * tests/test-getdtablesize.c: New file.
50002
50003         New module 'getdtablesize'.
50004         * lib/unistd.in.h (getdtablesize): New declaration.
50005         * lib/getdtablesize.c: New file.
50006         * m4/getdtablesize.m4: New file.
50007         * modules/getdtablesize: New file.
50008         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50009         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
50010         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
50011         HAVE_GETDTABLESIZE.
50012         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
50013
50014 2008-10-05  Bruno Haible  <bruno@clisp.org>
50015
50016         * modules/sched (Makefile.am): Fix typo.
50017         Reported by Simon Josefsson.
50018
50019 2008-10-05  Jim Meyering  <meyering@redhat.com>
50020
50021         bootstrap: check for LT_INIT, too
50022         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
50023         are deprecated.  Suggestion from Ralf Wildenhues.
50024
50025 2008-10-05  Bruno Haible  <bruno@clisp.org>
50026
50027         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
50028         overriding them by ours.
50029         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
50030
50031 2008-10-05  Jim Meyering  <meyering@redhat.com>
50032
50033         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
50034         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
50035         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
50036
50037 2008-10-04  Bruno Haible  <bruno@clisp.org>
50038
50039         * modules/dup2 (License): Change to LGPLv2+.
50040         * modules/sleep (License): Likewise.
50041         * modules/perror (License): Likewise.
50042         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
50043         Blake.
50044         * modules/signal (License): Likewise.
50045         * modules/sigprocmask (License): Likewise.
50046         * modules/raise (License): Change to LGPLv2+, with approval by Jim
50047         Meyering.
50048
50049 2008-10-04  Bruno Haible  <bruno@clisp.org>
50050
50051         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
50052         Reported by Rainer Tammer <tammer@tammer.net>.
50053
50054 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
50055             Bruno Haible  <bruno@clisp.org>
50056
50057         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
50058         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
50059         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
50060
50061 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
50062
50063         filevercmp: new module
50064         * lib/filevercmp.h: New function filevercmp comparing version strings.
50065         * lib/filevercmp.c: Implementation of filevercmp function.
50066         * modules/filevercmp: Module metadata.
50067         * tests/test-filevercmp.c: Unit test for new module.
50068         * modules/filevercmp-tests: Unit test metadata.
50069         * MODULES.html.sh: Add filevercmp module.
50070
50071 2008-10-03  Bruno Haible  <bruno@clisp.org>
50072
50073         * lib/c-ctype.h: Add comment.
50074         Reported by Jim Meyering.
50075
50076 2008-10-02  Bruno Haible  <bruno@clisp.org>
50077
50078         * modules/posix_spawn-internal (Depends-on): Add 'open'.
50079
50080 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50081
50082         * build-aux/bootstrap: Allow renaming bootstrap, and change the
50083         name of bootstrap.conf accordingly.
50084
50085 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50086
50087         * build-aux/bootstrap: Install git-merge-changelog configuration
50088         items into .gitconfig if needed.
50089
50090 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
50091
50092         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
50093         git repository, and initialize/update it accordingly.
50094
50095 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
50096
50097         * modules/fsync-tests: New file.
50098         * tests/test-fsync.c: New file.
50099
50100         New module 'fsync'.
50101         * lib/fsync.c: New file.
50102         * m4/fsync.m4: New file.
50103         * modules/fsync: New file.
50104         * lib/unistd.in.h (fsync): New declaration.
50105         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
50106         GNULIB_FSYNC and HAVE_FSYNC.
50107         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
50108         * MODULES.html.sh (posix_functions): Add fsync.
50109         * doc/posix-functions/fsync.texi: Mention the new module.
50110
50111 2008-10-02  Jim Meyering  <meyering@redhat.com>
50112
50113         fts.c: sync with similar code from coreutils' remove.c
50114         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
50115         Guard also with "#if defined __linux__", since for now at least,
50116         this code is Linux-kernel-specific.
50117
50118 2008-10-02  Jim Meyering  <meyering@redhat.com>
50119
50120         fts: bug fixes
50121         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
50122         Include <sys/vfs.h>, not <sys/statfs.h>.
50123
50124         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
50125         Include <sys/vfs.h>, not <sys/statfs.h>.
50126
50127 2008-10-01  Bruno Haible  <bruno@clisp.org>
50128
50129         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
50130         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
50131         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
50132         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
50133         * doc/posix-functions/posix_spawnp.texi: Likewise.
50134         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
50135         whether posix_spawn actually works.
50136         * m4/pipe.m4 (gl_PIPE): Likewise.
50137         * modules/execute (Files): Add m4/posix_spawn.m4.
50138         * modules/pipe (Files): Add m4/posix_spawn.m4.
50139         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
50140
50141 2008-10-01  Jim Meyering  <meyering@redhat.com>
50142
50143         remove trailing spaces
50144         * NEWS: Likewise.
50145         * lib/poll.c (poll): Likewise.
50146         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
50147         * lib/winsock.c (rpl_close): Likewise.
50148         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
50149         * modules/yield: Likewise.
50150         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
50151         * tests/test-sys_select.c (connect_to_socket): Likewise.
50152
50153         fts.c: adjust a new interface to be more generally useful
50154         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
50155         (fts_build): Adjust caller.
50156
50157 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50158
50159         * modules/cond-tests: New file.
50160         * tests/test-cond.c: New file.
50161
50162 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50163             Bruno Haible  <bruno@clisp.org>
50164
50165         * modules/cond (Dependencies): Add errno, time.
50166         * lib/glthread/cond.h: Include <time.h>.
50167         (gl_cond_define, gl_cond_define_initialized): Use the same definition
50168         across platforms.
50169
50170 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50171             Bruno Haible  <bruno@clisp.org>
50172
50173         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
50174
50175 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50176             Bruno Haible  <bruno@clisp.org>
50177
50178         * modules/tls-tests (Depends-on): Add thread, yield.
50179         (configure.ac): Remove all checks.
50180         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
50181         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50182         gl_thread_self): Remove definitions. Include glthread/thread.h and
50183         glthread/yield.h instead.
50184         (test_tls): Pass an additional NULL argument to gl_thread_join.
50185
50186 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50187             Bruno Haible  <bruno@clisp.org>
50188
50189         * modules/lock-tests (Depends-on): Add thread, yield.
50190         (configure.ac): Remove all checks.
50191         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
50192         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
50193         gl_thread_self): Remove definitions. Include glthread/thread.h and
50194         glthread/yield.h instead.
50195         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
50196         additional NULL argument to gl_thread_join.
50197
50198 2008-09-30  Bruno Haible  <bruno@clisp.org>
50199
50200         Fix the Win32 implementation of the 'thread' module.
50201         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
50202         pointer type.
50203         (gl_thread_self): Invoke gl_thread_self_func.
50204         (gl_thread_self_func): New declaration.
50205         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
50206         (do_init_self_key, init_self_key): New functions.
50207         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
50208         Remove some fields.
50209         (running_threads, running_lock): Remove variables.
50210         (get_current_thread_handle): New function.
50211         (gl_thread_self_func, wrapper_func, glthread_create_func,
50212         glthread_join_func, gl_thread_exit_func): Largely rewritten and
50213         simplified.
50214
50215 2008-09-30  Bruno Haible  <bruno@clisp.org>
50216
50217         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
50218         files.
50219
50220 2008-09-30  Jim Meyering  <meyering@redhat.com>
50221
50222         fts.m4: correct the test for statfs.f_type
50223         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
50224         when checking for statfs.f_type.
50225
50226 2008-09-15  Simon Josefsson  <simon@josefsson.org>
50227
50228         tests: avoid some compiler warnings
50229         * tests/test-memchr.c (main): Pass NULL indirectly.
50230         * tests/test-getdate.c (main): Remove unused variable 'ret'.
50231
50232 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
50233
50234         getdate.y: disallow countable dayshifts like "4 yesterday ago"
50235         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
50236         exactly specified dayshifts.
50237         (dayshift): New rule.
50238         (rel): Add dayshift.
50239         (relative_time_table) [tomorrow, yesterday, today, now]:
50240         Use tDAY_SHIFT in place of tDAY_UNIT.
50241         * tests/test-getdate.c: Add tests for now-disallowed countable
50242         dayshifts, e.g., "4 yesterday ago".
50243
50244 2008-09-29  Bruno Haible  <bruno@clisp.org>
50245
50246         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
50247         * tests/test-posix_spawn1.in.sh: Renamed from
50248         tests/test-posix_spawn.in.sh.
50249         * tests/test-posix_spawn2.c: New file.
50250         * tests/test-posix_spawn2.in.sh: New file.
50251         * modules/posix_spawnp-tests (Files): Update.
50252         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
50253
50254 2008-09-29  Bruno Haible  <bruno@clisp.org>
50255
50256         Propagate effects of putenv/setenv/unsetenv to child processes.
50257         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
50258         * lib/pipe.c (create_pipe): Likewise.
50259
50260 2008-09-29  Bruno Haible  <bruno@clisp.org>
50261
50262         Enable use of shell scripts as executables in mingw.
50263         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
50264         run the program as a shell script.
50265         * lib/pipe.c (create_pipe): Likewise.
50266         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
50267         resulting array.
50268
50269 2008-09-29  Eric Blake  <ebb9@byu.net>
50270
50271         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
50272
50273 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
50274
50275         * doc/posix-functions/accept.texi: Update mingw problems.
50276         * doc/posix-functions/bind.texi: Update mingw problems.
50277         * doc/posix-functions/close.texi: Update mingw problems.
50278         * doc/posix-functions/connect.texi: Update mingw problems.
50279         * doc/posix-functions/getpeername.texi: Update mingw problems.
50280         * doc/posix-functions/getsockname.texi: Update mingw problems.
50281         * doc/posix-functions/getsockopt.texi: Update mingw problems.
50282         * doc/posix-functions/ioctl.texi: Update mingw problems.
50283         * doc/posix-functions/listen.texi: Update mingw problems.
50284         * doc/posix-functions/recv.texi: Update mingw problems.
50285         * doc/posix-functions/recvfrom.texi: Update mingw problems.
50286         * doc/posix-functions/select.texi: Update mingw problems.
50287         * doc/posix-functions/send.texi: Update mingw problems.
50288         * doc/posix-functions/sendto.texi: Update mingw problems.
50289         * doc/posix-functions/setsockopt.texi: Update mingw problems.
50290         * doc/posix-functions/socket.texi: Update mingw problems.
50291
50292 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
50293             Bruno Haible  <bruno@clisp.org>
50294
50295         * lib/sys_select.in.h: Include sys/time.h.
50296         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
50297         * modules/sys_select: Depend on sys_time.
50298         * tests/test-sys_select.c: Test that sys/select.h defines struct
50299         timeval fully.
50300
50301 2008-09-29  Bruno Haible  <bruno@clisp.org>
50302
50303         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
50304         * lib/sys_select.in.h: Likewise.
50305
50306 2008-09-29  Bruno Haible  <bruno@clisp.org>
50307
50308         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
50309
50310 2008-09-29  Bruno Haible  <bruno@clisp.org>
50311
50312         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
50313         Set LIBSOCKET instead of augmenting LIBS.
50314         * modules/sockets (Link): New section.
50315         * modules/sockets-tests (test_sockets_LDADD): New variable.
50316         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
50317         * modules/poll-tests (test_poll_LDADD): New variable.
50318         * NEWS: Document the change.
50319
50320 2008-09-29  Bruno Haible  <bruno@clisp.org>
50321
50322         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
50323         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
50324         ARPA_INET_H directly.
50325         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
50326
50327 2008-09-28  Bruno Haible  <bruno@clisp.org>
50328
50329         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
50330         from gl_HEADER_SYS_SOCKET.
50331         (gl_HEADER_SYS_SOCKET): Invoke it.
50332         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
50333
50334 2008-09-28  Bruno Haible  <bruno@clisp.org>
50335
50336         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
50337         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
50338         Needed on OSF/1 4.0.
50339
50340 2008-09-28  Bruno Haible  <bruno@clisp.org>
50341
50342         Override open more carefully.
50343         * lib/open.c (orig_open): New function.
50344         (rpl_open): Use orig_open instead of open.
50345         * lib/fcntl.in.h: Add special invocation convention.
50346         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
50347         (gl_FUNC_OPEN): Invoke it.
50348
50349         Override freopen more carefully.
50350         * lib/freopen.c (orig_freopen): New function.
50351         (rpl_freopen): Use orig_freopen instead of freopen.
50352         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
50353         (gl_FUNC_FREOPEN): Invoke it.
50354
50355         Override fopen more carefully.
50356         * lib/fopen.c (orig_fopen): New function.
50357         (rpl_fopen): Use orig_fopen instead of fopen.
50358         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
50359         (gl_FUNC_FOPEN): Invoke it.
50360         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
50361
50362 2008-09-28  Bruno Haible  <bruno@clisp.org>
50363
50364         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
50365         SIGPIPE.
50366
50367 2008-09-28  Bruno Haible  <bruno@clisp.org>
50368
50369         * tests/test-sigaction.c (handler, main): Disable the check whether
50370         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
50371         glibc systems with LinuxThreads.
50372
50373 2008-09-28  Bruno Haible  <bruno@clisp.org>
50374
50375         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
50376
50377         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
50378         with AIX xlc.
50379         * lib/fcntl.in.h (open): Likewise.
50380         Reported by Rainer Tammer <tammer@tammer.net>.
50381
50382 2008-09-28  Bruno Haible  <bruno@clisp.org>
50383
50384         * modules/posix_spawnp-tests: New file.
50385         * tests/test-posix_spawn.c: New file.
50386         * tests/test-posix_spawn.in.sh: New file.
50387
50388         New module 'posix_spawnp'.
50389         * modules/posix_spawnp: New file.
50390         * lib/spawnp.c: New file, from GNU libc with modifications.
50391         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
50392
50393         New module 'posix_spawn'.
50394         * modules/posix_spawn: New file.
50395         * lib/spawn.c: New file, from GNU libc with modifications.
50396         * doc/posix-functions/posix_spawn.texi: Mention the new module.
50397
50398         New module 'posix_spawnattr_destroy'.
50399         * modules/posix_spawnattr_destroy: New file.
50400         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
50401         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
50402         module.
50403
50404         New module 'posix_spawnattr_setsigmask'.
50405         * modules/posix_spawnattr_setsigmask: New file.
50406         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
50407         modifications.
50408         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
50409         new module.
50410
50411         New module 'posix_spawnattr_getsigmask'.
50412         * modules/posix_spawnattr_getsigmask: New file.
50413         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
50414         modifications.
50415         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
50416         new module.
50417
50418         New module 'posix_spawnattr_setsigdefault'.
50419         * modules/posix_spawnattr_setsigdefault: New file.
50420         * lib/spawnattr_setdefault.c: New file, from GNU libc with
50421         modifications.
50422         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
50423         new module.
50424
50425         New module 'posix_spawnattr_getsigdefault'.
50426         * modules/posix_spawnattr_getsigdefault: New file.
50427         * lib/spawnattr_getdefault.c: New file, from GNU libc with
50428         modifications.
50429         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
50430         new module.
50431
50432         New module 'posix_spawnattr_setschedpolicy'.
50433         * modules/posix_spawnattr_setschedpolicy: New file.
50434         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
50435         modifications.
50436         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
50437         new module.
50438
50439         New module 'posix_spawnattr_getschedpolicy'.
50440         * modules/posix_spawnattr_getschedpolicy: New file.
50441         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
50442         modifications.
50443         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
50444         new module.
50445
50446         New module 'posix_spawnattr_setschedparam'.
50447         * modules/posix_spawnattr_setschedparam: New file.
50448         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
50449         modifications.
50450         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
50451         new module.
50452
50453         New module 'posix_spawnattr_getschedparam'.
50454         * modules/posix_spawnattr_getschedparam: New file.
50455         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
50456         modifications.
50457         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
50458         new module.
50459
50460         New module 'posix_spawnattr_setpgroup'.
50461         * modules/posix_spawnattr_setpgroup: New file.
50462         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
50463         modifications.
50464         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
50465         module.
50466
50467         New module 'posix_spawnattr_getpgroup'.
50468         * modules/posix_spawnattr_getpgroup: New file.
50469         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
50470         modifications.
50471         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
50472         module.
50473
50474         New module 'posix_spawnattr_setflags'.
50475         * modules/posix_spawnattr_setflags: New file.
50476         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
50477         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
50478         module.
50479
50480         New module 'posix_spawnattr_getflags'.
50481         * modules/posix_spawnattr_getflags: New file.
50482         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
50483         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
50484         module.
50485
50486         New module 'posix_spawnattr_init'.
50487         * modules/posix_spawnattr_init: New file.
50488         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
50489         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
50490         module.
50491
50492         New module 'posix_spawn_file_actions_destroy'.
50493         * modules/posix_spawn_file_actions_destroy: New file.
50494         * lib/spawn_faction_destroy.c: New file, from GNU libc with
50495         modifications.
50496         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
50497         the new module.
50498
50499         New module 'posix_spawn_file_actions_addopen'.
50500         * modules/posix_spawn_file_actions_addopen: New file.
50501         * lib/spawn_faction_addopen.c: New file, from GNU libc with
50502         modifications.
50503         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
50504         the new module.
50505
50506         New module 'posix_spawn_file_actions_adddup2'.
50507         * modules/posix_spawn_file_actions_adddup2: New file.
50508         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
50509         modifications.
50510         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
50511         the new module.
50512
50513         New module 'posix_spawn_file_actions_addclose'.
50514         * modules/posix_spawn_file_actions_addclose: New file.
50515         * lib/spawn_faction_addclose.c: New file, from GNU libc with
50516         modifications.
50517         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
50518         the new module.
50519
50520         New module 'posix_spawn_file_actions_init'.
50521         * modules/posix_spawn_file_actions_init: New file.
50522         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
50523         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
50524         new module.
50525
50526         New module 'posix_spawn-internal'.
50527         * modules/posix_spawn-internal: New file.
50528         * lib/spawn_int.h: New file, from GNU libc with modifications.
50529         * lib/spawni.c: New file, from GNU libc with modifications.
50530         * m4/posix_spawn.m4: New file.
50531
50532         New module 'spawn'.
50533         * modules/spawn: New file.
50534         * lib/spawn.in.h: New file, from GNU libc with modifications.
50535         * m4/spawn_h.m4: New file.
50536         * doc/posix-headers/spawn.texi: Mention the new module.
50537
50538 2008-09-28  Bruno Haible  <bruno@clisp.org>
50539
50540         * modules/sched-tests: New file.
50541         * tests/test-sched.c: New file.
50542
50543         New module 'sched'.
50544         * modules/sched: New file.
50545         * lib/sched.in.h: New file.
50546         * m4/sched_h.m4: New file.
50547         * doc/posix-headers/sched.texi: Mention the new module.
50548
50549 2008-09-27  Eric Blake  <ebb9@byu.net>
50550
50551         Fix previous patch, and tweak references to $0.
50552         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
50553         (func_version, func_gnulib_dir): Don't call this program
50554         gnulib-tool.
50555         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
50556         with using $0 in function.
50557         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
50558         (func_fatal_error): Reuse the name the user invoked us with.
50559
50560 2008-09-27  Bruno Haible  <bruno@clisp.org>
50561
50562         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
50563         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
50564         (gl_ICONV_H): Not here.
50565         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
50566         instead of assigning ICONV_H directly.
50567
50568         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
50569         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
50570         WCHAR_H directly.
50571
50572 2008-09-27  Bruno Haible  <bruno@clisp.org>
50573
50574         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
50575         * modules/arpa_inet (Depends-on): Add link-warning.
50576         (Makefile.am): Insert the definition of GL_LINK-WARNING.
50577         * modules/unistd (Makefile.am): Likewise.
50578
50579 2008-09-26  Bruno Haible  <bruno@clisp.org>
50580
50581         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
50582         variables.
50583         (func_version): Essentially copied from gnulib-tool.
50584         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
50585         func_readlink): Copied from gnulib-tool.
50586
50587 2008-09-26  Bruno Haible  <bruno@clisp.org>
50588
50589         * gnulib-tool (func_version): Change directory to $gnulib_dir before
50590         invoking git-version-gen.
50591
50592 2008-09-26  Bruno Haible  <bruno@clisp.org>
50593
50594         * posix-modules: Update to directory names changed on 2008-01-19.
50595         Remove commas in output before splitting into words. No more need to
50596         avoid 'ftruncate' since 2007-02-19.
50597
50598 2008-09-26  Bruno Haible  <bruno@clisp.org>
50599
50600         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
50601
50602 2008-09-26  Bruno Haible  <bruno@clisp.org>
50603
50604         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
50605         * modules/fwriteerror (Depends-on): Add errno.
50606
50607 2008-09-26  Bruno Haible  <bruno@clisp.org>
50608
50609         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
50610         * tests/test-vc-list-files-cvs.sh: Likewise.
50611
50612 2008-09-26  Bruno Haible  <bruno@clisp.org>
50613
50614         * doc/posix-headers/sys_resource.texi: Reorder items.
50615
50616 2008-09-26  Jim Meyering  <meyering@redhat.com>
50617
50618         fts: tweak inode comparison function
50619         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
50620         inode numbers, as documented.
50621
50622         fts: sort dirent entries on inode number before traversing
50623         This avoids a quadratic, seek-related performance penalty when
50624         operating on a directory containing many entries (measurable at 10k;
50625         3.5 hours at 2 million entries with a cold cache) on certain types
50626         of file systems, including ext3 and ext4, but not tmpfs.
50627         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
50628         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
50629         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
50630         (fs_handles_readdir_ordered_dirents_efficiently): New function.
50631         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
50632         (fts_build): Set the stat.st_ino member from D_INO.
50633         If it is likely to be useful, sort dirent entries on inode number.
50634
50635         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
50636         and the struct statfs.f_type member.
50637         * modules/fts (Depends-on): Add d-ino.
50638
50639 2008-09-26  Bruno Haible  <bruno@clisp.org>
50640
50641         * modules/sigpipe-die (Depends-on): Add sigpipe.
50642
50643         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
50644         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
50645         and GNULIB_STDIO_H_SIGPIPE are set.
50646         * lib/stdio-write.c: New file.
50647         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
50648         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50649         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50650         REPLACE_STDIO_WRITE_FUNCS.
50651         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
50652         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50653         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50654         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
50655         * modules/stdio (Files): Add lib/stdio-write.c.
50656         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
50657         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
50658         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
50659         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
50660         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
50661         REPLACE_FPRINTF_POSIX.
50662         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
50663         REPLACE_PRINTF_POSIX.
50664         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
50665         REPLACE_VFPRINTF_POSIX.
50666         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
50667         REPLACE_VPRINTF_POSIX.
50668         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
50669         SIGPIPE issue.
50670         * doc/posix-functions/fputc.texi: Likewise.
50671         * doc/posix-functions/fputs.texi: Likewise.
50672         * doc/posix-functions/fwrite.texi: Likewise.
50673         * doc/posix-functions/printf.texi: Likewise.
50674         * doc/posix-functions/putc.texi: Likewise.
50675         * doc/posix-functions/putchar.texi: Likewise.
50676         * doc/posix-functions/puts.texi: Likewise.
50677         * doc/posix-functions/vfprintf.texi: Likewise.
50678         * doc/posix-functions/vprintf.texi: Likewise.
50679
50680         * modules/safe-write (Depends-on): Add write.
50681
50682         * modules/sigpipe-tests: New file.
50683         * tests/test-sigpipe.c: New file.
50684         * tests/test-sigpipe.sh: New file.
50685
50686         * modules/write: New file.
50687         * lib/unistd.in.h: Include <sys/types.h>.
50688         (write): New declaration.
50689         * lib/write.c: New file.
50690         * m4/write.m4: New file.
50691         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
50692         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
50693         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
50694         GNULIB_WRITE, REPLACE_WRITE.
50695         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
50696         and the SIGPIPE issue.
50697
50698         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
50699         (raise): New declaration.
50700         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
50701         (ext_signal): New function.
50702         (rpl_raise): New function.
50703         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
50704         GNULIB_SIGNAL_H_SIGPIPE.
50705         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
50706         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
50707
50708         * modules/sigpipe: New file.
50709         * m4/sigpipe.m4: New file.
50710
50711 2008-09-25  Derek Price  <derek@ximbiot.com>
50712             Bruno Haible  <bruno@clisp.org>
50713
50714         * gnulib-tool (func_import): Report all license incompatibilities, not
50715         just the first one.
50716
50717 2008-09-25  Bruno Haible  <bruno@clisp.org>
50718
50719         * gnulib-tool (func_import): When computing the edits, consider not
50720         only the Makefile.ams that exist but also those that will be generated.
50721
50722 2008-09-25  Simon Josefsson  <simon@josefsson.org>
50723
50724         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
50725         fixes gnulib-tool --test warning about duplicate dependency.
50726
50727 2008-09-25  Bruno Haible  <bruno@clisp.org>
50728
50729         * gnulib-tool: Don't ask the user to perform edits in the generated
50730         Makefile.ams.
50731         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
50732         apply to the Makefile.am being generated.
50733         (func_emit_tests_Makefile_am): Execute edits that apply to the
50734         Makefile.am being generated.
50735         (func_import): Setup list of Makefile.am edits before emitting the
50736         Makefile.ams, not at the end.
50737         (func_create_testdir): Update.
50738         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50739
50740 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
50741
50742         * gnulib-tool (func_import): Store the --tests-base option in the
50743         comment in gnulib-cache.m4.
50744
50745 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
50746
50747         * NEWS: Document increased portability that sys_select now provides.
50748
50749         * lib/sys_select.in.h: Install select wrapper.
50750         * lib/sys_socket.in.h: Use more descriptive name when there is no
50751         select wrapper.
50752         * lib/winsock-select.c: New.
50753         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
50754         Require gl_HEADER_SYS_SOCKET.
50755         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
50756         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
50757         * tests/test-sys_select.c: Add functional tests.
50758
50759 2008-09-24  Eric Blake  <ebb9@byu.net>
50760
50761         open, fopen: close fd leak in last patch
50762         * lib/open.c (rpl_open): Close fd before returning error.
50763         * lib/fopen.c (rpl_fopen): Close fd before returning error.
50764         * doc/posix-functions/open.texi (open): Document that Irix also
50765         has the bug.
50766         * doc/posix-functions/fopen.texi (fopen): Likewise.
50767         Reported by Paolo Bonzini.
50768
50769 2008-09-24  Bruno Haible  <bruno@clisp.org>
50770
50771         Ensure that a filename ending in a slash cannot be used to access a
50772         non-directory.
50773         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
50774         to check whether it's really a directory.
50775         * lib/fopen.c: Include fcntl.h, unistd.h.
50776         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
50777         and fdopen().
50778         * modules/fopen (Depends-on): Add unistd.
50779         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
50780         * tests/test-fopen.c (main): Likewise.
50781         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
50782         * doc/posix-functions/fopen.texi: Likewise.
50783         Reported by Eric Blake.
50784
50785 2008-09-23  Eric Blake  <ebb9@byu.net>
50786
50787         c-stack: avoid compiler optimizations when provoking overflow
50788         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
50789         recursion harder to optimize, to ensure a stack overflow occurs.
50790         * tests/test-c-stack.c (recurse): Likewise.
50791         Borrowed from libsigsegv.
50792
50793         c-stack: work around Irix sigaltstack bug
50794         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
50795         whether sigaltstack uses wrong end of stack_t (copied in part from
50796         libsigsegv).
50797         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
50798         Irix bug, without requiring an over-allocation.
50799         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
50800         bug.
50801
50802         fopen: document mingw bug on directories
50803         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
50804         not allowing a stream visiting a directory, even though reading
50805         from such a stream is not portable.
50806
50807 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50808
50809         * lib/poll.c: Rewrite.
50810         * modules/poll: Depend on alloca.
50811
50812 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50813
50814         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
50815         instead define prototypes for a full set of wrappers.  Ensure
50816         that Cygwin does not use the compatibility code, which is only
50817         for MinGW.
50818         * lib/winsock.c: New.
50819         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
50820         * modules/sys_socket: Add lib/winsock.c.
50821
50822         * modules/poll-tests: Add errno and perror.
50823         * tests/test-poll.c: Use ioctl, not ioctlsocket.
50824
50825 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
50826
50827         * tests/test-poll.c: Downgrade minimum needed Winsock version.
50828
50829 2008-09-23  Bruno Haible  <bruno@clisp.org>
50830
50831         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
50832         * doc/glibc-functions/*: Likewise.
50833
50834 2008-09-23  Simon Josefsson  <simon@josefsson.org>
50835
50836         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
50837         success.
50838
50839 2008-09-22  Eric Blake  <ebb9@byu.net>
50840             Bruno Haible  <bruno@clisp.org>
50841
50842         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
50843         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
50844         supply %A but mishandle pseudo-NaN.
50845         Reported by Simon Josefsson.
50846
50847 2008-09-21  Bruno Haible  <bruno@clisp.org>
50848
50849         * tests/test-lock.c (main): Tweak skip message.
50850         * tests/test-tls.c (main): Likewise.
50851
50852 2008-09-21  Bruno Haible  <bruno@clisp.org>
50853
50854         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
50855         whether 'struct sigaction' has sa_sigaction here...
50856         (gl_PREREQ_SIG_HANDLER_H): ... not here.
50857         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
50858
50859 2008-09-21  Bruno Haible  <bruno@clisp.org>
50860
50861         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
50862         section.
50863         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
50864         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
50865         the new section.
50866         (Support for obsolete systems lacking POSIX:2001): New section.
50867         (String handling <string.h>): Move strdup to the new section.
50868         Suggested by Simon Josefsson and Paolo Bonzini.
50869
50870 2008-09-21  Bruno Haible  <bruno@clisp.org>
50871
50872         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
50873         exponents in %e and %g results on 'long double'. Needed for mingw's
50874         improved *printf functions.
50875         * tests/test-vasprintf-posix.c (test_function): Likewise.
50876         * tests/test-snprintf-posix.h (test_function): Likewise.
50877         * tests/test-sprintf-posix.h (test_function): Likewise.
50878         Reported by Eric Blake.
50879
50880 2008-09-21  Bruno Haible  <bruno@clisp.org>
50881
50882         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
50883         * tests/test-sprintf-posix.h (test_function): Likewise.
50884
50885 2008-09-21  Bruno Haible  <bruno@clisp.org>
50886
50887         * modules/getpass (Depends-on): Add strdup-posix.
50888
50889         New module 'strdup-posix'.
50890         * modules/strdup-posix: New file.
50891         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
50892         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
50893         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
50894         REPLACE_STRDUP.
50895         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
50896         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
50897         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
50898         strdup-posix.
50899
50900         * modules/strdup (Depends-on): Remove malloc-posix.
50901
50902 2008-09-20  Bruno Haible  <bruno@clisp.org>
50903
50904         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
50905         Wildenhues.
50906
50907 2008-09-20  Bruno Haible  <bruno@clisp.org>
50908
50909         Ensure that wint_t gets defined on IRIX 5.3.
50910         * lib/wchar.in.h (wint_t): Define if not defined by the system.
50911         * lib/wctype.in.h (wint_t): Likewise.
50912         (__wctype_wint_t): Remove type.
50913         (isw*): Use wint_t instead of __wctype_wint_t.
50914         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
50915         * modules/wchar (Files): Add m4/wint_t.m4.
50916         (Makefile.am): Substitute HAVE_WINT_T.
50917         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
50918         * tests/test-wctype.c: Check that wint_t is defined.
50919         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
50920         * doc/posix-headers/wctype.texi: Likewise.
50921         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50922
50923 2008-09-18  Bruno Haible  <bruno@clisp.org>
50924
50925         * gnulib-tool (func_exit): Update comment.
50926
50927 2008-09-18  Simon Josefsson  <simon@josefsson.org>
50928
50929         * modules/getaddrinfo (Depends-on): Remove strdup, this module
50930         assumes strdup exists and does not depend on strdup to return
50931         ENOMEM on out of memory conditions.
50932
50933 2008-09-18  Bruno Haible  <bruno@clisp.org>
50934
50935         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
50936         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
50937         digits for the exponent.
50938
50939 2008-09-18  Jim Meyering  <meyering@redhat.com>
50940             Bruno Haible  <bruno@clisp.org>
50941
50942         * lib/vasnprintf.c (decimal_point_char): Define also if
50943         NEED_PRINTF_INFINITE_LONG_DOUBLE.
50944
50945 2008-09-16  Bruno Haible  <bruno@clisp.org>
50946         and Eric Blake  <ebb9@byu.net>
50947
50948         vasnprintf: support Irix 5.3
50949         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
50950         that mishandle long double infinity.
50951         Reported by Tom G. Christensen.
50952
50953 2008-09-16  Bruno Haible  <bruno@clisp.org>
50954
50955         * doc/glibc-functions/scandir.texi: Mention the function is missing on
50956         Solaris 9.
50957         * doc/glibc-functions/alphasort.texi: Likewise.
50958         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
50959
50960 2008-09-16  Jim Meyering  <meyering@redhat.com>
50961
50962         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
50963         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
50964         a umask modification leak out of a subshell.  Otherwise, the
50965         opensolaris /bin/sh would be accepted and thus cause unwarranted
50966         failures in the coreutils test suite.
50967
50968 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
50969
50970         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
50971         to succeed.
50972
50973 2008-09-16  Jim Meyering  <meyering@redhat.com>
50974
50975         avoid spurious test failure when library is built without ACL support
50976         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
50977         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
50978         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
50979         * tests/test-copy-acl.sh: Likewise.
50980
50981 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50982
50983         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
50984         based on character occurrence counts.
50985
50986 2008-09-15  Eric Blake  <ebb9@byu.net>
50987
50988         tests: avoid some compiler warnings
50989         * tests/test-memchr.c (main): Pass NULL indirectly.
50990         * tests/test-closein.c (main): Avoid unused variable.
50991
50992 2008-09-15  Bruno Haible  <bruno@clisp.org>
50993
50994         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
50995         are missing on OpenBSD 4.0 individually.
50996         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
50997
50998 2008-09-15  Bruno Haible  <bruno@clisp.org>
50999
51000         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
51001         * doc/posix-functions/strerror.texi: Mention also Cygwin.
51002         * doc/posix-functions/perror.texi: Likewise.
51003         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
51004         is missing.
51005         Reported by Eric Blake.
51006
51007         * lib/errno.in.h: Use replacement values >= 2000.
51008         Reported by Eric Blake.
51009
51010 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51011
51012         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
51013         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
51014         limit.
51015         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
51016         compareseq was aborted.
51017
51018 2008-09-14  Bruno Haible  <bruno@clisp.org>
51019
51020         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
51021         yvec_edit_count.
51022         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
51023         (fstrcmp_bounded): Simplify result computation accordingly.
51024
51025 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51026
51027         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
51028         (fstrcmp): Define in terms of fstrcmp_bounded.
51029         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
51030         lower_bound argument.
51031         Return quickly if the result is certainly < lower_bound.
51032         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
51033
51034 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51035
51036         * lib/diffseq.h (EARLY_ABORT): New macro.
51037         (compareseq): Change return type to bool. Return true when EARLY_ABORT
51038         evaluates to true.
51039
51040 2008-09-14  Bruno Haible  <bruno@clisp.org>
51041
51042         * modules/perror-tests: New file.
51043         * tests/test-perror.sh: New file.
51044         * tests/test-perror.c: New file.
51045
51046         New module 'perror'.
51047         * lib/stdio.in.h (perror): New declaration.
51048         * lib/perror.c: New file.
51049         * m4/perror.m4: New file.
51050         * modules/perror: New file.
51051         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
51052         * doc/posix-functions/perror.texi: Mention the perror module.
51053         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
51054         REPLACE_PERROR.
51055         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
51056         REPLACE_PERROR.
51057
51058 2008-09-14  Bruno Haible  <bruno@clisp.org>
51059
51060         * modules/stdio (Makefile.am): Reorder to match the order in
51061         lib/stdio.in.h.
51062         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
51063
51064 2008-09-13  Bruno Haible  <bruno@clisp.org>
51065
51066         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
51067
51068 2008-09-13  Bruno Haible  <bruno@clisp.org>
51069
51070         Extend strerror to cover the added errno values.
51071         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
51072         (rpl_strerror): Provide error messages for the added errno values and
51073         for the WSA* values.
51074         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
51075         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
51076         strerror.
51077         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
51078         * modules/strerror (Depends-on): Add errno.
51079         * doc/posix-functions/strerror.texi: Document the change.
51080         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
51081         and EOVERFLOW.
51082
51083 2008-09-13  Bruno Haible  <bruno@clisp.org>
51084
51085         * modules/EOVERFLOW: Remove file.
51086         * m4/eoverflow.m4: Remove file.
51087         * modules/EOVERFLOW-tests: Remove file.
51088         * tests/test-EOVERFLOW.c: Remove file.
51089         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
51090         * modules/ftell (Depends-on): Likewise.
51091         * modules/getdelim (Depends-on): Likewise.
51092         * modules/getugroups (Depends-on): Likewise.
51093         * modules/poll (Depends-on): Likewise.
51094         * modules/snprintf (Depends-on): Likewise.
51095         * modules/sprintf-posix (Depends-on): Likewise.
51096         * modules/vasnprintf (Depends-on): Likewise.
51097         * modules/vasprintf (Depends-on): Likewise.
51098         * modules/vfprintf-posix (Depends-on): Likewise.
51099         * modules/vsnprintf (Depends-on): Likewise.
51100         * modules/vsprintf-posix (Depends-on): Likewise.
51101         * modules/xvasprintf (Depends-on): Likewise.
51102         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
51103         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
51104         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
51105         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
51106         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
51107         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
51108         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
51109         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
51110         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
51111         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
51112         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
51113         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
51114         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
51115         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
51116         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
51117         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
51118         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
51119         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
51120         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
51121         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
51122         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
51123         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
51124         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
51125         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
51126         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
51127         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
51128         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
51129         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
51130         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
51131         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
51132         * MODULES.html.sh: Remove EOVERFLOW.
51133         * NEWS: Mention the change.
51134
51135 2008-09-13  Bruno Haible  <bruno@clisp.org>
51136
51137         * modules/errno-tests: New file.
51138         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
51139
51140         * lib/errno.in.h: New file.
51141         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
51142         * modules/errno: New file.
51143         * doc/posix-headers/errno.texi: Update documentation.
51144         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
51145
51146 2008-09-13  Bruno Haible  <bruno@clisp.org>
51147
51148         * tests/test-poll.c: Use #if for native Windows, rather than testing
51149         __MSVCRT__.
51150
51151 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51152             Bruno Haible  <bruno@clisp.org>
51153
51154         * lib/glob.c: Don't include <pwd.h> on native Windows.
51155         (WINDOWS32): New macro.
51156         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
51157
51158 2008-09-13  Bruno Haible  <bruno@clisp.org>
51159
51160         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
51161         (ETIMEDOUT): Remove macro.
51162         (glthread_cond_timedwait_multithreaded): New declaration.
51163         (glthread_cond_timedwait): Use it.
51164         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
51165         (glthread_cond_timedwait_multithreaded): New function.
51166
51167 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51168
51169         * modules/poll-tests: Do not check for io.h.
51170         * tests/test-poll.c: Check for __MSVCRT__ instead.
51171
51172 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51173
51174         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
51175         * modules/poll-tests: Add inet_pton, stdbool, sockets.
51176         * tests/test-poll.c: Use them.  Use _pipe on Windows.
51177
51178 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
51179
51180         * modules/poll-tests: New.
51181         * tests/test-poll.c: New.
51182
51183 2008-09-12  Eric Blake  <ebb9@byu.net>
51184
51185         frexp: test for NetBSD failure on -0.0
51186         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
51187         not all, bugs from NetBSD 3.0 have been fixed.
51188         * doc/posix-functions/frexp.texi (frexp): Document bug.
51189         Reported by Thomas Klausner.
51190
51191         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
51192         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
51193         literal -0.0.
51194         Reported by Jonathan C. Patschke <jp@centtech.com>.
51195
51196 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51197
51198         * lib/glthread/cond.h: Use dummy implementation also if
51199         USE_WIN32_THREADS.
51200
51201 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51202
51203         * modules/fnmatch-posix (License): Change to LGPLv2+.
51204         * modules/fnmatch-gnu (License): Likewise.
51205
51206 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51207
51208         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
51209
51210 2008-09-11  Jim Meyering  <meyering@redhat.com>
51211
51212         * users.txt: Add gtk-vnc.
51213
51214 2008-09-08  Simon Josefsson  <simon@josefsson.org>
51215
51216         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
51217         rotate amounts.
51218
51219         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
51220         required for 16-bit and 8-bit rotates.
51221         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
51222         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
51223         UINT8_MAX instead of hard-coded constants.
51224         Suggested by Paul Eggert.
51225
51226 2008-09-07  Bruno Haible  <bruno@clisp.org>
51227
51228         * tests/test-striconveh.c (main): Check behaviour when converting from
51229         UTF-7.
51230
51231         Make striconveh work better with stateful encodings.
51232         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
51233         that iconv does not increment the inptr when returning -1/EINVAL.
51234
51235 2008-09-07  Bruno Haible  <bruno@clisp.org>
51236
51237         * build-aux/config.rpath: Update according to libtool-2.2.6.
51238         * build-aux/config.libpath: Likewise.
51239
51240 2008-09-06  Bruno Haible  <bruno@clisp.org>
51241
51242         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
51243         * lib/freadptr.c (freadptr): Likewise.
51244         * lib/freadseek.c (freadptrinc): Likewise.
51245         Reported by Simon Josefsson.
51246
51247 2008-09-06  Bruno Haible  <bruno@clisp.org>
51248
51249         * modules/freadptr (License): Change to LGPLv2+.
51250         * modules/freadseek (License): Likewise.
51251         Suggested by Eric Blake.
51252
51253         * modules/memchr2 (License): Change to LGPLv2+.
51254         Approved by Eric Blake.
51255
51256 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51257             Bruno Haible  <bruno@clisp.org>
51258
51259         Make gnulib-tool work with native 'sed' on AIX.
51260         * gnulib-tool (sed_noop): New variable.
51261         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
51262         func_add_or_update, func_create_testdir): Use it to initialize sed
51263         script variables.
51264         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
51265
51266 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
51267             Bruno Haible  <bruno@clisp.org>
51268
51269         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
51270         also works after #include directives.
51271
51272 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
51273
51274         getdate.y: reject an out-of-range timezone value
51275         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
51276         the range [-24...+24].  When specified with only one or two digits,
51277         * tests/test-getdate.c: Tests for the fix.
51278         * doc/getdate.texi: Document this change.
51279
51280 2008-09-03  Bruno Haible  <bruno@clisp.org>
51281
51282         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
51283
51284 2008-09-02  Simon Josefsson  <simon@josefsson.org>
51285
51286         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
51287         <bruce.korb@gmail.com> with ideas from Ben Pfaff
51288         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
51289         Blake <ebb9@byu.net>.
51290
51291         * tests/test-bitrotate.c: Add more test vectors.
51292
51293 2008-09-02  Eric Blake  <ebb9@byu.net>
51294
51295         vasnprintf-posix: handle large precision via %.*d
51296         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
51297         when handling it ourselves.
51298         * tests/test-vasnprintf-posix.c (test_function): Add test.
51299         * tests/test-snprintf-posix.h (test_function): Likewise.
51300         * tests/test-sprintf-posix.h (test_function): Likewise.
51301         * tests/test-vasprintf-posix.c (test_function): Likewise.
51302         Reported by Alain Guibert.
51303
51304 2008-09-01  Eric Blake  <ebb9@byu.net>
51305
51306         c-stack: make configure-time check more robust
51307         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
51308         successful sigaction call.
51309         Reported by Tom G. Christensen.
51310
51311 2008-09-01  Bruno Haible  <bruno@clisp.org>
51312
51313         New module 'findprog-lgpl'.
51314         * modules/findprog-lgpl: New file.
51315         * lib/findprog-lgpl.c: New file.
51316         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
51317         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
51318         to decide whether to use strdup or xstrdup, concatenated_filename or
51319         xconcatenated_filename.
51320
51321 2008-09-01  Bruno Haible  <bruno@clisp.org>
51322
51323         Split module 'concat-filename' into 'concat-filename' (LGPL) and
51324         'xconcat-filename' (GPL).
51325         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
51326         (License): Change to LGPLv2+.
51327         * modules/xconcat-filename: New file.
51328         * lib/concat-filename.h (concatenated_filename): Change specification.
51329         (xconcatenated_filename): New declaration.
51330         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
51331         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
51332         memory situations.
51333         * lib/xconcat-filename.c: New file.
51334         * NEWS: Mention the change.
51335         * lib/findprog.c: Include concat-filename.h, not filename.h.
51336         (find_in_path): Use xconcatenated_filename instead of
51337         concatenated_filename.
51338         * lib/javacomp.c: Include concat-filename.h, not filename.h.
51339         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
51340         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
51341         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
51342         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
51343         instead of concatenated_filename.
51344         * lib/javaexec.c: Include concat-filename.h, not filename.h.
51345         (execute_java_class): Use xconcatenated_filename instead of
51346         concatenated_filename.
51347         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
51348         * modules/javacomp (Depends-on): Likewise.
51349         * modules/javaexec (Depends-on): Likewise.
51350
51351 2008-09-01  Bruno Haible  <bruno@clisp.org>
51352
51353         Split module 'filename' into 'filename' and 'concat-filename'.
51354         * modules/filename: Keep only lib/filename.h.
51355         (License): Change to LGPLv2+.
51356         * modules/concat-filename: New file, extracted from modules/filename.
51357         * lib/filename.h (concatenated_filename): Remove declaration.
51358         * lib/concat-filename.h: New file, extracted from lib/filename.h.
51359         * lib/concat-filename.c: Include concat-filename.h.
51360         * NEWS: Mention the change.
51361
51362 2008-09-01  Simon Josefsson  <simon@josefsson.org>
51363
51364         * lib/bitrotate.h (rotl8, rotr8): Add.
51365
51366         * modules/bitrotate (configure.ac): Need
51367         AC_REQUIRE([AC_C_INLINE]).
51368         (Description): Mention stdint.h.  Reported by Bruno Haible
51369         <bruno@clisp.org>.
51370
51371         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
51372         Paolo Bonzini <bonzini@gnu.org>.
51373
51374 2008-08-31  Bruno Haible  <bruno@clisp.org>
51375
51376         Assume Solaris specific bi-arch conventions on Solaris systems.
51377         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
51378         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
51379         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
51380         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
51381         like acl_libdirstem.
51382         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
51383         acl_libdirstem.
51384         * NEWS: Mention the change.
51385         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
51386
51387 2008-08-31  Jim Meyering  <meyering@redhat.com>
51388
51389         * lib/strftime.h: Add comments describing the two added arguments.
51390
51391         remove duplicate #include directives
51392         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
51393         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
51394
51395 2008-08-31  Bruno Haible  <bruno@clisp.org>
51396
51397         New module 'sigpipe-die'.
51398         * modules/sigpipe-die: New file.
51399         * lib/sigpipe-die.h: New file.
51400         * lib/sigpipe-die.c: New file.
51401         * MODULES.html.sh (Signal handling): Add sigpipe-die.
51402
51403 2008-08-31  Bruno Haible  <bruno@clisp.org>
51404
51405         Don't override previously installed signal handlers.
51406         * lib/fatal-signal.c (saved_sigactions): New variable.
51407         (uninstall_handlers): Reset the signal to the saved handler, not
51408         to SIG_DFL (except when ignored).
51409         (install_handlers): Save the previous handlers.
51410
51411 2008-08-30  Bruno Haible  <bruno@clisp.org>
51412
51413         * gnulib-tool (func_reset_sigpipe): New function.
51414         (func_get_automake_snippet, func_modules_transitive_closure,
51415         func_import): Invoke it before a join command that reads from stdin,
51416         to avoid "echo: write error: Broken pipe" error messages on stderr.
51417         Reported by Sam Steingold <sds@gnu.org>.
51418
51419 2008-08-30  Bruno Haible  <bruno@clisp.org>
51420
51421         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
51422         Code copied from m4/open.m4.
51423         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
51424         access and the filename ends in a slash. Code copied from lib/open.c.
51425         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
51426         * tests/test-fopen.c (main): Check against bug with trailing slash.
51427
51428 2008-08-29  Bruno Haible  <bruno@clisp.org>
51429
51430         Avoid some "gcc -pedantic" warnings.
51431         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
51432         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
51433         * lib/dirent.in.h: Likewise.
51434         * lib/fcntl.in.h: Likewise.
51435         * lib/float.in.h: Likewise.
51436         * lib/iconv.in.h: Likewise.
51437         * lib/inttypes.in.h: Likewise.
51438         * lib/locale.in.h: Likewise.
51439         * lib/math.in.h: Likewise.
51440         * lib/netinet_in.in.h: Likewise.
51441         * lib/search.in.h: Likewise.
51442         * lib/signal.in.h: Likewise.
51443         * lib/stdarg.in.h: Likewise.
51444         * lib/stdint.in.h: Likewise.
51445         * lib/stdio.in.h: Likewise.
51446         * lib/stdlib.in.h: Likewise.
51447         * lib/string.in.h: Likewise.
51448         * lib/strings.in.h: Likewise.
51449         * lib/sys_select.in.h: Likewise.
51450         * lib/sys_socket.in.h: Likewise.
51451         * lib/sys_stat.in.h: Likewise.
51452         * lib/sys_time.in.h: Likewise.
51453         * lib/sysexits.in.h: Likewise.
51454         * lib/time.in.h: Likewise.
51455         * lib/unistd.in.h: Likewise.
51456         * lib/wchar.in.h: Likewise.
51457         * lib/wctype.in.h: Likewise.
51458         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
51459         * modules/fchdir (Makefile.am): Likewise.
51460         * modules/fcntl (Makefile.am): Likewise.
51461         * modules/float (Makefile.am): Likewise.
51462         * modules/iconv_open (Makefile.am): Likewise.
51463         * modules/inttypes (Makefile.am): Likewise.
51464         * modules/locale (Makefile.am): Likewise.
51465         * modules/math (Makefile.am): Likewise.
51466         * modules/netinet_in (Makefile.am): Likewise.
51467         * modules/search (Makefile.am): Likewise.
51468         * modules/signal (Makefile.am): Likewise.
51469         * modules/stdarg (Makefile.am): Likewise.
51470         * modules/stdint (Makefile.am): Likewise.
51471         * modules/stdio (Makefile.am): Likewise.
51472         * modules/stdlib (Makefile.am): Likewise.
51473         * modules/string (Makefile.am): Likewise.
51474         * modules/strings (Makefile.am): Likewise.
51475         * modules/sys_select (Makefile.am): Likewise.
51476         * modules/sys_socket (Makefile.am): Likewise.
51477         * modules/sys_stat (Makefile.am): Likewise.
51478         * modules/sys_time (Makefile.am): Likewise.
51479         * modules/sysexits (Makefile.am): Likewise.
51480         * modules/time (Makefile.am): Likewise.
51481         * modules/unistd (Makefile.am): Likewise.
51482         * modules/wchar (Makefile.am): Likewise.
51483         * modules/wctype (Makefile.am): Likewise.
51484         Reported by Reuben Thomas <rrt@sc3d.org>.
51485
51486 2008-08-29  Bruno Haible  <bruno@clisp.org>
51487
51488         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
51489         any more.
51490
51491 2008-08-29  Simon Josefsson  <simon@josefsson.org>
51492
51493         * MODULES.html.sh (Misc): Add bitrotate.
51494
51495         * modules/bitrotate: New file.
51496
51497         * lib/bitrotate.h: New file.
51498
51499         * modules/bitrotate-tests: New file.
51500
51501         * tests/test-bitrotate.c: New file.
51502
51503         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
51504         on the bitrotate module.
51505
51506         * lib/arctwo.c: Use new bitrotate module.
51507
51508 2008-08-29  Jim Meyering  <meyering@redhat.com>
51509
51510         bootstrap: merge changes from coreutils
51511         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
51512         of copied files.  Remove a kludge, now that this is fixed.
51513         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
51514         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
51515         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
51516
51517 2008-08-29  Bruno Haible  <bruno@clisp.org>
51518
51519         * MODULES.html.sh: Remove --cvs-urls option.
51520
51521 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
51522
51523         maint.mk: adjust to file name change
51524         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
51525
51526 2008-08-28  Jim Meyering  <meyering@redhat.com>
51527
51528         * modules/getndelim2 (License): Relicense to LGPLv2+.
51529         Approved by Richard Stallman for the version of 1995, and by
51530         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
51531
51532 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
51533
51534         * lib/getdelim.c (flockfile, funlockfile): Make all of them
51535         dummy if one is not available.  Do not touch them if
51536         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
51537         (getc_maybe_unlocked): New.
51538         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
51539
51540 2008-08-26  Eric Blake  <ebb9@byu.net>
51541
51542         doc/INSTALL: resync from autoconf
51543         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
51544         (INSTALL_PRELUDE): Delete; this is done more efficiently by
51545         moving...
51546         * install.texi [!autoconf]: ...here.  Resync from autoconf.
51547         * INSTALL: Regenerate.
51548         * INSTALL.ISO: New file.
51549         * INSTALL.UTF-8: Likewise.
51550
51551 2008-08-26  Jim Meyering  <meyering@redhat.com>
51552
51553         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
51554         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
51555         these definitions conditional, so that they may be overridden, too.
51556
51557 2008-08-26  Bruno Haible  <bruno@clisp.org>
51558
51559         Generate INSTALL file variants with prettier quotes.
51560         * doc/Makefile (INSTALL_PRELUDE): New macro.
51561         (INSTALL): Use it.
51562         (INSTALL.ISO, INSTALL.UTF-8): New rules.
51563
51564 2008-08-26  Bruno Haible  <bruno@clisp.org>
51565
51566         Run makeinfo in an English locale.
51567         * doc/Makefile (MAKEINFO): New variable.
51568
51569 2008-08-26  Bruno Haible  <bruno@clisp.org>
51570
51571         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
51572         Suggested by Eric Blake.
51573
51574 2008-08-25  Bruno Haible  <bruno@clisp.org>
51575
51576         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
51577
51578 2008-08-25  Eric Blake  <ebb9@byu.net>
51579
51580         c-stack: test that stack overflow can be caught
51581         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
51582         that platform allows handling stack overflow; at least OS/2 EMX
51583         has sigaltstack, but crashes before transferring control to
51584         handler on stack overflow.
51585         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
51586         check for HAVE_STACK_OVERFLOW_HANDLING.
51587         Reported by Elbert Pol.
51588
51589 2008-08-25  Bruno Haible  <bruno@clisp.org>
51590
51591         * doc/posix-functions/strftime.texi: Fix description of strftime
51592         module.
51593
51594 2008-08-24  Bruno Haible  <bruno@clisp.org>
51595
51596         * tests/uniwidth/test-uc_width2.c: New file.
51597         * tests/uniwidth/test-uc_width2.sh: New file.
51598         * modules/uniwidth/width-tests (Files): Add the new files.
51599         (TESTS): Add uniwidth/test-uc_width2.sh.
51600         (TESTS_ENVIRONMENT): New variable.
51601         (check_PROGRAMS): Add test-uc_width2.
51602         (test_uc_width2_SOURCES): New variable.
51603
51604         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
51605         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
51606         not 0x00AB.
51607         Reported by Alexander V. Lukyanov <lav@netis.ru>.
51608
51609 2008-08-22  Eric Blake  <ebb9@byu.net>
51610
51611         test-lock, test-tls: mention why a test is skipped
51612         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
51613         skipped.
51614         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
51615
51616         count-one-bits: relax license
51617         * modules/count-one-bits (License): Relicense to LGPLv2+.
51618         Suggested by Ludovic Courtès, approved by Ben Pfaff.
51619
51620 2008-08-22  Andreas Schwab  <schwab@suse.de>
51621
51622         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
51623         Remove spurious space in assignment.
51624
51625 2008-08-21  Simon Josefsson  <simon@josefsson.org>
51626
51627         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
51628         Paul Eggert <eggert@CS.UCLA.EDU>.
51629
51630 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
51631
51632         * modules/gettext: Add m4/threadlib.m4.
51633
51634 2008-08-19  Eric Blake  <ebb9@byu.net>
51635
51636         test-c-stack: fix compilation failure on FreeBSD 5.0
51637         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
51638         headers before <sys/resource.h>.
51639         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
51640         the bug.
51641         Reported by Nelson H. F. Beebe.
51642
51643         strverscmp: migrate from "strverscmp.h" to <string.h>
51644         * modules/string (Makefile.am): Add new hooks.
51645         * modules/strverscmp (Files): Remove strverscmp.h.
51646         (Depends-on): Add string.
51647         (configure.ac): Add indicator.
51648         (Include): Mention new header.
51649         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
51650         defaults.
51651         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
51652         results.
51653         * lib/strverscmp.h: Delete.
51654         * lib/string.in.h (strverscmp): Provide declaration, when needed.
51655         * tests/test-strverscmp.c (includes): Adjust client.
51656         * lib/check-version.c (includes): Likewise.
51657         * NEWS: Document the change.
51658
51659         strverscmp: add unit test
51660         * modules/strverscmp-tests: New file.
51661         * tests/test-strverscmp.c: Likewise.
51662
51663 2008-08-19  Simon Josefsson  <simon@josefsson.org>
51664
51665         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
51666         regarding Windows crypto stuff, from Mono.
51667
51668 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
51669
51670         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
51671         if present, for intel RND.  Return error on failures.
51672
51673 2008-08-18  Ben Pfaff  <blp@gnu.org>
51674
51675         gitlog-to-changelog: give better diagnostic for failed pipe-open
51676         * build-aux/gitlog-to-changelog: Improve error message: suggest
51677         that the version of Git may be too old.
51678
51679 2008-08-18  Simon Josefsson  <simon@josefsson.org>
51680
51681         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
51682         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
51683
51684 2008-08-18  Bruno Haible  <bruno@clisp.org>
51685
51686         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
51687         pthread_in_use().
51688
51689 2008-08-18  Bruno Haible  <bruno@clisp.org>
51690
51691         * lib/glthread/threadlib.c: Include <pthread.h>.
51692
51693 2008-08-18  Bruno Haible  <bruno@clisp.org>
51694
51695         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
51696         glthread_recursive_lock_* macros.
51697         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
51698         Fix syntax error.
51699
51700 2008-08-18  Bruno Haible  <bruno@clisp.org>
51701
51702         * lib/glthread/thread.c: Avoid forcing a context switch right after
51703         thread creation.
51704
51705 2008-08-17  Bruno Haible  <bruno@clisp.org>
51706
51707         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
51708         * lib/glthread/thread.h: Provide Win32 specific implementation.
51709         * modules/thread (Files): Add lib/glthread/thread.c.
51710         (Depends-on): Add lock.
51711         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
51712
51713 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51714
51715         New module 'yield'.
51716         * modules/yield: New file.
51717         * lib/glthread/yield.h: New file.
51718         * m4/yield.m4: New file.
51719         * MODULES.html.sh (Multithreading): Add yield.
51720
51721 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51722
51723         New module 'thread'.
51724         * modules/thread: New file.
51725         * lib/glthread/thread.h: New file.
51726         * m4/thread.m4: New file.
51727         * MODULES.html.sh (Multithreading): Add thread.
51728
51729 2008-08-17  Bruno Haible  <bruno@clisp.org>
51730
51731         * lib/glthread/lock.h: Include <stdlib.h> always.
51732         * lib/glthread/tls.h: Likewise.
51733         * lib/glthread/cond.h: Likewise.
51734
51735 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
51736
51737         New module 'cond'.
51738         * modules/cond: New file.
51739         * lib/glthread/cond.h: New file.
51740         * lib/glthread/cond.c: New file.
51741         * m4/cond.m4: New file.
51742         * MODULES.html.sh (Multithreading): Add cond.
51743
51744 2008-08-16  Eric Blake  <ebb9@byu.net>
51745
51746         c-stack: fix regression on Irix 5.3 from 2008-06-21
51747         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
51748         sa_sigaction...
51749         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
51750         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
51751         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
51752         * modules/signal (Makefile.am): Use the value.
51753         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
51754         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
51755         * doc/posix-headers/signal.texi (signal.h): Document this
51756         portability issue.
51757         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
51758         Reported by Tom G. Christensen.
51759
51760 2008-08-17  Bruno Haible  <bruno@clisp.org>
51761
51762         New module 'threadlib'.
51763         * modules/threadlib: New file.
51764         * lib/glthread/threadlib.c: New file, extracted from
51765         lib/glthread/lock.c.
51766         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
51767         functions.
51768         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
51769         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
51770         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
51771         macros.
51772         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
51773         (gl_DISABLE_THREADS): Remove macro.
51774         * modules/lock (Files): Remove build-aux/config.rpath.
51775         (Depends-on): Remove havelib. Add threadlib.
51776         (configure.ac-early): Remove section.
51777         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
51778         * modules/tls (Depends-on): Remove lock. Add threadlib.
51779         (Link): New section, copied from threadlib.
51780         * MODULES.html.sh (Multithreading): Add threadlib.
51781
51782 2008-08-14  Bruno Haible  <bruno@clisp.org>
51783
51784         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
51785         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
51786         glthread_rwlock_unlock, glthread_rwlock_destroy,
51787         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
51788         glthread_recursive_lock_destroy): Define as macros always.
51789         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
51790         glthread_lock_lock.
51791         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
51792         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
51793         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
51794         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
51795         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
51796         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
51797         (glthread_recursive_lock_lock_func): Renamed from
51798         glthread_recursive_lock_lock.
51799         (glthread_recursive_lock_unlock_func): Renamed from
51800         glthread_recursive_lock_unlock.
51801         (glthread_recursive_lock_destroy_func): Renamed from
51802         glthread_recursive_lock_destroy.
51803
51804 2008-08-14  Bruno Haible  <bruno@clisp.org>
51805
51806         * lib/glthread/lock.h: Renamed from lib/lock.h.
51807         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
51808         * lib/glthread/tls.h: Renamed from lib/tls.h.
51809         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
51810         * lib/fstrcmp.c: Update includes.
51811         * lib/strsignal.c: Update includes.
51812         * modules/lock (Files, Makefile.am): Update.
51813         (Include): Change to "glthread/lock.h".
51814         * modules/tls (Files, Makefile.am): Update.
51815         (Include): Change to "glthread/tls.h".
51816         * tests/test-lock.c: Update includes.
51817         * tests/test-tls.c: Update includes.
51818         * NEWS: Mention the renamed header files.
51819
51820 2008-08-11  Jim Meyering  <meyering@redhat.com>
51821
51822         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
51823
51824 2008-08-11  Eric Blake  <ebb9@byu.net>
51825
51826         test-c-stack: avoid C99-ism
51827         * tests/test-c-stack.c (main): Fix whitespace, move declaration
51828         before statement.
51829         Reported by Alain Guibert.
51830
51831 2008-08-10  Jim Meyering  <meyering@redhat.com>
51832
51833         ensure that return value of uinttostr et al are not ignored
51834         * lib/inttostr.h (__GNUC_PREREQ): Define.
51835         (__attribute_warn_unused_result__): Define.
51836         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
51837
51838 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
51839
51840         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
51841         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
51842
51843 2008-08-07  Jim Meyering  <meyering@redhat.com>
51844
51845         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
51846
51847         * modules/mkstemp (License): Relicense under LGPLv2+.
51848         * modules/tempname (License): Likewise.
51849
51850 2008-08-06  Bruno Haible  <bruno@clisp.org>
51851
51852         * lib/poll.c (poll): Further micro-optimization.
51853
51854 2008-08-06  Jim Meyering  <meyering@redhat.com>
51855
51856         inet_pton.c: use locale-independent tolower
51857         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
51858         (inet_pton6): Use c_tolower rather than tolower.
51859         * modules/inet_pton (Depends-on): Add c-ctype.
51860
51861 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
51862
51863         * lib/poll.c (poll): Avoid division when timeout is 0, cache
51864         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
51865
51866 2008-08-06  Jim Meyering  <meyering@redhat.com>
51867
51868         * modules/inet_pton (License): Relicense under LGPLv2+.
51869
51870 2008-08-03  Bruno Haible  <bruno@clisp.org>
51871
51872         Additional non-aborting API for lock and tls.
51873         * lib/lock.h: Include <errno.h>.
51874         (glthread_lock_init): New macro/function.
51875         (gl_lock_init): Define as wrapper around glthread_lock_init.
51876         (glthread_lock_lock): New macro/function.
51877         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
51878         (glthread_lock_unlock): New macro/function.
51879         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
51880         (glthread_lock_destroy): New macro/function.
51881         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
51882         (glthread_rwlock_init): New macro/function.
51883         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
51884         (glthread_rwlock_rdlock): New macro/function.
51885         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
51886         (glthread_rwlock_wrlock): New macro/function.
51887         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
51888         (glthread_rwlock_unlock): New macro/function.
51889         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
51890         (glthread_rwlock_destroy): New macro/function.
51891         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
51892         (glthread_recursive_lock_init): New macro/function.
51893         (gl_recursive_lock_init): Define as wrapper around
51894         glthread_recursive_lock_init.
51895         (glthread_recursive_lock_lock): New macro/function.
51896         (gl_recursive_lock_lock): Define as wrapper around
51897         glthread_recursive_lock_lock.
51898         (glthread_recursive_lock_unlock): New macro/function.
51899         (gl_recursive_lock_unlock): Define as wrapper around
51900         glthread_recursive_lock_unlock.
51901         (glthread_recursive_lock_destroy): New macro/function.
51902         (gl_recursive_lock_destroy): Define as wrapper around
51903         glthread_recursive_lock_destroy.
51904         (glthread_once): New macro/function.
51905         (gl_once): Define as wrapper around glthread_once.
51906         Update function declarations.
51907         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
51908         glthread_rwlock_init. Return error code.
51909         (glthread_rwlock_rdlock_multithreaded): Renamed from
51910         glthread_rwlock_rdlock. Return error code.
51911         (glthread_rwlock_wrlock_multithreaded): Renamed from
51912         glthread_rwlock_wrlock. Return error code.
51913         (glthread_rwlock_unlock_multithreaded): Renamed from
51914         glthread_rwlock_unlock. Return error code.
51915         (glthread_rwlock_destroy_multithreaded): Renamed from
51916         glthread_rwlock_destroy. Return error code.
51917         (glthread_recursive_lock_init_multithreaded): Renamed from
51918         glthread_recursive_lock_init. Return error code.
51919         (glthread_recursive_lock_lock_multithreaded): Renamed from
51920         glthread_recursive_lock_lock. Return error code.
51921         (glthread_recursive_lock_unlock_multithreaded): Renamed from
51922         glthread_recursive_lock_unlock. Return error code.
51923         (glthread_recursive_lock_destroy_multithreaded): Renamed from
51924         glthread_recursive_lock_destroy. Return error code.
51925         (glthread_once_call): Make static.
51926         (glthread_once_multithreaded): Renamed from glthread_once.
51927         * lib/tls.h: Include <errno.h>.
51928         (glthread_tls_key_init): New macro/function.
51929         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
51930         (glthread_tls_set): New macro/function.
51931         (gl_tls_set): Define as wrapper around glthread_tls_set.
51932         (glthread_tls_key_destroy): New macro/function.
51933         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
51934         Update function declarations.
51935         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
51936         glthread_tls_get.
51937         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
51938
51939 2008-08-04  Eric Blake  <ebb9@byu.net>
51940
51941         gnumakefile: use space, not TAB, outside of targets
51942         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
51943
51944 2008-08-02  Jim Meyering  <meyering@redhat.com>
51945
51946         getdate.y: avoid locale-dependent date parsing failure
51947         In Turkish locales, getdate would fail to recognize keywords
51948         containing a lowercase "i".  The solution is not to rely on
51949         locale-sensitive case-conversion.
51950         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
51951         (lookup_word): Use c_toupper in place of toupper.
51952         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
51953         Reported by Vefa Bicakci <bicave@superonline.com> in
51954         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
51955         * modules/getdate (Depends-on): Add c-ctype.
51956
51957 2008-08-02  Bruno Haible  <bruno@clisp.org>
51958
51959         * gnulib-tool (func_import): When updating or creating a .gitignore
51960         file, prepend each added line with a slash, and ignore leading slashes
51961         from the existing lines.
51962         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
51963
51964 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
51965
51966         Portability fix for GNU make 3.79.1.
51967         * top/GNUmakefile: Avoid 'else COND', which older GNU make
51968         versions do not understand.
51969
51970 2008-08-01  Bruno Haible  <bruno@clisp.org>
51971
51972         Work around bug of HP-UX 10.20 cc with -0.0 literal.
51973         * tests/test-isnanf.h (zero): New variable.
51974         (main): Avoid literal -0.0f.
51975         * tests/test-isnand.h (zero): New variable.
51976         (main): Avoid literal -0.0.
51977         * tests/test-isnanl.h (zero): New variable.
51978         (main): Avoid literal -0.0L.
51979         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
51980         (test_float, test_double, test_long_double): Avoid literals -0.0f,
51981         -0.0, -0.0L.
51982         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
51983         (test_signbitd): Avoid literal -0.0.
51984         (test_signbitl): Avoid literal -0.0L.
51985         * tests/test-ceilf1.c (zero): New variable.
51986         (main): Avoid literal -0.0f.
51987         * tests/test-ceill.c (zero): New variable.
51988         (main): Avoid literal -0.0L.
51989         * tests/test-floorf1.c (zero): New variable.
51990         (main): Avoid literal -0.0f.
51991         * tests/test-floorl.c (zero): New variable.
51992         (main): Avoid literal -0.0L.
51993         * tests/test-roundf1.c (zero): New variable.
51994         (main): Avoid literal -0.0f.
51995         * tests/test-round1.c (zero): New variable.
51996         (main): Avoid literal -0.0.
51997         * tests/test-roundl.c (zero): New variable.
51998         (main): Avoid literal -0.0L.
51999         * tests/test-truncf1.c (zero): New variable.
52000         (main): Avoid literal -0.0f.
52001         * tests/test-trunc1.c (zero): New variable.
52002         (main): Avoid literal -0.0.
52003         * tests/test-truncl.c (zero): New variable.
52004         (main): Avoid literal -0.0L.
52005         * tests/test-frexp.c (zero): New variable.
52006         (main): Avoid literal -0.0.
52007         * tests/test-frexpl.c (zero): New variable.
52008         (main): Avoid literal -0.0L.
52009         * tests/test-ldexpl.c (zero): New variable.
52010         (main): Avoid literal -0.0L.
52011         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
52012         (zerod, zerol): New variables.
52013         (test_function): Avoid literals -0.0, -0.0L.
52014         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
52015         (zerod, zerol): New variables.
52016         (test_function): Avoid literals -0.0, -0.0L.
52017         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
52018         (zerod, zerol): New variables.
52019         (test_function): Avoid literals -0.0, -0.0L.
52020         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
52021         (zerod, zerol): New variables.
52022         (test_function): Avoid literals -0.0, -0.0L.
52023         * tests/test-strtod.c (zero): New variable.
52024         (main): Avoid literal -0.0.
52025         Reported by Jonathan C. Patschke <jp@centtech.com>.
52026
52027 2008-07-31  Jim Meyering  <meyering@redhat.com>
52028
52029         sha256.h: correct definition of SHA224_DIGEST_SIZE
52030         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
52031         Reported by Paulie Pena IV <paulie4@gmail.com>.
52032         Define as 224 / 8, rather than as a literal.
52033         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
52034         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
52035         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
52036
52037 2008-07-31  Bruno Haible  <bruno@clisp.org>
52038
52039         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
52040         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
52041         Reported by Jonathan Patschke <jp@centtech.com>.
52042
52043 2008-07-31  Bruno Haible  <bruno@clisp.org>
52044
52045         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
52046         Reported by Paolo Bonzini <bonzini@gnu.org>.
52047
52048 2008-07-30  Eric Blake  <ebb9@byu.net>
52049
52050         test-strtod: allow compilation without -lm
52051         * tests/test-strtod.c (main): Avoid link dependence on fabs.
52052         Reported by Dennis Clarke <blastwave@gmail.com>.
52053
52054 2008-07-28  Jim Meyering  <meyering@redhat.com>
52055
52056         bootstrap: work also when there are no .po files in po/
52057         * build-aux/bootstrap (update_po_files): Complete the change
52058         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
52059
52060 2008-07-27  Jim Meyering  <meyering@redhat.com>
52061
52062         * users.txt: Add zile.
52063
52064 2008-07-26  Ben Pfaff  <blp@gnu.org>
52065
52066         Add missing dependencies on new m4/exponent[fdl].m4 files.
52067         * modules/isnanf-nolibm: Add m4/exponentf.m4.
52068         * modules/isnand-nolibm: Add m4/exponentd.m4.
52069         * modules/isnanl-nolibm: Add m4/exponentl.m4.
52070         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
52071         m4/isnan[fdl].m4, because the macros actually used moved.
52072         Reported by Jim Meyering.
52073
52074 2008-07-14  Ben Pfaff  <blp@gnu.org>
52075
52076         Add isinf module.
52077         * lib/isinf.c: New file.
52078         * lib/math.in.h: Define isinf macro if we have decided to replace
52079         it.
52080         * m4/isinf.m4: New file.
52081         * m4/math_h.m4: Initialize and substitute variables for isinf
52082         module.
52083         * modules/isinf: New file.
52084         * modules/isinf-tests: New file.
52085         * modules/math: Add substitutions for new module.
52086         * tests/test-isinf.c: New file.
52087         * doc/posix-functions/isinf.texi: Mention new module.
52088         * MODULES.html.sh: Mention new module.
52089
52090 2008-07-14  Ben Pfaff  <blp@gnu.org>
52091
52092         Factor out some macros for use by additional modules.
52093         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
52094         exponentf.m4.
52095         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
52096         exponentd.m4.
52097         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
52098         file exponentl.m4.
52099         * m4/exponentf.m4: New file.
52100         * m4/exponentd.m4: New file.
52101         * m4/exponentl.m4: New file.
52102         * modules/isnanf: Use new file m4/exponentf.m4.
52103         * modules/isnand: Use new file m4/exponentd.m4.
52104         * modules/isnanl: Use new file m4/exponentl.m4.
52105
52106 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
52107
52108         mktime.c: normalize tp->tm_isdst value to -1/0/1.
52109         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
52110         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
52111         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
52112
52113         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
52114         readlink on platforms without PATH_MAX.
52115
52116 2008-07-21  Eric Blake  <ebb9@byu.net>
52117
52118         Warn, not fail, on stale version.
52119         * top/GNUmakefile (_curr-ver): Tone down previous patch.
52120
52121         Don't allow installation with stale devel version number.
52122         * top/GNUmakefile (_is-install-target): New macro.
52123         (_curr-ver): Forbid installation with stale version number.
52124
52125 2008-07-20  Bruno Haible  <bruno@clisp.org>
52126
52127         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
52128         TESTS_ENVIRONMENT.
52129         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
52130
52131 2008-07-20  Bruno Haible  <bruno@clisp.org>
52132
52133         * lib/c-stack.h (c_stack_action): Add documentation.
52134         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
52135
52136 2008-07-20  Bruno Haible  <bruno@clisp.org>
52137
52138         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
52139         * modules/readlink (License): Likewise.
52140
52141 2008-07-17  Eric Blake  <ebb9@byu.net>
52142
52143         * modules/c-stack (Link): Fix typo.
52144
52145         Make c-stack use libsigsegv, when available.
52146         * modules/c-stack (Depends-on): Add libsigsegv.
52147         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
52148         needed.
52149         * lib/c-stack.c (SIGSTKSZ): Define fallback.
52150         (segv_handler, overflow_handler, c_stack_action)
52151         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
52152         implementation when libsigsegv is available, but only when using
52153         the library is necessary.
52154         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
52155         comment, explaining why XSI check fails on Linux.
52156         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
52157         * tests/test-c-stack2.sh: Tweak skip message.
52158         * NEWS: Document new link-time requirements.
52159
52160 2008-07-16  Eric Blake  <ebb9@byu.net>
52161
52162         c-stack: Expose false positives when not using libsigsegv.
52163         * modules/c-stack-tests (Files): Expand test.
52164         * tests/test-c-stack.c (main): Add means to conditionally trigger
52165         non-overflow SIGSEGV.
52166         * tests/test-c-stack2.sh: New file.
52167
52168 2008-07-14  Bruno Haible  <bruno@clisp.org>
52169
52170         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
52171         Reported by Eric Blake.
52172
52173 2008-07-14  Sam Steingold  <sds@gnu.org>
52174             Bruno Haible  <bruno@clisp.org>
52175
52176         New module libsigsegv.
52177         * modules/libsigsegv: New file.
52178         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
52179         modifications.
52180         * MODULES.html.sh (Signal handling): New section.
52181
52182 2008-07-14  Bruno Haible  <bruno@clisp.org>
52183
52184         * modules/unictype/ctype-* (Description): Add the word "function".
52185         Improves the resulting doc in MODULES.html.
52186
52187 2008-07-12  Ben Pfaff  <blp@gnu.org>
52188
52189         Add longlong module.
52190         * modules/longlong: New file.
52191
52192 2008-07-12  Bruno Haible  <bruno@clisp.org>
52193
52194         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
52195         to empty.
52196
52197 2008-07-10  Ben Pfaff  <blp@gnu.org>
52198
52199         Add isnan module.
52200         * doc/posix-functions/isnan.texi: Mention new module.
52201         * lib/math.in.h: Define isnan macro if we have decided to replace
52202         it.
52203         * m4/isnan.m4: New file.
52204         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
52205         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
52206         also.
52207         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
52208         redundancy.
52209         * m4/math_h.m4: Initialize and substitute variables for isnan
52210         module.
52211         * modules/isnan: New file.
52212         * modules/isnan-tests: New file.
52213         * modules/math: Add substitutions for new module.
52214         * tests/test-isnan.c: New file.
52215         * MODULES.html.sh: Mention new module.
52216
52217 2008-07-10  Ben Pfaff  <blp@gnu.org>
52218
52219         Add isnanf module.
52220         * lib/isnanf.m4: New file.
52221         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
52222         (gl_HAVE_ISNANF_IN_LIBM): New macro.
52223         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
52224         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
52225         * modules/isnanf: New file.
52226         * modules/isnanf-tests: New file.
52227         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
52228         files.
52229         * tests/test-isnanf-nolibm.c: factored most of its contents into
52230         new file tests/test-isnanf.h.
52231         * tests/test-isnanf.h: New file.
52232         * tests/test-isnanf.c: New file.
52233         * MODULES.html.sh: Mention new module.
52234         * doc/glibc-functions/isnanf.texi: Mention new module.
52235
52236 2008-07-10  Ben Pfaff  <blp@gnu.org>
52237
52238         Add isnand module.
52239         * lib/isnand.h: New file.
52240         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
52241         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
52242         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
52243         functionality also.
52244         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
52245         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
52246         (gl_HAVE_ISNAND_IN_LIBM): New macro.
52247         * modules/isnand: New file.
52248         * modules/isnand-tests: New file.
52249         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
52250         files.
52251         * tests/test-isnand-nolibm.c: factored most of its contents into
52252         new file tests/test-isnand.h.
52253         * tests/test-isnand.h: New file.
52254         * tests/test-isnand.c: New file.
52255         * MODULES.html.sh: Mention new module.
52256
52257 2008-07-10  Ben Pfaff  <blp@gnu.org>
52258
52259         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
52260         * lib/isnand.h: Rename lib/isnand-nolibm.h.
52261         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
52262         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
52263         * modules/isnanf-nolibm: Update references to renamed files.
52264         * modules/isnand-nolibm: Likewise.
52265         * modules/isnanf-nolibm-tests: Likewise.
52266         * modules/isnand-nolibm-tests: Likewise.
52267         * lib/frexp.c: Likewise.
52268         * lib/isfinite.c: Likewise.
52269         * lib/signbitd.c: Likewise.
52270         * lib/signbitf.c: Likewise.
52271         * lib/vasnprintf.c: Likewise.
52272         * tests/test-ceilf1.c: Likewise.
52273         * tests/test-ceilf2.c: Likewise.
52274         * tests/test-floorf1.c: Likewise.
52275         * tests/test-floorf2.c: Likewise.
52276         * tests/test-frexp.c: Likewise.
52277         * tests/test-round1.c: Likewise.
52278         * tests/test-round2.c: Likewise.
52279         * tests/test-roundf1.c: Likewise.
52280         * tests/test-strtod.c: Likewise.
52281         * tests/test-trunc1.c: Likewise.
52282         * tests/test-trunc2.c: Likewise.
52283         * tests/test-truncf1.c: Likewise.
52284         * tests/test-truncf2.c: Likewise.
52285         * NEWS: Mention the renamed header files.
52286
52287 2008-07-11  Jim Meyering  <meyering@redhat.com>
52288
52289         vc-list-files: make the last-resort awk code more portable
52290         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
52291         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
52292         does not support it.
52293
52294 2008-07-10  Eric Blake  <ebb9@byu.net>
52295
52296         Work with tar's bootstrap.
52297         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
52298         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
52299         an m4 comment.
52300
52301 2008-07-09  Jim Meyering  <meyering@redhat.com>
52302
52303         posix-shell.m4: fix typo that made this test malfunction
52304         * m4/posix-shell.m4: Remove capitalization in variable name.
52305
52306 2008-07-08  Bruno Haible  <bruno@clisp.org>
52307
52308         * m4/onceonly.m4: Update comments.
52309         Reported by Ben Pfaff <blp@cs.stanford.edu>.
52310
52311 2008-07-04  Jim Meyering  <meyering@redhat.com>
52312
52313         * users.txt: Add vc-dwim.
52314         (bison, coreutils): Use the gitweb URL.
52315
52316 2008-07-03  Jim Meyering  <meyering@redhat.com>
52317
52318         * users.txt: Add libffcall.  From Sam Steingold.
52319
52320 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
52321
52322         getdate.y: do not ignore TZ with relative day, month or year offset
52323         * lib/getdate.y (get_date): Move the tz-handling block to follow the
52324         relative-date-handling, since otherwise, the latter would clobber the
52325         sole output (an updated Start value) of the tz-handling block.
52326         * tests/test-getdate.c: Tests for the fix
52327
52328 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52329
52330         Recognize 'foo_LIBRARIES += libgnu.a'.
52331         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
52332         makefile snippet has already specified an installation location,
52333         also using '+='.
52334
52335 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
52336
52337         getdate.y: factor out common actions
52338         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
52339         Use them in place of open-coded actions.
52340
52341 2008-07-01  Simon Josefsson  <simon@josefsson.org>
52342
52343         Add self-test for getdate module.
52344         * modules/getdate-tests: New file.
52345         * tests/test-getdate.c: New file.
52346
52347 2008-06-29  Bruno Haible  <bruno@clisp.org>
52348
52349         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
52350         .gitignore.
52351         Reported by Sylvain Beucler <beuc@beuc.net>.
52352
52353 2008-06-29  Bruno Haible  <bruno@clisp.org>
52354
52355         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
52356         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
52357
52358 2008-06-29  Bruno Haible  <bruno@clisp.org>
52359
52360         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
52361         EXTRA_DIST.
52362         Reported by Sylvain Beucler <beuc@beuc.net>.
52363
52364 2008-06-26  Jim Meyering  <meyering@redhat.com>
52365
52366         make several modules depend on the "open" module
52367         This provides slightly increased consistency when opening-for-write
52368         the name of a non-directory spelled with a trailing slash.
52369         * modules/chdir-safer: Likewise.
52370         * modules/chown: Likewise.
52371         * modules/clean-temp: Likewise.
52372         * modules/copy-file: Likewise.
52373         * modules/fchdir: Likewise.
52374         * modules/fcntl-safer: Likewise.
52375         * modules/pipe: Likewise.
52376         * modules/utime: Likewise.
52377         Prompted by Eric Blake and Bruno Haible.
52378
52379 2008-06-24  Andreas Schwab  <schwab@suse.de>
52380
52381         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
52382         literals can be used as initializers for global variables.
52383
52384 2008-06-23  Eric Blake  <ebb9@byu.net>
52385
52386         Make gnulib-cache.m4 easier to diff.
52387         * gnulib-tool (func_import): Allow newlines when reading cached
52388         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
52389
52390 2008-06-23  Bruno Haible  <bruno@clisp.org>
52391
52392         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
52393         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
52394         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
52395         m4/signalblocking.m4.
52396         (gl_PREREQ_SIGACTION): Don't invoke it.
52397         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
52398         gl_PREREQ_SIG_HANDLER_H.
52399         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52400         Don't check for sigaction here.
52401
52402 2008-06-23  Bruno Haible  <bruno@clisp.org>
52403
52404         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
52405         (install_handlers): Don't set the SA_RESETHAND flag.
52406
52407 2008-06-23  Bruno Haible  <bruno@clisp.org>
52408
52409         * m4/sigaction.m4: Comment fixes.
52410         * lib/signal.in.h: Likewise.
52411
52412 2008-06-23  Eric Blake  <ebb9@byu.net>
52413
52414         Fix typo.
52415         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
52416
52417         Avoid SA_ namespace.
52418         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
52419         Reported by Ralf Wildenhues.
52420
52421         Avoid test failure due to SA_RESTORER.
52422         * tests/test-sigaction.c (SA_MASK): New macro.
52423         (main): Avoid failing due to extension flags being set.
52424         Reported by Jim Meyering.
52425
52426         Revert use of sig-handler.h in sigprocmask.c.
52427         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
52428         it requires the existence of struct sigaction.
52429         * lib/sigprocmask.c (handler_t): Restore typedef.
52430         (rpl_signal, old_handlers): Use local type.
52431
52432 2008-06-22  Bruno Haible  <bruno@clisp.org>
52433
52434         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
52435         conditionally.
52436         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52437
52438 2008-06-22  Bruno Haible  <bruno@clisp.org>
52439
52440         * doc/posix-functions/siginterrupt.texi: Move note.
52441
52442         * lib/signal.in.h (SA_RESTART): New macro.
52443         * lib/sigaction.c: Update comment.
52444
52445         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
52446
52447         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
52448         (gl_PREREQ_SIGPROCMASK): Invoke it.
52449         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
52450
52451         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
52452
52453         * lib/sigprocmask.c: Update a comment.
52454
52455 2008-06-21  Eric Blake  <ebb9@byu.net>
52456
52457         Use sigaction module rather than signal().
52458         * modules/c-stack (Depends-on): Add sigaction.
52459         * modules/fatal-signal (Depends-on): Likewise.
52460         * modules/nanosleep (Depends-on): Likewise.
52461         * modules/sigprocmask (Files): Add sig-handler.h.
52462         * modules/sigaction (Files): Likewise.
52463         * lib/sig-handler.h (get_handler): New file, suggested by Paul
52464         Eggert.
52465         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
52466         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
52467         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
52468         (init_fatal_signals): Likewise.
52469         * lib/nanosleep.c (rpl_nanosleep): Likewise.
52470         (siginterrupt): Delete fallback.
52471         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
52472         instead.
52473         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
52474         siginterrupt.
52475
52476         New module sigaction, for mingw.
52477         * modules/sigaction: New module...
52478         * modules/sigaction-tests: ...and its test.
52479         * m4/sigaction.m4: New file.
52480         * lib/sigaction.c: Likewise.
52481         * tests/test-sigaction.c: Likewise.
52482         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
52483         * modules/signal (Makefile.am): Likewise.
52484         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
52485         needed.
52486         * doc/posix-headers/signal.texi (signal.h): Mention provided
52487         types.
52488         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
52489         that sigaction is preferable.
52490         * doc/posix-functions/sigaction.texi (sigaction): Mention new
52491         module.
52492         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
52493         sigaction.
52494
52495         Improve robustness of sigprocmask by overriding signal.
52496         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
52497         is in use.
52498         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
52499         (SIGKILL, SIGSTOP): Provide fallbacks.
52500         (rpl_signal): Implement.
52501         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
52502         signal can be called inside handlers.
52503
52504         Fix nanosleep module on mingw.
52505         * modules/nanosleep (Depends-on): Add sys_select.
52506         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
52507
52508         Fix licensing of sigprocmask.
52509         * modules/raise (License): Relicense as LGPL.
52510
52511 2008-06-21  Bruno Haible  <bruno@clisp.org>
52512
52513         * lib/propername.c (proper_name_utf8): Don't use the transliterated
52514         result if it contains question marks.
52515         Reported by Michael Geng <linux@michaelgeng.de>.
52516
52517 2008-06-19  Bruno Haible  <bruno@clisp.org>
52518
52519         Fix CVS-ism.
52520         * doc/gnulib.texi: Include updated-stamp.texi.
52521         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
52522         (updated-stamp.texi): New rule.
52523         (gnulib.info): Depend on it.
52524         * doc/.gitignore: Add updated-stamp.texi.
52525         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
52526
52527 2008-06-19  Bruno Haible  <bruno@clisp.org>
52528
52529         * doc/Makefile (gnulib.info): Update and simplify dependencies.
52530         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
52531
52532 2008-06-19  Eric Blake  <ebb9@byu.net>
52533
52534         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
52535         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
52536         Reported by Stepan Kasal.
52537
52538 2008-06-18  Bruno Haible  <bruno@clisp.org>
52539
52540         * lib/fatal-signal.c (init_fatal_signals): Add comment.
52541         Reported by Eric Blake.
52542
52543 2008-06-18  Eric Blake  <ebb9@byu.net>
52544
52545         Work around cygwin 1.5.25 strsignal bug.
52546         * tests/test-strsignal.c: Allow for const char *.
52547         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
52548
52549 2008-06-18  Simon Josefsson  <simon@josefsson.org>
52550
52551         * users.txt: Update URL to article and add author/date
52552         information.
52553
52554 2008-06-17  Bruno Haible  <bruno@clisp.org>
52555
52556         New macro gl_DISABLE_THREADS.
52557         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
52558         if the user did not pass --enable-threads or --disable-threads option.
52559         (gl_DISABLE_THREADS): New macro.
52560         Reported by Eric Blake <ebb9@byu.net>.
52561
52562 2008-06-17  Bruno Haible  <bruno@clisp.org>
52563
52564         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
52565         when the macro ignores it.
52566         Based on a patch by Eric Blake <ebb9@byu.net>.
52567
52568 2008-06-17  Bruno Haible  <bruno@clisp.org>
52569
52570         * modules/tls (License): Change to LGPLv2+.
52571         Reported by Eric Blake.
52572
52573 2008-06-17  Eric Blake  <ebb9@byu.net>
52574
52575         Simplify c-stack prerequisites.
52576         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
52577         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
52578         no longer requires <ucontext.h> to exist.  Optimize setrlimit
52579         check.
52580         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
52581         <sys/resource.h>.
52582
52583         Move c-stack test into testsuite.
52584         * modules/c-stack-tests: New file.
52585         * lib/c-stack.c [DEBUG]: Move test program...
52586         * tests/test-c-stack.c: ...into this new file.  Skip rather than
52587         fail test if sigaltstack is lacking.
52588         * tests/test-c-stack.sh: New driver file.
52589
52590 2008-06-16  Eric Blake  <ebb9@byu.net>
52591
52592         Use raise module consistently.
52593         * modules/fatal-signal (Depends-on): Add raise.
52594         * modules/sigprocmask (Depends-on): Likewise.
52595         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
52596         * lib/sigprocmask.c (sigprocmask): Likewise.
52597         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
52598         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
52599
52600         Fix compliance bug in sigpending.
52601         * lib/sigprocmask.c (sigpending): Return pending array via
52602         parameter, not return value.
52603
52604 2008-06-14  Eric Blake  <ebb9@byu.net>
52605
52606         Improve obstack-printf test code.
52607         * tests/test-obstack-printf.c (test_function): Fix comment, and
52608         simplify usage of obstack_* in macros.  Add a test for coverage.
52609         Reported by Bruno Haible.
52610
52611 2008-06-14  Bruno Haible  <bruno@clisp.org>
52612
52613         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
52614         array size as a constant, not as a const variable.
52615         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
52616         AC_USE_SYSTEM_EXTENSIONS.
52617         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
52618         Test whether the obstack_printf function actually exists.
52619         * modules/obstack-printf (Depends-on): Add extensions.
52620         (Include): Remove obstack.h.
52621         * modules/obstack-printf-posix (Depends-on): Add extensions.
52622         (Include): Remove obstack.h.
52623
52624 2008-06-13  Eric Blake  <ebb9@byu.net>
52625
52626         Add obstack-printf and obstack-printf-posix modules.
52627         * modules/obstack-printf: New file.
52628         * modules/obstack-printf-posix: Likewise.
52629         * MODULES.html.sh (Misc): Mention them.
52630         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
52631         Likewise.
52632         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
52633         Likewise.
52634         * modules/stdio (Makefile.am): Accomodate new modules.
52635         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
52636         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
52637         Declare.
52638         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
52639         functions.
52640         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
52641         (gl_REPLACE_OBSTACK_PRINTF): New macros
52642         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
52643         * tests/test-obstack-printf.c: New file.
52644         * modules/obstack-printf-tests: Likewise.
52645         * modules/obstack-printf-posix-tests: Likewise.
52646
52647 2008-06-11  Bruno Haible  <bruno@clisp.org>
52648
52649         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
52650         * lib/open.c: Include errno.h.
52651         (open): Fail when attempting to write to a file that has a trailing
52652         slash.
52653         * tests/test-open.c (main): Test against trailing slash bug.
52654         * doc/posix-functions/open.texi: Mention the trailing slash bug.
52655
52656 2008-06-10  Bruno Haible  <bruno@clisp.org>
52657
52658         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
52659         for $? to work inside the trap command, with various /bin/sh-s.
52660         * tests/test-vc-list-files-cvs.sh: Likewise.
52661
52662 2008-06-10  Bruno Haible  <bruno@clisp.org>
52663
52664         * lib/acl-internal.h: Don't include gettext.h here.
52665         * lib/set-mode-acl.c: Include gettext.h here.
52666         * lib/copy-acl.c: Likewise.
52667
52668 2008-06-10  Bruno Haible  <bruno@clisp.org>
52669
52670         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
52671         * lib/wait-process.c (wait_subprocess): Likewise.
52672         * lib/execute.h (execute): Add termsigp argument.
52673         * lib/execute.c (execute): Likewise.
52674         * lib/csharpcomp.c (compile_csharp_using_pnet,
52675         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
52676         * lib/csharpexec.c (execute_csharp_using_pnet,
52677         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
52678         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
52679         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
52680         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
52681         is_jikes_present): Update.
52682         * lib/javaexec.c (execute_java_class): Update.
52683         * lib/javaversion.c (execute_and_read_line): Update.
52684         * NEWS: Document the changes.
52685         Reported by Eric Blake.
52686
52687 2008-06-10  Eric Blake  <ebb9@byu.net>
52688
52689         Add missing include.
52690         * tests/test-strstr.c (includes): Add <signal.h>.
52691         * tests/test-strcasestr.c (includes): Likewise.
52692         * tests/test-memmem.c (includes): Likewise.
52693
52694 2008-06-10  Bruno Haible  <bruno@clisp.org>
52695
52696         * lib/wait-process.c (wait_subprocess): Add an assertion.
52697
52698 2008-06-10  Bruno Haible  <bruno@clisp.org>
52699
52700         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
52701
52702 2008-06-10  Bruno Haible  <bruno@clisp.org>
52703
52704         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
52705         using alarm().
52706         * tests/test-strcasestr.c (main): Likewise.
52707         * tests/test-strstr.c (main): Likewise.
52708
52709 2008-06-09  Bruno Haible  <bruno@clisp.org>
52710
52711         Work around the Solaris 10 ACE ACLs ABI change.
52712         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
52713         declare if ACL_NO_TRIVIAL is present.
52714         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
52715         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
52716         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
52717         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
52718         define if ACL_NO_TRIVIAL is present.
52719         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
52720         and use the current ABI.
52721         (file_has_acl): Use same #if condition as elsewhere.
52722         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
52723         in use, and use the current ABI.
52724         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
52725         Reported by Jim Meyering.
52726
52727 2008-06-09  Eric Blake  <ebb9@byu.net>
52728
52729         Work around environments that (stupidly) ignore SIGALRM.
52730         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
52731         before using alarm().
52732         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
52733         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
52734         Reported by Ian Beckwith <ianb@erislabs.net>.
52735
52736         Produce autobuild blurb earlier in log.
52737         * modules/autobuild (configure.ac-early): Move AB_INIT here.
52738
52739 2008-06-09  Jim Meyering  <meyering@redhat.com>
52740         and OndÅ™ej Vašík  <ovasik@redhat.com>
52741
52742         utimens.c: correct kernel bug work-around
52743         OndÅ™ej Vašík found that the invalid return value of 280 indicates
52744         failure, not success, and the kernel bug we're trying to work
52745         around affects not just the utimensat call, but also the fallback
52746         futimens call.
52747         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
52748         not success.
52749         [HAVE_FUTIMENS]: Use the same work-around, here.
52750
52751 2008-06-09  Jim Meyering  <meyering@redhat.com>
52752
52753         add more guards around definition of ACE_-related code
52754         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
52755         ALLOW and ACE_OWNER are also defined.
52756
52757 2008-06-08  Bruno Haible  <bruno@clisp.org>
52758
52759         * lib/acl-internal.h: Add me as co-author.
52760         * lib/file-has-acl.c: Likewise.
52761         * lib/set-mode-acl.c: Likewise.
52762         * lib/copy-acl.c: Likewise.
52763
52764 2008-06-08  Bruno Haible  <bruno@clisp.org>
52765
52766         Add support for AIX ACLs.
52767         * lib/acl-internal.h (acl_nontrivial): New declaration.
52768         * lib/file-has-acl.c (acl_nontrivial): New function.
52769         (file_has_acl): Add implementation using AIX 4 ACL API.
52770         * lib/set-mode-acl.c (qset_acl): Likewise.
52771         * lib/copy-acl.c (qcopy_acl): Likewise.
52772
52773 2008-06-08  Bruno Haible  <bruno@clisp.org>
52774
52775         Add support for HP-UX ACLs.
52776         * lib/acl-internal.h (acl_nontrivial): New declaration.
52777         * lib/file-has-acl.c (acl_nontrivial): New function.
52778         (file_has_acl): Add implementation using HP-UX 11 ACL API.
52779         * lib/set-mode-acl.c (qset_acl): Likewise.
52780         * lib/copy-acl.c (qcopy_acl): Likewise.
52781
52782 2008-06-08  Bruno Haible  <bruno@clisp.org>
52783
52784         Add support for Cygwin ACLs.
52785         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
52786         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
52787         the chmod_or_fchmod call.
52788         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
52789
52790 2008-06-08  Bruno Haible  <bruno@clisp.org>
52791
52792         Fix bug with setuid modes in Solaris 10+ code.
52793         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
52794         succeeded, when the mode contains some special bits.
52795
52796 2008-06-08  Bruno Haible  <bruno@clisp.org>
52797
52798         Add support for Solaris 7..10 ACLs.
52799         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
52800         declarations.
52801         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
52802         functions.
52803         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
52804         * lib/set-mode-acl.c (qset_acl): Likewise.
52805         * lib/copy-acl.c (qcopy_acl): Likewise.
52806
52807 2008-06-08  Bruno Haible  <bruno@clisp.org>
52808
52809         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
52810         declaration.
52811         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
52812         (acl_access_nontrivial): Remove MacOS X case.
52813         (file_has_acl): Use acl_extended_nontrivial.
52814         * lib/copy-acl.c (qcopy_acl): Likewise.
52815
52816 2008-06-08  Bruno Haible  <bruno@clisp.org>
52817
52818         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
52819
52820 2008-06-08  Jim Meyering  <meyering@redhat.com>
52821
52822         * modules/acl (Maintainer): Add Bruno Haible.
52823
52824 2008-06-07  Bruno Haible  <bruno@clisp.org>
52825
52826         Improve support for Tru64 ACLs.
52827         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
52828         ACL on OSF/1.
52829
52830 2008-06-07  Bruno Haible  <bruno@clisp.org>
52831
52832         Add support for MacOS X ACLs.
52833         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
52834         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
52835         * lib/set-mode-acl.c (qset_acl): Likewise.
52836         * lib/copy-acl.c (qcopy_acl): Likewise.
52837
52838 2008-06-07  Bruno Haible  <bruno@clisp.org>
52839
52840         Fix memory leak introduced on 2008-05-22.
52841         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
52842         use.
52843
52844 2008-06-07  Bruno Haible  <bruno@clisp.org>
52845
52846         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
52847         to construct an empty ACL.
52848
52849 2008-06-07  Bruno Haible  <bruno@clisp.org>
52850
52851         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
52852         precisely.
52853         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
52854
52855 2008-06-07  Bruno Haible  <bruno@clisp.org>
52856
52857         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
52858         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
52859
52860 2008-06-07  Bruno Haible  <bruno@clisp.org>
52861
52862         * doc/posix-functions/_setjmp.texi: Explain the use of this function
52863         regardless of POSIX.
52864         * doc/posix-functions/_longjmp.texi: Likewise.
52865         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
52866         SystemV platform in this case.
52867
52868 2008-06-06  Eric Blake  <ebb9@byu.net>
52869
52870         Document abort() bugs.
52871         * doc/posix-functions/abort.texi (abort): Mention anomalies.
52872
52873         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
52874         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
52875         sigsetjmp.
52876         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
52877         siglongjmp, but only as a macro.
52878         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
52879         is obsolete.
52880         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
52881
52882         Tweak documentation to cover cygwin argz bugs.
52883         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
52884         argz bug fix; no code change needed since no cygwin releases
52885         occurred between the last fix and the bug being tested.
52886         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
52887         module and recently fixed cygwin bugs.
52888         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
52889         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
52890         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
52891         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
52892         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
52893         Likewise.
52894         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
52895         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
52896         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
52897         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
52898         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
52899         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
52900         Likewise.
52901
52902         Avoid gcc warning on cygwin.
52903         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
52904         !ACL_NO_TRIVIAL]: Avoid unused variable.
52905
52906 2008-06-05  Eric Blake  <ebb9@byu.net>
52907
52908         Be tolerant of UNKNOWN version in gnulib-tool test dir.
52909         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
52910         git-version-gen fails to come up with a version.
52911         Reported by Simon Josefsson.
52912
52913 2008-06-05  Jim Meyering  <meyering@redhat.com>
52914             Paul Eggert  <eggert@cs.ucla.edu>
52915
52916         utimens.c: work around a probable Linux kernel bug
52917         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
52918         appears to be a kernel bug that causes utimensat to return 280
52919         instead of 0, indicating success.
52920
52921 2008-06-04  Bruno Haible  <bruno@clisp.org>
52922
52923         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
52924         2008-06-01 commit.
52925
52926 2008-06-04  Bruno Haible  <bruno@clisp.org>
52927
52928         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
52929         * lib/file-has-acl.c (acl_access_nontrivial): New function.
52930         (file_has_acl): Use it. Save errno afterwards.
52931         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
52932
52933 2008-06-03  Bruno Haible  <bruno@clisp.org>
52934
52935         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
52936         draft code. Simplify #ifs.
52937         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
52938         Put Solaris code after POSIX-draft code. Fix comments regarding
52939         Solaris 10, HP-UX. Mention Cygwin.
52940         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
52941
52942 2008-06-03  Eric Blake  <ebb9@byu.net>
52943
52944         Provide fallback for older kernels.
52945         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
52946         Provide runtime fallback if kernel lacks support.
52947         Reported by Mike Frysinger.
52948
52949 2008-06-02  Bruno Haible  <bruno@clisp.org>
52950
52951         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
52952         it exists.
52953
52954 2008-06-02  Bruno Haible  <bruno@clisp.org>
52955
52956         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
52957         * lib/copy-acl.c (qcopy_acl): Update comment.
52958
52959 2008-06-02  Bruno Haible  <bruno@clisp.org>
52960
52961         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
52962         like ACL APIs.
52963
52964 2008-06-02  Bruno Haible  <bruno@clisp.org>
52965
52966         * tests/test-file-has-acl.sh: Use different code for Cygwin.
52967         * tests/test-set-mode-acl.sh: Likewise.
52968         * tests/test-copy-acl.sh: Likewise.
52969         * tests/test-copy-file.sh: Likewise.
52970
52971 2008-06-02  Bruno Haible  <bruno@clisp.org>
52972
52973         * tests/test-file-has-acl.sh: Remove unused code.
52974
52975 2008-06-01  Bruno Haible  <bruno@clisp.org>
52976
52977         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
52978         (copy_acl): Just a wrapper around qcopy_acl that emits the error
52979         messages.
52980         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
52981
52982 2008-06-01  Bruno Haible  <bruno@clisp.org>
52983
52984         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
52985         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
52986         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
52987         APIs.
52988         * modules/acl-tests (configure.ac): Remove tests now contained in
52989         m4/acl.m4.
52990
52991 2008-06-02  Jim Meyering  <meyering@redhat.com>
52992
52993         announce-gen: use a better key-server host name
52994         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
52995         it may be more consistently reliable.  Suggested by Werner Koch
52996         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
52997
52998 2008-06-01  Bruno Haible  <bruno@clisp.org>
52999
53000         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
53001         Reported by Voroskoi Andras <voroskoi@gmail.com>.
53002
53003 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
53004
53005         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
53006
53007 2008-06-01  Bruno Haible  <bruno@clisp.org>
53008
53009         New ACL tests.
53010         * tests/test-file-has-acl.sh: New file.
53011         * tests/test-file-has-acl.c: New file.
53012         * tests/test-set-mode-acl.sh: New file.
53013         * tests/test-set-mode-acl.c: New file.
53014         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
53015         * tests/test-copy-acl.c: New file.
53016         * modules/acl-tests: New file, based on modules/copy-file-tests.
53017         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
53018         (Depends-on): Add acl-tests.
53019         (configure.ac): Remove checks.
53020         (Makefile.am): Don't create test-sameacls program here any more.
53021
53022 2008-06-01  Bruno Haible  <bruno@clisp.org>
53023
53024         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
53025         * tests/test-sameacls.c: Include progname.h.
53026         (main): Invoke set_program_name. Portability fixes for MacOS X,
53027         Solaris, HP-UX.
53028
53029 2008-06-01  Bruno Haible  <bruno@clisp.org>
53030
53031         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
53032         function.
53033         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
53034
53035 2008-06-01  Bruno Haible  <bruno@clisp.org>
53036
53037         * modules/rpmatch (Depends-on): Add strdup.
53038
53039 2008-06-01  Bruno Haible  <bruno@clisp.org>
53040
53041         * lib/pipe.c: Include unistd-safer.h.
53042         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
53043         * modules/pipe (Depends-on): Add unistd-safer.
53044
53045 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53046
53047         * modules/autobuild (configure.ac): Call AB_INIT.
53048
53049 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53050
53051         * tests/test-getaddrinfo.c: Don't print debug messages by default.
53052         Suggested by Bruno Haible <bruno@clisp.org>.
53053
53054 2008-05-30  Simon Josefsson  <simon@josefsson.org>
53055
53056         * tests/test-base64.c: Cast size_t to unsigned long when invoking
53057         printf.  Use %lu instead of %d.  Reported by Bruno Haible
53058         <bruno@clisp.org>.
53059
53060 2008-05-29  Eric Blake  <ebb9@byu.net>
53061
53062         Prefer new POSIX 200x interfaces over futimesat.
53063         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
53064         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
53065         when available.
53066         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
53067
53068 2008-05-28  Bruno Haible  <bruno@clisp.org>
53069
53070         * modules/stpcpy (License): Change to LGPLv2+.
53071         Requested by David Lutterkort <dlutter@redhat.com>.
53072
53073 2008-05-27  Bruno Haible  <bruno@clisp.org>
53074
53075         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
53076         current mingw.
53077         Reported by Jose E. Marchesi <jemarch@gnu.org>.
53078
53079 2008-05-27  Bruno Haible  <bruno@clisp.org>
53080
53081         * modules/iconv_open (Link): New section, from module 'iconv'.
53082         * modules/striconv (Link): Likewise.
53083         * modules/striconveh (Link): Likewise.
53084         * modules/xstriconv (Link): Likewise.
53085         * modules/unicodeio (Link): Likewise.
53086         * modules/propername (Link): Likewise.
53087         Reported by Jim Meyering.
53088
53089 2008-05-26  Jim Meyering  <meyering@redhat.com>
53090
53091         sha256: do not artificially restrict buffer length to be < 2^32
53092         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
53093         uint32_t to size_t.
53094         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
53095         to match.
53096
53097         avoid unaligned access errors, e.g., on sparc
53098         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
53099         direct access through a possibly-unaligned uint64* pointer.
53100         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
53101         direct access through a possibly-unaligned uint32* pointer.
53102         Prompted by this patch from Tom "spot" Callaway:
53103         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
53104
53105         sha512.c: fix typo in comment
53106         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
53107
53108 2008-05-25  Bruno Haible  <bruno@clisp.org>
53109
53110         * lib/set-mode-acl.c: Renamed from lib/acl.c.
53111         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
53112         (Makefile.am): Update lib_SOURCES.
53113
53114 2008-05-25  Bruno Haible  <bruno@clisp.org>
53115
53116         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
53117
53118 2008-05-25  Jim Meyering  <meyering@redhat.com>
53119
53120         useless-if-before-free: freed expr may have white-space differences
53121         * build-aux/useless-if-before-free: Recognize cases in which the
53122         freed expression differs from the tested one in embedded white
53123         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
53124         $1 was used, so we can't make any regexp shy.  Improved tests now
53125         detect this.
53126
53127         useless-if-before-free: accept white space in the expression.
53128         * build-aux/useless-if-before-free: For now, any white space
53129         in the expression must be identical in the free argument.
53130
53131         useless-if-before-free: efficiency tweak
53132         * build-aux/useless-if-before-free: Make the expression-matching
53133         regexp "shy".
53134         Make the *outer* regexp shy, not the expr-matching one.
53135
53136         update code-in-comment to accept cast of free arg
53137         * build-aux/useless-if-before-free: Update regexp.
53138
53139 2008-05-25  Bruno Haible  <bruno@clisp.org>
53140
53141         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
53142         * modules/copy-file-tests (Files, Makefile.am): Update.
53143         * tests/test-copy-file.c (func_test_copy): Update.
53144
53145 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
53146
53147         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
53148
53149 2008-05-23  Bruno Haible  <bruno@clisp.org>
53150
53151         Improve support for ACLs on OSF/1.
53152         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
53153         Remove fallback for unknown flavors of ACLs.
53154
53155 2008-05-22  Bruno Haible  <bruno@clisp.org>
53156
53157         Add support for ACLs on OSF/1.
53158         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
53159         replacements.
53160         (acl_free_text): New macro fallback.
53161         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
53162         acl_free.
53163         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
53164         acl_free_text function. Require AC_C_INLINE.
53165
53166 2008-05-22  Bruno Haible  <bruno@clisp.org>
53167
53168         Make copy_acl work on MacOS X 10.5.
53169         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
53170         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
53171         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
53172         If MODE_INSIDE_ACL, don't assume that every system has the same text
53173         representation for ACLs as FreeBSD.
53174         * lib/copy-acl.c (copy_acl): Add support for platforms with
53175         !MODE_INSIDE_ACL.
53176         * lib/file-has-acl.c (file_has_acl): Likewise.
53177         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
53178         FreeBSD, MacOS X, or IRIX, respectively.
53179
53180 2008-05-22  Bruno Haible  <bruno@clisp.org>
53181
53182         * lib/acl.h: Don't include <sys/acl.h>.
53183         (GETACLCNT): Move fallback to lib/acl-internal.h.
53184         * lib/acl-internal.h: Include <sys/acl.h> here.
53185         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
53186
53187 2008-05-22  Bruno Haible  <bruno@clisp.org>
53188
53189         Split off copy_acl function to separate file.
53190         * lib/copy-acl.c: New file, extracted from lib/acl.c.
53191         * lib/acl.c (copy_acl): Moved function to separate file.
53192         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
53193         * modules/acl (Files): Add lib/copy-acl.c.
53194         (Makefiles.am): Augment lib_SOURCES.
53195
53196 2008-05-22  Bruno Haible  <bruno@clisp.org>
53197
53198         * modules/copy-file-tests: New file.
53199         * tests/test-copy-file.sh: New file.
53200         * tests/test-copy-file.c: New file.
53201         * tests/test-copy-file-sameacls.c: New file.
53202
53203 2008-05-22  Eric Blake  <ebb9@byu.net>
53204
53205         Avoid gcc warning.
53206         * tests/test-memcmp.c (main): Pass NULL indirectly.
53207
53208 2008-05-21  Bruno Haible  <bruno@clisp.org>
53209
53210         Add reference doc about ACLs.
53211         * doc/acl-resources.txt: New file.
53212         * doc/acl-cygwin.txt: New file.
53213
53214 2008-05-21  Bruno Haible  <bruno@clisp.org>
53215
53216         Avoid one more warning from gcc.
53217         * lib/vasnprintf.c (IF_LINT): Update comments.
53218         (VASNPRINTF): Use it also for the 'prefix' array initializer.
53219
53220 2008-05-21  Jim Meyering  <meyering@redhat.com>
53221
53222         avoid a warning from gcc
53223         * lib/vasnprintf.c (IF_LINT): Define.
53224         (scale10_round_decimal_long_double):
53225         Use it to avoid a "may be used uninitialized" warning.
53226         (scale10_round_decimal_double): Likewise.
53227
53228 2008-05-21  Simon Josefsson  <simon@josefsson.org>
53229
53230         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
53231         declared.
53232
53233 2008-05-20  Bruno Haible  <bruno@clisp.org>
53234
53235         * tests/test-memcmp.c (main): Test also the sign of the result. Test
53236         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
53237
53238 2008-05-20  Simon Josefsson  <simon@josefsson.org>
53239
53240         * modules/memcmp-tests: New file.
53241         * tests/test-memcmp.c: New file.
53242
53243 2008-05-19  Bruno Haible  <bruno@clisp.org>
53244
53245         * modules/propername (Notice, configure.ac): Put quoted "..." into
53246         --keyword option.
53247         * lib/propername.h: Update comments accordingly.
53248         Reported by Eric Blake.
53249
53250 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
53251
53252         * modules/getpass-gnu (Depends-on): Add fseeko.
53253
53254 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53255
53256         * modules/base64-tests: New file.
53257
53258 2008-05-19  Bo Borgerson <gigabo@gmail.com>
53259
53260         * lib/base64.c (base64_decode_ctx): If a decode context structure
53261         was passed in use it to ignore newlines.  If a context structure
53262         was _not_ passed in, continue to treat newlines as garbage (this
53263         is the historical behavior).  Formerly base64_decode.
53264         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53265         takes a decode context structure.
53266         * lib/base64.h (base64_decode): Macro for four-argument calls.
53267         (base64_decode_alloc): Likewise.
53268         * lib/base64.c (base64_decode_ctx): If a decode context structure
53269         was passed in use it to ignore newlines.  If a context structure
53270         was _not_ passed in, continue to treat newlines as garbage (this
53271         is the historical behavior).  Formerly base64_decode.
53272         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
53273         takes a decode context structure.
53274         * lib/base64.h (base64_decode): Macro for four-argument calls.
53275         (base64_decode_alloc): Likewise.
53276
53277 2008-05-19  Jim Meyering  <meyering@redhat.com>
53278
53279         avoid a warning from gcc
53280         * lib/trim.c (IF_LINT): Define.
53281         (trim2): Use it to avoid a "may be used uninitialized" warning.
53282
53283         Fix doc typo.
53284         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
53285
53286 2008-05-19  Bruno Haible  <bruno@clisp.org>
53287
53288         * doc/glibc-functions/getpass.texi: Document limits of other
53289         implementations.
53290
53291 2008-05-19  Simon Josefsson  <simon@josefsson.org>
53292             Bruno Haible <bruno@clisp.org>
53293
53294         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
53295
53296 2008-05-18  Bruno Haible  <bruno@clisp.org>
53297
53298         * modules/propername: New file, from GNU gettext.
53299         * lib/propername.h: New file, from GNU gettext.
53300         * lib/propername.c: New file, from GNU gettext.
53301         * MODULES.html.sh (Internationalization functions): Add propername.
53302
53303 2008-05-16  Jim Meyering  <meyering@redhat.com>
53304             Bruno Haible  <bruno@clisp.org>
53305
53306         Avoid some warnings from "gcc -Wshadow".
53307         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
53308
53309 2008-05-15  Eric Blake  <ebb9@byu.net>
53310
53311         Extend previous patch to cygwin 1.7.0.
53312         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
53313         fast implementation in cygwin >= 1.7.0.
53314         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53315         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53316
53317 2008-05-15  Bruno Haible  <bruno@clisp.org>
53318
53319         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
53320         implementation in glibc >= 2.9.
53321         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
53322         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
53323
53324 2008-05-15  Bruno Haible  <bruno@clisp.org>
53325
53326         * MODULES.html.sh (Internationalization functions): Remove linebreak.
53327         (Unicode string functions): Add unilbrk/*.
53328         Reported by Karl Berry.
53329
53330 2008-05-15  Eric Blake  <ebb9@byu.net>
53331
53332         Fix violation of <stdbool.h> replacement in regex.
53333         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
53334         * lib/regexec.c (re_search_internal): Likewise.
53335         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
53336
53337 2008-05-15  Jim Meyering  <meyering@redhat.com>
53338
53339         avoid distracting test output when git or cvs is not found
53340         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
53341         * tests/test-vc-list-files-git.sh: Likewise.
53342
53343 2008-05-15  Eric Blake  <ebb9@byu.net>
53344
53345         Glibc finally accepted the memmem speedup code, bugzilla #5514.
53346         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
53347         glibc version.
53348         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
53349         * doc/posix-functions/strstr.texi (strstr): Likewise.
53350         * lib/str-two-way.h (MAX): Sychronize with glibc.
53351
53352 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
53353
53354         * lib/regcomp.c (optimize_utf8): Add a note on why we test
53355         opr.ctx_type.
53356         (calc_first): Initialize constraint field.
53357         (duplicate_node_closure): Use it instead of special casing ANCHORS.
53358         Fix grammar.
53359         (duplicate_node): Merge constraint field for all node types.
53360         (calc_eclosure_iter): Look at constraint field for all node types.
53361         * lib/regex_internal.c (create_cd_newstate): Don't look at
53362         opr.ctx_type.
53363
53364 2008-05-14  Bruno Haible  <bruno@clisp.org>
53365
53366         Help GCC to do better code generation.
53367         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
53368         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
53369         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
53370         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
53371         Declare with attribute 'malloc' if supported.
53372
53373 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
53374
53375         use "echo STR|wc -c" rather than unportable "expr length STR"
53376         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
53377         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
53378
53379 2008-05-14  Jim Meyering  <meyering@redhat.com>
53380
53381         use dd ibs=$n count=1 ... rather than less-portable head -c$n
53382         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
53383         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
53384         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
53385         via Collin Lasse.
53386
53387 2008-05-14  Eric Blake  <ebb9@byu.net>
53388
53389         Avoid quadratic growth in gl_LIBSOURCES.
53390         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
53391         Suggested by Bruno Haible.
53392
53393         Test xmemdup0.
53394         * modules/xmemdup0-tests: New file.
53395         * tests/test-xmemdup0.c: Likewise.
53396
53397 2008-05-13  Eric Blake  <ebb9@byu.net>
53398
53399         Split xmemdup0 into its own module.
53400         * modules/xmemdup0: New file.
53401         * lib/xmemdup0.h: Likewise.
53402         * lib/xmemdup0.c: Likewise.
53403         * MODULES.html.sh (Memory management functions): Add xmemdup0.
53404         * lib/xalloc.h (xmemdup0): Remove.
53405         * lib/xmalloc.c (xmemdup0): Likewise.
53406
53407 2008-05-13  Eric Blake  <ebb9@byu.net>
53408             Bruno Haible  <bruno@clisp.org>
53409
53410         Reduce number of forks required during autoconf.
53411         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
53412         and gl_LIBSOURCES_DIR.
53413         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
53414         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
53415         m4_syscmd per file.
53416         <m4_foreach_w>: Move...
53417         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
53418
53419 2008-05-13  Eric Blake  <ebb9@byu.net>
53420
53421         * gnulib-tool: Fix various comment typos.
53422
53423 2008-05-12  Bruno Haible  <bruno@clisp.org>
53424
53425         Tailor the linebreaking algorithm.
53426         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
53427
53428 2008-05-12  Bruno Haible  <bruno@clisp.org>
53429
53430         Update to Unicode 5.0.0.
53431         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53432         LBP_JV, LBP_JT. Redistribute values.
53433         (unilbrk_table): Change size.
53434         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
53435         Unicode TR#14 rev. 22.
53436         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
53437         LBP_JV, LBP_JT. Redistribute values.
53438         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
53439         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
53440         Update.
53441         * lib/unilbrk/lbrkprop1.h: Regenerated.
53442         * lib/unilbrk/lbrkprop2.h: Regenerated.
53443         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
53444         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
53445         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
53446         Likewise.
53447         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
53448         Likewise.
53449         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
53450         result.
53451         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
53452         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
53453         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
53454         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
53455         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
53456         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
53457
53458 2008-05-11  Bruno Haible  <bruno@clisp.org>
53459
53460         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
53461
53462 2008-05-11  Bruno Haible  <bruno@clisp.org>
53463
53464         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
53465         * modules/unilbrk/gen-lbrk: New file.
53466
53467 2008-05-11  Bruno Haible  <bruno@clisp.org>
53468
53469         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
53470         * m4/sha512.m4 (gl_SHA512): Likewise.
53471
53472 2008-05-11  Jim Meyering  <meyering@redhat.com>
53473
53474         New modules: crypto/sha256, crypto/sha512 (from coreutils)
53475         * modules/crypto/sha256: New file.
53476         * modules/crypto/sha512: Likewise.
53477         * lib/sha256.c: Likewise.
53478         * lib/sha256.h: Likewise.
53479         * lib/sha512.c: Likewise.
53480         * lib/sha512.h: Likewise.
53481         * lib/u64.h: Likewise.
53482         * m4/sha256.m4: Likewise.
53483         * m4/sha512.m4: Likewise.
53484         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
53485
53486 2008-05-10  Bruno Haible  <bruno@clisp.org>
53487
53488         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
53489         (Input/Output <stdio.h>): Add xprintf.
53490         (Signal handling <signal.h>): Add strsignal.
53491         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
53492         (Core language properties): Add func.
53493         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
53494         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
53495         strings.
53496         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
53497         (Input/output): New section.
53498         (File system functions): Add openat-die, stat-macros.
53499         (Networking functions): Add sockets.
53500         (Unicode string functions): Add unictype/*.
53501         (Support for building libraries and executables): Add gperf.
53502         (Support for building documentation): Add agpl-3.0.
53503         (Misc): Add nocrash.
53504
53505 2008-05-10  Bruno Haible  <bruno@clisp.org>
53506
53507         * modules/unictype/gen-ctype: New file.
53508
53509 2008-05-10  Jim Meyering  <meyering@redhat.com>
53510
53511         Make chdir-safer.c more efficient on a system with no symlinks.
53512         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
53513         also if ELOOP is zero.  Suggested by Bruno Haible.
53514
53515         Make chdir-safer.c slightly safer.
53516         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
53517         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
53518
53519         Avoid compile failure on systems without ELOOP (like mingw).
53520         * lib/chdir-safer.c (ELOOP): Define if not already defined.
53521         Reported by Bruno Haible.
53522
53523 2008-05-10  Bruno Haible  <bruno@clisp.org>
53524
53525         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
53526         (is_utf8_encoding): Use a case-insensitive comparison.
53527         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
53528         streq.
53529
53530 2008-05-10  Bruno Haible  <bruno@clisp.org>
53531
53532         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
53533         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
53534         * lib/unilbrk/ulc-common.h (iconv_string_length,
53535         iconv_string_keeping_offsets): Remove declarations.
53536         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
53537         Don't include <iconv.h>, streq.h, xsize.h.
53538         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
53539         conversion.
53540         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
53541         <iconv.h>, streq.h, xsize.h.
53542         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
53543         conversion.
53544         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
53545         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
53546         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
53547         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
53548
53549 2008-05-10  Bruno Haible  <bruno@clisp.org>
53550
53551         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
53552         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
53553
53554         * modules/unilbrk/u32-width-linebreaks-tests: New file.
53555         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
53556
53557         * modules/unilbrk/u16-width-linebreaks-tests: New file.
53558         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
53559
53560         * modules/unilbrk/u8-width-linebreaks-tests: New file.
53561         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
53562
53563         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
53564         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
53565
53566         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
53567         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
53568
53569         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
53570         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
53571
53572         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
53573         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
53574
53575 2008-05-10  Bruno Haible  <bruno@clisp.org>
53576
53577         Split up 'linebreak' module.
53578         * lib/unilbrk.h: New file, based on lib/linebreak.h.
53579         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
53580         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
53581         modifications.
53582         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
53583         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
53584         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
53585         lib/linebreak.c.
53586         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
53587         lib/linebreak.c.
53588         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
53589         lib/linebreak.c.
53590         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
53591         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
53592         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
53593         lib/linebreak.c.
53594         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
53595         lib/linebreak.c.
53596         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
53597         lib/linebreak.c.
53598         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
53599         lib/linebreak.c.
53600         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
53601         lib/linebreak.c.
53602         * modules/unilbrk/base: New file.
53603         * modules/unilbrk/tables: New file.
53604         * modules/unilbrk/u8-possible-linebreaks: New file.
53605         * modules/unilbrk/u16-possible-linebreaks: New file.
53606         * modules/unilbrk/u32-possible-linebreaks: New file.
53607         * modules/unilbrk/ulc-common: New file.
53608         * modules/unilbrk/ulc-possible-linebreaks: New file.
53609         * modules/unilbrk/u8-width-linebreaks: New file.
53610         * modules/unilbrk/u16-width-linebreaks: New file.
53611         * modules/unilbrk/u32-width-linebreaks: New file.
53612         * modules/unilbrk/ulc-width-linebreaks: New file.
53613         * lib/linebreak.h: Remove file.
53614         * lib/linebreak.c: Remove file.
53615         * m4/linebreak.m4: Remove file.
53616         * modules/linebreak: Remove file.
53617         * NEWS: Mention the changes.
53618
53619 2008-05-09  Eric Blake  <ebb9@byu.net>
53620
53621         Add xmemdup0.
53622         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
53623         implementation.
53624         * lib/xmalloc.c (xmemdup0): New C implementation.
53625
53626 2008-05-08  Bruno Haible  <bruno@clisp.org>
53627
53628         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
53629
53630 2008-05-07  Eric Blake  <ebb9@byu.net>
53631
53632         Support cross-compilation of <wctype.h>.
53633         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
53634         AC_CACHE_CHECK.
53635
53636 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
53637
53638         * build-aux/vc-list-files: Add support for bzr.
53639
53640 2008-05-03  Jim Meyering  <meyering@redhat.com>
53641
53642         avoid failed assertion with tight malloc
53643         * tests/test-getndelim2.c: Correct an off-by-one assertion.
53644
53645 2008-05-03  Simon Josefsson  <simon@josefsson.org>
53646
53647         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
53648         are needed from arpa/inet.h.
53649         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
53650         Reported by Bruno Haible.
53651
53652 2008-05-02  Jim Meyering  <meyering@redhat.com>
53653
53654         avoid compilation error on FreeBSD 6
53655         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
53656
53657 2008-05-01  Jim Meyering  <meyering@redhat.com>
53658
53659         useless-if-before-free: correct --help's exit status description
53660         * build-aux/useless-if-before-free (usage): Like grep, exit 0
53661         for one or more matches, etc.  Reported by Bruno Haible.
53662
53663         vc-list-files: make the stand-alone gnulib test work
53664         * modules/vc-list-files-tests (configure.ac):
53665         Define and AC_SUBST abs_aux_dir.
53666         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
53667         $(abs_top_srcdir) to each script and having each of them
53668         duplicate the work of setting PATH, set PATH here, using
53669         the new variable, abs_aux_dir instead.
53670         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
53671         * tests/test-vc-list-files-git.sh: Likewise.
53672         Reported by Bruno Haible.
53673
53674 2008-05-01  Bruno Haible  <bruno@clisp.org>
53675
53676         * lib/getndelim2.c (getndelim2): Fix newsize computation during
53677         reallocation. Rename 'done' to 'found_delimiter'.
53678
53679 2008-05-01  Jim Meyering  <meyering@redhat.com>
53680
53681         vc-list-files: accommodate /bin/sh like the one from Solaris 10
53682         * build-aux/vc-list-files: Use `...`, not $(...).
53683
53684 2008-04-30  Jim Meyering  <meyering@redhat.com>
53685
53686         add tests for vc-list-files
53687         * modules/vc-list-files-tests: New module.
53688         * tests/test-vc-list-files-cvs.sh: New file.
53689         * tests/test-vc-list-files-git.sh: New file.
53690
53691         avoid a warning from gcc
53692         * lib/getndelim2.c (IF_LINT): Define.
53693         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
53694
53695         vc-list-files: work properly with build-aux/cvsu, too
53696         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
53697         to all cvs-based clauses.
53698
53699         vc-list-files: work properly in the CVS+awk case, too
53700         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
53701
53702         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
53703         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
53704         take more than one file argument, so .  Add quotes, just in case $dir
53705         ever contains a shell meta-character.  Prompted by Soren Hansen in
53706         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
53707
53708 2008-04-29  Eric Blake  <ebb9@byu.net>
53709
53710         Optimize getndelim2 to use block operations when possible.
53711         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
53712         freadseek, and memchr2.
53713         * lib/getndelim2.c (getndelim2): Use them for block reads.
53714
53715 2008-04-29  Bruno Haible  <bruno@clisp.org>
53716
53717         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
53718         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53719         * modules/inet_ntop (Depends-on): Add extensions.
53720         * modules/inet_pton (Depends-on): Likewise.
53721         Reported by Simon Josefsson.
53722
53723 2008-04-29  Jim Meyering  <meyering@redhat.com>
53724
53725         When the is more than one match in a block, match all of them.
53726         * build-aux/useless-if-before-free: Iterate through each block
53727         until there are no more matches.
53728
53729         Fix broken useless-if-before-free script.
53730         * build-aux/useless-if-before-free: Fix typo: missing "?" after
53731         the expression to match cast of argument to free-like function.
53732
53733 2008-04-29  Eric Blake  <ebb9@byu.net>
53734
53735         Use new header.
53736         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
53737
53738 2008-04-29  Jim Meyering  <meyering@redhat.com>
53739
53740         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
53741         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
53742         by gnulib to exist and to declare e.g., inet_ntop.
53743         Don't include "inet_ntop.h", now removed.
53744
53745         * m4/arpa_inet_h.m4: Remove trailing blanks.
53746
53747 2008-04-29  Eric Blake  <ebb9@byu.net>
53748
53749         Silence valgrind on safe reads beyond potential array bounds.
53750         * lib/rawmemchr.valgrind: New file.
53751         * lib/strchrnul.valgrind: Likewise.
53752         * modules/rawmemchr (Files): Distribute new file.
53753         * modules/strchrnul (Files): Likewise.
53754         Suggested by Bruno Haible.
53755
53756 2008-04-29  Bruno Haible  <bruno@clisp.org>
53757
53758         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
53759         (inet_ntop, inet_pton): Change portability warning's wording.
53760         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
53761         Invoke gl_CHECK_NEXT_HEADERS.
53762         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
53763         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
53764         set ARPA_INET_H.
53765         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
53766         * modules/arpa_inet (Description): No longer only for systems that
53767         lack it.
53768         (Depends-on): Add include_next.
53769         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
53770         HAVE_ARPA_INET_H.
53771
53772 2008-04-29  Jim Meyering  <meyering@redhat.com>
53773
53774         * modules/mkdir (License): Re-license as LGPLv2+.
53775
53776 2008-04-29  Bruno Haible  <bruno@clisp.org>
53777
53778         * modules/rawmemchr (Maintainer): Set to Eric.
53779         * modules/strchrnul (Maintainer): Likewise.
53780
53781 2008-04-29  Simon Josefsson  <simon@josefsson.org>
53782
53783         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
53784         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
53785
53786         * modules/arpa_inet (arpa/inet.h): Use them.
53787
53788 2008-04-28  Eric Blake  <ebb9@byu.net>
53789
53790         Test getndelim2.
53791         * modules/getndelim2-tests: New file.
53792         * tests/test-getndelim2.c: Likewise.
53793         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
53794         stream.
53795         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
53796
53797         * MODULES.html.sh: Document new module.
53798
53799 2008-04-20  Bruno Haible  <bruno@clisp.org>
53800
53801         * lib/c-stack.c (die): Use raise.
53802         * modules/c-stack (Depends-on): Add raise.
53803
53804 2008-04-28  Bruno Haible  <bruno@clisp.org>
53805
53806         Expect rpmatch to be declared.
53807         * lib/yesno.c (rpmatch): Remove declaration.
53808
53809         Declare rpmatch.
53810         * lib/stdlib.in.h (rpmatch): New declaration.
53811         * lib/rpmatch.c: Include <stdlib.h> first.
53812         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
53813         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
53814         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
53815         HAVE_RPMATCH.
53816         * modules/rpmatch (Depends-on): Add stdlib, extensions.
53817         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
53818         (Include): Set to <stdlib.h>.
53819         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
53820         HAVE_RPMATCH.
53821         * NEWS: Document the change.
53822
53823 2008-04-28  Bruno Haible  <bruno@clisp.org>
53824
53825         Change rpmatch to use nl_langinfo when appropriate.
53826         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
53827         (N_): New macro.
53828         (localized_pattern): New function/macro.
53829         (try): Remove match, nomatch arguments. Copy the pattern into safe
53830         memory before caching it.
53831         (rpmatch): Use localized_pattern. Add translator comments.
53832         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
53833         Suggested by Eric Blake.
53834         * modules/rpmatch (Depends-on): Add stdbool.
53835
53836 2008-04-28  Eric Blake  <ebb9@byu.net>
53837
53838         Add rawmemchr module, matching glibc.
53839         * modules/string (Makefile.am): New indicator.
53840         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
53841         * lib/string.in.h (rawmemchr): Declare when appropriate.
53842         * modules/rawmemchr: New file.
53843         * m4/rawmemchr.m4: Likewise.
53844         * lib/rawmemchr.c: Likewise.
53845         * modules/rawmemchr-tests: Likewise.
53846         * tests/test-rawmemchr.c: Likewise.
53847         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
53848         module.
53849         * modules/strchrnul (Depends-on): Add rawmemchr.
53850         * lib/strchrnul.c (strchrnul): Optimize a corner case.
53851
53852         Whitespace cleanup.
53853         * tests/test-strchrnul.c: Reindent.
53854         * lib/strchrnul.c: Likewise.
53855
53856         Optimize and test strchrnul.
53857         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
53858         * modules/strchrnul-tests: New file.
53859         * tests/test-strchrnul.c: Likewise.
53860
53861         Remove intprops dependency.
53862         * modules/memchr (Depends-on): Remove intprops.
53863         * modules/memrchr (Depends-on): Likewise.
53864         * modules/memchr2 (Depends-on): Likewise.
53865         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
53866         * lib/memrchr.c (__memrchr): Likewise.
53867         * lib/memrchr2.c (memchr2): Likewise.
53868         Reported by Simon Josefsson.
53869
53870 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53871
53872         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
53873         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
53874
53875 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53876
53877         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
53878
53879         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
53880
53881         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
53882
53883         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
53884         declarations.
53885         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
53886
53887         * m4/inet_pton.m4: Don't check for header files.
53888
53889         * m4/inet_ntop.m4: Don't check for header files.
53890
53891 2008-04-28  Simon Josefsson  <simon@josefsson.org>
53892
53893         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
53894         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
53895         trigger for cygwin).
53896         Reported by Bruno Haible  <bruno@clisp.org>.
53897
53898 2008-04-28  Bruno Haible  <bruno@clisp.org>
53899
53900         * doc/posix-functions/strdup.texi: Mention mingw problem.
53901
53902 2008-04-27  Bruno Haible  <bruno@clisp.org>
53903
53904         * modules/stat-time-tests (Depends-on): Add sleep.
53905         * tests/test-stat-time.c (force_unlink): New function.
53906         (cleanup): Use it.
53907         (test_mtime): Remove the ctime related tests.
53908         (test_ctime): New function, containing the ctime related tests.
53909         (main): Call test_ctime, except on native Windows platforms.
53910
53911 2008-04-27  Bruno Haible  <bruno@clisp.org>
53912
53913         * lib/rpmatch.c (rpmatch): Add some comments.
53914         Reported by James Youngman <jay@gnu.org>.
53915
53916 2008-04-27  Bruno Haible  <bruno@clisp.org>
53917
53918         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
53919         quiet NaNs.
53920
53921 2008-04-27  Bruno Haible  <bruno@clisp.org>
53922
53923         Make test-yesno.sh work on mingw.
53924         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
53925         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
53926         (main): Set stdin to binary mode.
53927         * modules/yesno-tests (Depends-on): Add binary-io.
53928
53929 2008-04-27  Bruno Haible  <bruno@clisp.org>
53930
53931         Fix 'isfinite' on x86, x86_64, ia64 platforms.
53932         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
53933         argument that lie outside the IEEE 854 domain.
53934         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
53935         (gl_ISFINITE): Use it.
53936         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
53937
53938 2008-04-27  Bruno Haible  <bruno@clisp.org>
53939
53940         Allow local renaming in config.h.
53941         * lib/memrchr.c (memrchr): Don't undefine outside libc.
53942
53943 2008-04-27  Bruno Haible  <bruno@clisp.org>
53944
53945         * lib/memchr.c (__memchr): Change type of 'i'.
53946         * lib/memchr2.c (memchr2): Likewise.
53947
53948 2008-04-26  Eric Blake  <ebb9@byu.net>
53949         and Bruno Haible  <bruno@clisp.org>
53950
53951         Optimize and test memrchr.
53952         * modules/memrchr (Depends-on): Add intprops.
53953         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
53954         * modules/memrchr-tests: New file.
53955         * tests/test-memrchr.c: New file.
53956
53957 2008-04-26  Bruno Haible  <bruno@clisp.org>
53958
53959         Add tentative support for DragonFly BSD.
53960         * lib/stdio-impl.h: Add macros for DragonFly BSD.
53961         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
53962         fp.
53963         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
53964         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
53965         * lib/fpurge.c (fpurge): Likewise.
53966         * lib/freadable.c (freaadable): Likewise.
53967         * lib/freadahead.c (freadahead): Likewise.
53968         * lib/freading.c (freading): Likewise.
53969         * lib/freadptr.c (freadptr): Likewise.
53970         * lib/freadseek.c (freadptrinc): Likewise.
53971         * lib/fseeko.c (fseeko): Likewise.
53972         * lib/fseterr.c (fseterr): Likewise.
53973         * lib/fwritable.c (fwritable): Likewise.
53974         * lib/fwriting.c (fwriting): Likewise.
53975
53976 2008-04-26  Bruno Haible  <bruno@clisp.org>
53977
53978         * lib/stdio-impl.h: New file.
53979         * lib/fbufmode.c: Include stdio-impl.h.
53980         (fbufmode): Use fp_, remove redundant #defines.
53981         * lib/fflush.c: Include stdio-impl.h.
53982         (clear_ungetc_buffer): Remove redundant #defines.
53983         * lib/fpurge.c: Include stdio-impl.h.
53984         (fpurge): Remove redundant #defines.
53985         * lib/freadable.c: Include stdio-impl.h.
53986         (freadable): Remove redundant #defines.
53987         * lib/freadahead.c: Include stdio-impl.h.
53988         (freadahead): Remove redundant #defines.
53989         * lib/freading.c: Include stdio-impl.h.
53990         (freading): Remove redundant #defines.
53991         * lib/freadptr.c: Include stdio-impl.h.
53992         (freadptr): Remove redundant #defines.
53993         * lib/freadseek.c: Include stdio-impl.h.
53994         (freadptrinc): Remove redundant #defines.
53995         * lib/fseeko.c: Include stdio-impl.h.
53996         (rpl_fseeko): Remove redundant #defines.
53997         * lib/fseterr.c: Include stdio-impl.h.
53998         (fseterr): Remove redundant #defines.
53999         * lib/fwritable.c: Include stdio-impl.h.
54000         (fwritable: Remove redundant #defines.
54001         * lib/fwriting.c: Include stdio-impl.h.
54002         (fwriting): Remove redundant #defines.
54003         * modules/fbufmode (Files): Add lib/stdio-impl.h.
54004         * modules/fflush (Files): Likewise.
54005         * modules/fpurge (Files): Likewise.
54006         * modules/freadable (Files): Likewise.
54007         * modules/freadahead (Files): Likewise.
54008         * modules/freading (Files): Likewise.
54009         * modules/freadptr (Files): Likewise.
54010         * modules/freadseek (Files): Likewise.
54011         * modules/fseeko (Files): Likewise.
54012         * modules/fseterr (Files): Likewise.
54013         * modules/fwritable (Files): Likewise.
54014         * modules/fwriting (Files): Likewise.
54015
54016 2008-04-26  Bruno Haible  <bruno@clisp.org>
54017
54018         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
54019         restore_seek_optimization, update_fpos_cache): New functions, extracted
54020         from rpl_fflush.
54021         (rpl_fflush): Use them.
54022         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
54023         (gl_REPLACE_FFLUSH): Use it.
54024
54025 2008-04-26  Bruno Haible  <bruno@clisp.org>
54026
54027         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
54028         on Solaris.
54029         * tests/test-xstrtoimax.sh: Likewise.
54030         * tests/test-xstrtoumax.sh: Likewise.
54031         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54032
54033 2008-04-26  Bruno Haible  <bruno@clisp.org>
54034
54035         * modules/memchr-tests: New file.
54036         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
54037
54038 2008-04-26  Eric Blake  <ebb9@byu.net>
54039             Bruno Haible  <bruno@clisp.org>
54040
54041         * lib/memchr.c: Include intprops.h.
54042         (__memchr): Optimize parallel detection of matching bytes. Rename local
54043         variables. Add explanatory comments.
54044
54045 2008-04-26  Bruno Haible  <bruno@clisp.org>
54046
54047         Fix module 'memchr', broken since 2000-10-28.
54048         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
54049
54050 2008-04-26  Bruno Haible  <bruno@clisp.org>
54051
54052         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
54053         comments.
54054
54055 2008-04-25  Eric Blake  <ebb9@byu.net>
54056
54057         Use native fstatat on cygwin 1.7.0.
54058         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
54059         first.
54060
54061 2008-04-23  Eric Blake  <ebb9@byu.net>
54062
54063         Improve memchr2 performance.
54064         * lib/memchr2.c (memchr2): Further optimize parallel detection of
54065         NUL bytes.
54066         * modules/memchr2 (Depends-on): Use intprops.h.
54067
54068 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54069
54070         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
54071         an inline function instead of a CPP macro.  Patch by Ben Pfaff
54072         <blp@cs.stanford.edu>.
54073
54074 2008-04-23  Simon Josefsson  <simon@josefsson.org>
54075
54076         * lib/arpa_inet.in.h: New file.
54077
54078         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
54079         (Makefile.am): Sed in substitute header file.
54080
54081         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
54082         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
54083
54084         * modules/inet_ntop (configure.ac): Use
54085         gl_ARPA_INET_MODULE_INDICATOR.
54086
54087         * modules/inet_pton (configure.ac): Use
54088         gl_ARPA_INET_MODULE_INDICATOR.
54089
54090 2008-04-22  Jim Meyering  <meyering@redhat.com>
54091
54092         * modules/verify (License): Re-license as LGPLv2+.
54093
54094 2008-04-22  Simon Josefsson  <simon@josefsson.org>
54095
54096         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
54097         parameter to void* as per POSIX standard (MinGW uses char*).
54098
54099 2008-04-21  Bruno Haible  <bruno@clisp.org>
54100
54101         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
54102         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
54103         Define to replacements if REPLACE_ISWCNTRL is 1.
54104         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
54105         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
54106         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
54107         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
54108         what it fixes.
54109         * doc/posix-functions/iswalpha.texi: Likewise.
54110         * doc/posix-functions/iswblank.texi: Likewise.
54111         * doc/posix-functions/iswcntrl.texi: Likewise.
54112         * doc/posix-functions/iswdigit.texi: Likewise.
54113         * doc/posix-functions/iswgraph.texi: Likewise.
54114         * doc/posix-functions/iswlower.texi: Likewise.
54115         * doc/posix-functions/iswprint.texi: Likewise.
54116         * doc/posix-functions/iswpunct.texi: Likewise.
54117         * doc/posix-functions/iswspace.texi: Likewise.
54118         * doc/posix-functions/iswupper.texi: Likewise.
54119         * doc/posix-functions/iswxdigit.texi: Likewise.
54120         Reported by Alain Guibert.
54121
54122 2008-04-21  Bruno Haible  <bruno@clisp.org>
54123
54124         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
54125         Patch by Alain Guibert.
54126
54127 2008-04-21  Bruno Haible  <bruno@clisp.org>
54128
54129         Fix test failures on mingw.
54130         * tests/test-xstrtol.c (print_no_progname): New function.
54131         (main): Install it in error_print_progname hook.
54132         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
54133         * tests/test-xstrtoimax.sh: Likewise.
54134         * tests/test-xstrtoumax.sh: Likewise.
54135
54136 2008-04-21  Bruno Haible  <bruno@clisp.org>
54137
54138         Fix test failure on mingw.
54139         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
54140
54141 2008-04-21  Bruno Haible  <bruno@clisp.org>
54142
54143         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
54144         Actually assign a value.
54145
54146 2008-04-20  Bruno Haible  <bruno@clisp.org>
54147
54148         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
54149         take 2.
54150         * lib/canonicalize.c (canonicalize_file_name): Elide if the
54151         'canonicalize-lgpl' module is also used.
54152         * lib/canonicalize-lgpl.c: Undo last change.
54153         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
54154
54155 2008-04-20  Bruno Haible  <bruno@clisp.org>
54156
54157         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
54158         config.h. Provide _mkdir based fallback for mingw.
54159         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
54160         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
54161         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
54162         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
54163         rather than defining mkdir in config.h.
54164         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
54165         (gl_SYS_STAT_H_DEFAULTS): New macro.
54166         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
54167         HAVE_IO_H any more.
54168         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
54169         HAVE_DECL_MKDIR and HAVE_IO_H.
54170
54171 2008-04-20  Bruno Haible  <bruno@clisp.org>
54172
54173         * lib/isapipe.c: Port to native Windows platforms.
54174
54175 2008-04-20  Bruno Haible  <bruno@clisp.org>
54176
54177         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
54178
54179 2008-04-21  Eric Blake  <ebb9@byu.net>
54180
54181         Work around preprocessors that don't handle UINTMAX_MAX.
54182         * lib/memchr2.c (memchr2): Avoid embedded #if.
54183         Reported by Alain Guibert, fix suggested by Bruno Haible.
54184
54185 2008-04-21  Simon Josefsson  <simon@josefsson.org>
54186
54187         * doc/posix-functions/strftime.texi (strftime): Explain better
54188         Windows incompatibility.  Suggested by Micah Cowan
54189         <micah@cowan.name>.
54190
54191 2008-04-20  Bruno Haible  <bruno@clisp.org>
54192
54193         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
54194         unistr/u8-mblen.
54195
54196 2008-04-20  Bruno Haible  <bruno@clisp.org>
54197
54198         Fix test failure on platforms with non-GNU iconv.
54199         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
54200         (U_TO_U8): Use it, rather than u16_to_u8.
54201         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
54202         units at the end of the input string.
54203         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
54204
54205 2008-04-20  Bruno Haible  <bruno@clisp.org>
54206
54207         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
54208         when the resulting length is 0.
54209         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
54210
54211 2008-04-20  Bruno Haible  <bruno@clisp.org>
54212
54213         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
54214         works.
54215         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
54216
54217 2008-04-20  Bruno Haible  <bruno@clisp.org>
54218
54219         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
54220         * modules/tsearch-tests (configure.ac): Test for initstate function.
54221
54222 2008-04-20  Bruno Haible  <bruno@clisp.org>
54223
54224         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
54225         for nlink_t if missing.
54226         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
54227
54228 2008-04-19  Bruno Haible  <bruno@clisp.org>
54229
54230         Work around snprintf bug on Linux libc5.
54231         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
54232         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
54233         gl_SNPRINTF_SIZE1.
54234         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
54235         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
54236         that test failed.
54237         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
54238         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
54239         * modules/snprintf (Files): Add m4/printf.m4.
54240         * modules/vsnprintf (Files): Likewise.
54241         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
54242         * doc/posix-functions/vsnprintf.texi: Likewise.
54243
54244 2008-04-19  Bruno Haible  <bruno@clisp.org>
54245
54246         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
54247         from 0.0058 to less than 10^-7.
54248
54249 2008-04-19  Bruno Haible  <bruno@clisp.org>
54250
54251         Fix rounding when a precision is given.
54252         * lib/vasnprintf.c (is_borderline): New function.
54253         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
54254         9...9x.
54255         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
54256         %e, %g.
54257         * tests/test-vasprintf-posix.c (test_function): Likewise.
54258         * tests/test-snprintf-posix.h (test_function): Likewise.
54259         * tests/test-sprintf-posix.h (test_function): Likewise.
54260         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
54261         * tests/test-printf-posix.h (test_function): Likewise.
54262         * tests/test-printf-posix.output: Update.
54263         Reported by John Darrington <john@darrington.wattle.id.au> via
54264         Ben Pfaff <blp@cs.stanford.edu>.
54265
54266 2008-04-18  Simon Josefsson  <simon@josefsson.org>
54267
54268         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
54269         Suggested by Bruno Haible <bruno@clisp.org>.
54270
54271 2008-04-17  Bruno Haible  <bruno@clisp.org>
54272
54273         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
54274         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
54275         implementation.
54276         Patch by Bruce Merry <bmerry@gmail.com>.
54277
54278 2008-04-17  Simon Josefsson  <simon@josefsson.org>
54279
54280         * doc/posix-functions/strftime.texi (strftime): Mention that %e
54281         doesn't work under Windows.
54282
54283 2008-04-16  Bruno Haible  <bruno@clisp.org>
54284
54285         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
54286         New macros.
54287         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
54288         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
54289         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
54290         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
54291         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
54292         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
54293         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
54294         macros.
54295         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
54296         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
54297         Northern Sotho, Uighur.
54298
54299 2008-04-16  Bruno Haible  <bruno@clisp.org>
54300
54301         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
54302         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
54303         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
54304         Reported by Daniel Bergström <daniel@octocode.com>.
54305
54306 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
54307             Bruno Haible  <bruno@clisp.org>
54308
54309         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
54310         function.
54311         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
54312         New functions, mostly extracted from gl_locale_name_default.
54313         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
54314
54315 2008-04-16  Eric Blake  <ebb9@byu.net>
54316
54317         Adjust strtod detection to catch glibc 2.7 bug.
54318         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
54319         Reported by John Gatewood Ham.
54320
54321 2008-04-16  Bruno Haible  <bruno@clisp.org>
54322
54323         Add tentative support for Linux libc5.
54324         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
54325         * lib/fpurge.c (fpurge): Likewise.
54326         * lib/freadable.c (freadable): Likewise.
54327         * lib/freadahead.c (freadahead): Likewise.
54328         * lib/freading.c (freading): Likewise.
54329         * lib/freadptr.c (freadptr): Likewise.
54330         * lib/freadseek.c (freadptrinc): Likewise.
54331         * lib/fseeko.c (rpl_fseeko): Likewise.
54332         * lib/fseterr.c (fseterr): Likewise.
54333         * lib/fwritable.c (fwritable): Likewise.
54334         * lib/fwriting.c (fwriting): Likewise.
54335         Reported by Alain Guibert <alguibert+bts@free.fr>.
54336
54337 2008-04-15  Bruno Haible  <bruno@clisp.org>
54338
54339         * modules/mathl (configure.ac): Define module indicator.
54340
54341 2008-04-15  Bruno Haible  <bruno@clisp.org>
54342
54343         * lib/logl.c (logl): Remove unused variables.
54344
54345 2008-04-15  Bruno Haible  <bruno@clisp.org>
54346
54347         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
54348         fails.
54349
54350 2008-04-15  Bruno Haible  <bruno@clisp.org>
54351
54352         * lib/trim.c (trim2): Fix argument of isspace() macro.
54353
54354 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
54355
54356         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
54357         to 0.
54358         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
54359
54360 2008-04-14  Bruno Haible  <bruno@clisp.org>
54361
54362         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
54363         AC_LANG_PROGRAM argument.
54364         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
54365         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
54366         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
54367         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
54368         * m4/math_h.m4 (gl_MATH_H): Likewise.
54369         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
54370         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
54371         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
54372         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
54373         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
54374         * m4/regex.m4 (gl_REGEX): Likewise.
54375         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
54376         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
54377         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
54378         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
54379         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
54380         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
54381         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
54382         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
54383
54384 2008-04-14  Jim Meyering  <meyering@redhat.com>
54385
54386         test-strtod: fix typos: s/abs/fabs/
54387         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
54388
54389 2008-04-13  Bruno Haible  <bruno@clisp.org>
54390
54391         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
54392         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
54393         module is also used and while not building the reloc-wrapper.
54394
54395 2008-04-13  Bruno Haible  <bruno@clisp.org>
54396
54397         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
54398
54399 2008-04-13  Bruno Haible  <bruno@clisp.org>
54400
54401         Fix AIX compilation failure introduced on 2008-04-02.
54402         * tests/test-frexp.c (exp): Undefine before redefining.
54403         * tests/test-frexpl.c (exp): Likewise.
54404
54405 2008-04-13  Bruno Haible  <bruno@clisp.org>
54406
54407         Work around a HP-UX stdio bug.
54408         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
54409         * tests/test-ftello.c (main): Likewise.
54410         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
54411         * doc/posix-functions/ftello.texi: Likewise.
54412
54413 2008-04-13  Bruno Haible  <bruno@clisp.org>
54414
54415         Make test-signbit pass on HP-UX/hppa.
54416         * tests/test-signbit.c (minus_zerol): New variable.
54417         (test_signbitl): Use it.
54418
54419 2008-04-13  Bruno Haible  <bruno@clisp.org>
54420
54421         Make truncl work on OSF/1 4.0.
54422         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
54423         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54424         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
54425         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
54426         HAVE_DECL_TRUNCL.
54427         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
54428         HAVE_DECL_TRUNCL.
54429         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
54430
54431 2008-04-13  Bruno Haible  <bruno@clisp.org>
54432
54433         * lib/unictype.h: Remove trailing comma from enumeration definitions.
54434
54435 2008-04-13  Bruno Haible  <bruno@clisp.org>
54436
54437         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
54438         expression, so as to avoid HP-UX 11 cc compiler bug.
54439
54440 2008-04-13  Bruno Haible  <bruno@clisp.org>
54441
54442         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
54443
54444 2008-04-13  Bruno Haible  <bruno@clisp.org>
54445
54446         * lib/git-merge-changelog.c: Remove empty declaration outside of
54447         functions.
54448
54449 2008-04-13  Bruno Haible  <bruno@clisp.org>
54450
54451         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
54452
54453 2008-04-13  Bruno Haible  <bruno@clisp.org>
54454
54455         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
54456         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
54457         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
54458         also if it exists but lacks definitions of the SHUT_* macros.
54459         * modules/sys_socket (Description): Update.
54460         Reported by Elbert Pol <e.pol@chello.nl>.
54461
54462 2008-04-13  Bruno Haible  <bruno@clisp.org>
54463
54464         * lib/localcharset.c (OS2): Don't redefine if already defined.
54465         Reported by Elbert Pol <e.pol@chello.nl>.
54466
54467 2008-04-13  Bruno Haible  <bruno@clisp.org>
54468
54469         * lib/binary-io.h [__EMX__]: Include <io.h>.
54470         Reported by Elbert Pol <e.pol@chello.nl>.
54471
54472 2008-04-12  Bruno Haible  <bruno@clisp.org>
54473
54474         * lib/fpucw.h: Enable the definitions also for x86_64.
54475         Needed for NetBSD/x86_64.
54476         Reported by Thomas Klausner <tk@giga.or.at>.
54477
54478 2008-04-12  Bruno Haible  <bruno@clisp.org>
54479
54480         * tests/test-strtod.c: Include isnand.h.
54481         (main): Use isnand instead of isnan.
54482         Reported by Jim Meyering.
54483
54484 2008-04-12  Bruno Haible  <bruno@clisp.org>
54485
54486         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
54487         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
54488
54489 2008-04-12  Jim Meyering  <meyering@redhat.com>
54490
54491         * m4/math_h.m4 (gl_MATH_H): Fix typos.
54492
54493 2008-04-12  Bruno Haible  <bruno@clisp.org>
54494
54495         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
54496         Reported by Elbert Pol <e.pol@chello.nl>.
54497
54498 2008-04-12  Eric Blake  <ebb9@byu.net>
54499
54500         Work around Solaris 10 math.h bug.
54501         * m4/math_h.m4 (gl_MATH_H): Check for bug.
54502         (gl_MATH_H_DEFAULTS): Set up default.
54503         * modules/math (Makefile.am): Replace new indicators.
54504         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
54505         * tests/test-math.c (main): Test this.
54506         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
54507         * doc/posix-headers/math.texi (math.h): Mention bug.
54508         Reported by Nelson H. F. Beebe and Jim Meyering.
54509
54510 2008-04-11  Bruno Haible  <bruno@clisp.org>
54511
54512         Adapt to future versions of Apple GCC.
54513         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
54514         Reported by Peter O'Gorman <peter@pogma.com>.
54515
54516 2008-04-11  Bruno Haible  <bruno@clisp.org>
54517
54518         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
54519
54520 2008-04-11  Bruno Haible  <bruno@clisp.org>
54521
54522         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
54523
54524         * modules/getaddrinfo-tests (Makefile.am): Define
54525         test_getaddrinfo_LDADD.
54526
54527 2008-04-11  Bruno Haible  <bruno@clisp.org>
54528
54529         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
54530         (init): Fix syntax error.
54531         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
54532         is declared.
54533
54534 2008-04-11  Bruno Haible  <bruno@clisp.org>
54535
54536         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
54537         * modules/glob (Depends-on): Add stdbool.
54538
54539 2008-04-11  Bruno Haible  <bruno@clisp.org>
54540
54541         * lib/trim.c: Include <string.h>.
54542
54543 2008-04-11  Eric Blake  <ebb9@byu.net>
54544
54545         Avoid compile failure on OS/2.
54546         * lib/regex_internal.h (internal_function): Disable optimization
54547         on OS/2 (__EMX__), where it caused compiler error.
54548         Reported by Elbert Pol.
54549
54550 2008-04-11  Bruno Haible  <bruno@clisp.org>
54551
54552         Flush the standard error stream before aborting. Needed on mingw.
54553         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
54554         * tests/test-array_list.c (ASSERT): Likewise.
54555         * tests/test-array_oset.c (ASSERT): Likewise.
54556         * tests/test-avltree_list.c (ASSERT): Likewise.
54557         * tests/test-avltree_oset.c (ASSERT): Likewise.
54558         * tests/test-avltreehash_list.c (ASSERT): Likewise.
54559         * tests/test-binary-io.c (ASSERT): Likewise.
54560         * tests/test-byteswap.c (ASSERT): Likewise.
54561         * tests/test-c-ctype.c (ASSERT): Likewise.
54562         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
54563         * tests/test-c-strcasestr.c (ASSERT): Likewise.
54564         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
54565         * tests/test-c-strstr.c (ASSERT): Likewise.
54566         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
54567         * tests/test-canonicalize.c (ASSERT): Likewise.
54568         * tests/test-carray_list.c (ASSERT): Likewise.
54569         * tests/test-ceilf1.c (ASSERT): Likewise.
54570         * tests/test-ceilf2.c (ASSERT): Likewise.
54571         * tests/test-ceill.c (ASSERT): Likewise.
54572         * tests/test-count-one-bits.c (ASSERT): Likewise.
54573         * tests/test-fbufmode.c (ASSERT): Likewise.
54574         * tests/test-fflush2.c (ASSERT): Likewise.
54575         * tests/test-floorf1.c (ASSERT): Likewise.
54576         * tests/test-floorf2.c (ASSERT): Likewise.
54577         * tests/test-floorl.c (ASSERT): Likewise.
54578         * tests/test-fopen.c (ASSERT): Likewise.
54579         * tests/test-fpending.c (ASSERT): Likewise.
54580         * tests/test-fprintf-posix.c (ASSERT): Likewise.
54581         * tests/test-fpurge.c (ASSERT): Likewise.
54582         * tests/test-freadable.c (ASSERT): Likewise.
54583         * tests/test-freadahead.c (ASSERT): Likewise.
54584         * tests/test-freading.c (ASSERT): Likewise.
54585         * tests/test-freadptr.c (ASSERT): Likewise.
54586         * tests/test-freadptr2.c (ASSERT): Likewise.
54587         * tests/test-freadseek.c (ASSERT): Likewise.
54588         * tests/test-freopen.c (ASSERT): Likewise.
54589         * tests/test-frexp.c (ASSERT): Likewise.
54590         * tests/test-frexpl.c (ASSERT): Likewise.
54591         * tests/test-fseek.c (ASSERT): Likewise.
54592         * tests/test-fseeko.c (ASSERT): Likewise.
54593         * tests/test-fstrcmp.c (ASSERT): Likewise.
54594         * tests/test-ftell.c (ASSERT): Likewise.
54595         * tests/test-ftello.c (ASSERT): Likewise.
54596         * tests/test-func.c (ASSERT): Likewise.
54597         * tests/test-fwritable.c (ASSERT): Likewise.
54598         * tests/test-fwriting.c (ASSERT): Likewise.
54599         * tests/test-getdelim.c (ASSERT): Likewise.
54600         * tests/test-getline.c (ASSERT): Likewise.
54601         * tests/test-i-ring.c (ASSERT): Likewise.
54602         * tests/test-iconv-utf.c (ASSERT): Likewise.
54603         * tests/test-iconv.c (ASSERT): Likewise.
54604         * tests/test-isfinite.c (ASSERT): Likewise.
54605         * tests/test-isnand.c (ASSERT): Likewise.
54606         * tests/test-isnanf.c (ASSERT): Likewise.
54607         * tests/test-isnanl.h (ASSERT): Likewise.
54608         * tests/test-ldexpl.c (ASSERT): Likewise.
54609         * tests/test-linked_list.c (ASSERT): Likewise.
54610         * tests/test-linkedhash_list.c (ASSERT): Likewise.
54611         * tests/test-localename.c (ASSERT): Likewise.
54612         * tests/test-lseek.c (ASSERT): Likewise.
54613         * tests/test-mbscasecmp.c (ASSERT): Likewise.
54614         * tests/test-mbscasestr1.c (ASSERT): Likewise.
54615         * tests/test-mbscasestr2.c (ASSERT): Likewise.
54616         * tests/test-mbscasestr3.c (ASSERT): Likewise.
54617         * tests/test-mbscasestr4.c (ASSERT): Likewise.
54618         * tests/test-mbschr.c (ASSERT): Likewise.
54619         * tests/test-mbscspn.c (ASSERT): Likewise.
54620         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
54621         * tests/test-mbspbrk.c (ASSERT): Likewise.
54622         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
54623         * tests/test-mbsrchr.c (ASSERT): Likewise.
54624         * tests/test-mbsspn.c (ASSERT): Likewise.
54625         * tests/test-mbsstr1.c (ASSERT): Likewise.
54626         * tests/test-mbsstr2.c (ASSERT): Likewise.
54627         * tests/test-mbsstr3.c (ASSERT): Likewise.
54628         * tests/test-memchr2.c (ASSERT): Likewise.
54629         * tests/test-memmem.c (ASSERT): Likewise.
54630         * tests/test-open.c (ASSERT): Likewise.
54631         * tests/test-printf-frexp.c (ASSERT): Likewise.
54632         * tests/test-printf-frexpl.c (ASSERT): Likewise.
54633         * tests/test-printf-posix.c (ASSERT): Likewise.
54634         * tests/test-quotearg.c (ASSERT): Likewise.
54635         * tests/test-rbtree_list.c (ASSERT): Likewise.
54636         * tests/test-rbtree_oset.c (ASSERT): Likewise.
54637         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
54638         * tests/test-round1.c (ASSERT): Likewise.
54639         * tests/test-roundf1.c (ASSERT): Likewise.
54640         * tests/test-roundl.c (ASSERT): Likewise.
54641         * tests/test-signbit.c (ASSERT): Likewise.
54642         * tests/test-sleep.c (ASSERT): Likewise.
54643         * tests/test-snprintf-posix.c (ASSERT): Likewise.
54644         * tests/test-snprintf.c (ASSERT): Likewise.
54645         * tests/test-sprintf-posix.c (ASSERT): Likewise.
54646         * tests/test-stat-time.c (ASSERT): Likewise.
54647         * tests/test-strcasestr.c (ASSERT): Likewise.
54648         * tests/test-strerror.c (ASSERT): Likewise.
54649         * tests/test-striconv.c (ASSERT): Likewise.
54650         * tests/test-striconveh.c (ASSERT): Likewise.
54651         * tests/test-striconveha.c (ASSERT): Likewise.
54652         * tests/test-strsignal.c (ASSERT): Likewise.
54653         * tests/test-strstr.c (ASSERT): Likewise.
54654         * tests/test-strtod.c (ASSERT): Likewise.
54655         * tests/test-trunc1.c (ASSERT): Likewise.
54656         * tests/test-trunc2.c (ASSERT): Likewise.
54657         * tests/test-truncf1.c (ASSERT): Likewise.
54658         * tests/test-truncf2.c (ASSERT): Likewise.
54659         * tests/test-truncl.c (ASSERT): Likewise.
54660         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
54661         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
54662         * tests/test-vasnprintf.c (ASSERT): Likewise.
54663         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
54664         * tests/test-vasprintf.c (ASSERT): Likewise.
54665         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
54666         * tests/test-vprintf-posix.c (ASSERT): Likewise.
54667         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
54668         * tests/test-vsnprintf.c (ASSERT): Likewise.
54669         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
54670         * tests/test-wcwidth.c (ASSERT): Likewise.
54671         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
54672         * tests/test-xprintf-posix.c (ASSERT): Likewise.
54673         * tests/test-xvasprintf.c (ASSERT): Likewise.
54674         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
54675         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
54676         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
54677         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
54678         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
54679         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
54680         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
54681         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
54682         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
54683         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
54684         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
54685         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
54686         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
54687         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
54688         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
54689         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
54690         * tests/unictype/test-block_list.c (ASSERT): Likewise.
54691         * tests/unictype/test-block_of.c (ASSERT): Likewise.
54692         * tests/unictype/test-block_test.c (ASSERT): Likewise.
54693         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
54694         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
54695         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
54696         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
54697         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
54698         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
54699         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
54700         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
54701         * tests/unictype/test-combining.c (ASSERT): Likewise.
54702         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
54703         * tests/unictype/test-digit.c (ASSERT): Likewise.
54704         * tests/unictype/test-mirror.c (ASSERT): Likewise.
54705         * tests/unictype/test-numeric.c (ASSERT): Likewise.
54706         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
54707         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
54708         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
54709         * tests/unictype/test-scripts.c (ASSERT): Likewise.
54710         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
54711         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
54712         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
54713         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
54714         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
54715         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
54716         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
54717         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
54718         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
54719         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
54720         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
54721         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
54722         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
54723         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
54724         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
54725         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
54726         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
54727         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
54728         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
54729         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
54730         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
54731         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
54732         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
54733         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
54734         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
54735         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
54736         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
54737         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
54738         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
54739         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
54740         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
54741         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
54742         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
54743         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
54744         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
54745         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
54746         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
54747         Reported by Eric Blake.
54748
54749 2008-04-11  Bruno Haible  <bruno@clisp.org>
54750
54751         * lib/wchar.in.h: Tweak comment.
54752
54753 2008-04-11  Bruno Haible  <bruno@clisp.org>
54754
54755         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
54756         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
54757         gl_COMMON.
54758         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
54759
54760 2008-04-11  Bruno Haible  <bruno@clisp.org>
54761
54762         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
54763
54764 2008-04-11  Simon Josefsson  <simon@josefsson.org>
54765
54766         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
54767         of attempting to use non-existing /dev/*random.  Based on patch
54768         from Adam Strzelecki <ono@java.pl> in
54769         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
54770
54771 2008-04-08  Bruno Haible  <bruno@clisp.org>
54772
54773         Add tentative support for emx+gcc.
54774         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
54775         * lib/fpurge.c (fpurge): Likewise.
54776         * lib/freadable.c (freadable): Likewise.
54777         * lib/freadahead.c (freadahead): Likewise.
54778         * lib/freading.c (freading): Likewise.
54779         * lib/freadptr.c (freadptr): Likewise.
54780         * lib/freadseek.c (freadptrinc): Likewise.
54781         * lib/fseeko.c (rpl_fseeko): Likewise.
54782         * lib/fseterr.c (fseterr): Likewise.
54783         * lib/fwritable.c (fwritable): Likewise.
54784         * lib/fwriting.c (fwriting): Likewise.
54785         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
54786
54787 2008-04-09  Eric Blake  <ebb9@byu.net>
54788
54789         Avoid some autoconf warnings.
54790         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
54791         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
54792         * m4/afs.m4 (gl_AFS): Likewise.
54793         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
54794         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
54795         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54796         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
54797         (gl_INTEGER_TYPE_SUFFIX): Likewise.
54798         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
54799         (AC_CHECK_DECLS_ONCE): Likewise.
54800         Rename file...
54801         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
54802         gnulib-tool requires autoconf 2.59 or better.
54803         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
54804
54805 2008-04-08  Eric Blake  <ebb9@byu.net>
54806
54807         Use 'git describe --match' if present (added in git 1.5.5).
54808         * build-aux/git-version-gen: Limit result to tags that match 'v*'
54809         if possible.
54810
54811 2008-04-08  Bruno Haible  <bruno@clisp.org>
54812
54813         Add tentative support for OpenServer.
54814         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
54815         _ptr, _cnt.
54816         * lib/fpurge.c (fpurge): Likewise.
54817         * lib/freadable.c (freadable): Likewise.
54818         * lib/freadahead.c (freadahead): Likewise.
54819         * lib/freading.c (freading): Likewise.
54820         * lib/freadptr.c (freadptr): Likewise.
54821         * lib/freadseek.c (freadptrinc): Likewise.
54822         * lib/fseeko.c (rpl_fseeko): Likewise.
54823         * lib/fseterr.c (fseterr): Likewise.
54824         * lib/fwritable.c (fwritable): Likewise.
54825         * lib/fwriting.c (fwriting): Likewise.
54826         Reported by Roger Cornelius <rac@tenzing.org> and
54827         Brian K. White <brian@aljex.com>.
54828
54829 2008-04-06  Jim Meyering  <meyering@redhat.com>
54830
54831         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
54832
54833 2008-04-06  Bruno Haible  <bruno@clisp.org>
54834
54835         Avoid possible error with non-ASCII bytes in UTF-8 locales.
54836         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
54837         * tests/test-printf-posix.sh: Likewise.
54838         * tests/test-vfprintf-posix.sh: Likewise.
54839         * tests/test-vprintf-posix.sh: Likewise.
54840         * tests/test-xprintf-posix.sh: Likewise.
54841
54842 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54843
54844         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
54845         hide error from 'ls', needed on OS/2.
54846         Report by Elbert Pol <elbert.pol@gmail.com>.
54847
54848 2008-04-04  Eric Blake  <ebb9@byu.net>
54849
54850         Make test-fseeko.c failures meaningful.
54851         * tests/test-fseeko.c: Print line number on failure.
54852         * tests/test-fseek.c: Likewise.
54853         Reported by Nelson H. F. Beebe.
54854
54855         Improve strtod bug detection check.
54856         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
54857         required for Solaris 10.
54858         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
54859
54860 2008-04-04  Bruno Haible  <bruno@clisp.org>
54861
54862         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
54863         by m4/setenv.m4.
54864
54865 2008-04-03  Eric Blake  <ebb9@byu.net>
54866
54867         Ensure sane .version contents.
54868         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
54869         version string.
54870         * build-aux/git-version-gen: Improve documentation.
54871
54872         Make GNU make output nicer.
54873         * top/GNUmakefile [!_have-Makefile]: Add dependency on
54874         MAKECMDGOALS to enforce message for all command line targets.  Set
54875         srcdir for use in maint.mk.
54876
54877         Another maintainer tweak.
54878         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
54879         a target that regenerates version.
54880
54881 2008-04-03  Jim Meyering  <meyering@redhat.com>
54882
54883         vc-list-files: don't cause coreutils "make po-check" failure
54884         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
54885
54886 2008-04-03  Eric Blake  <ebb9@byu.net>
54887
54888         Allow VPATH usage of vc-list-files.
54889         * build-aux/vc-list-files (scriptversion): Add timestamp.
54890         (options): Add --help, --version, -C.
54891         (CVS): Support installed cvsu.
54892
54893 2008-04-02  Bruno Haible  <bruno@clisp.org>
54894
54895         Avoid some "statement with no effect" warnings from gcc.
54896         * tests/test-wctype.c (main): Explicitly ignore unused values.
54897         Reported by Jim Meyering.
54898
54899 2008-04-02  Jim Meyering  <meyering@redhat.com>
54900
54901         Avoid some warnings from "gcc -Wshadow".
54902         * tests/test-frexp.c (exp): Define to a different identifier.
54903         * tests/test-frexpl.c (exp): Likewise.
54904
54905 2008-04-03  Jim Meyering  <meyering@redhat.com>
54906
54907         bootstrap: remove dangling *.[ch] symlinks from lib
54908         * build-aux/bootstrap [dangling symlink removal]: Move find's
54909         -depth option to precede all others, to avoid a warning.
54910         Remove *.[ch] files too, and from "$source_base" (usually lib/).
54911
54912 2008-04-02  Bruno Haible  <bruno@clisp.org>
54913
54914         Avoid some warnings from "gcc -Wshadow".
54915         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
54916         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
54917         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
54918         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
54919         Reported by Jim Meyering.
54920
54921 2008-04-01  Bruno Haible  <bruno@clisp.org>
54922
54923         Fix test to work on IRIX 6.5 with cc.
54924         * tests/test-math.c (numeric_equal): New function.
54925         (main): Use it.
54926
54927 2008-04-01  Bruno Haible  <bruno@clisp.org>
54928
54929         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
54930
54931 2008-04-01  Bruno Haible  <bruno@clisp.org>
54932
54933         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
54934         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54935         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
54936         (Depends-on): Remove math.
54937
54938         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
54939         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54940         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
54941         (Depends-on): Remove math.
54942
54943         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
54944         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54945         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
54946         (Depends-on): Remove math.
54947         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
54948         (Depends-on): Remove math.
54949
54950         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
54951         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
54952         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
54953         (Depends-on): Remove math.
54954         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
54955         (Depends-on): Remove math.
54956
54957         * tests/test-round1.c: Include nan.h.
54958         (main): Use NaNd instead of NAN.
54959         * modules/round-tests (Files): Add tests/nan.h.
54960
54961         * tests/test-trunc1.c: Include nan.h.
54962         (main): Use NaNd instead of NAN.
54963         * modules/trunc-tests (Files): Add tests/nan.h.
54964
54965         * tests/test-roundf1.c: Include nan.h.
54966         (main): Use NaNf instead of NAN.
54967         * modules/roundf-tests (Files): Add tests/nan.h.
54968
54969         * tests/test-truncf1.c: Include nan.h.
54970         (main): Use NaNf instead of NAN.
54971         * modules/truncf-tests (Files): Add tests/nan.h.
54972
54973         * tests/test-ceilf1.c: Include nan.h.
54974         (main): Use NaNf instead of NAN.
54975         * modules/ceilf-tests (Files): Add tests/nan.h.
54976
54977         * tests/test-floorf1.c: Include nan.h.
54978         (main): Use NaNf instead of NAN.
54979         * modules/floorf-tests (Files): Add tests/nan.h.
54980
54981         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
54982         (main): Use NaNf instead of NAN.
54983         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
54984
54985         * tests/test-isnand.c: Include nan.h instead of <math.h>.
54986         (main): Use NaNd instead of NAN.
54987         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
54988
54989         * tests/test-frexp.c: Include nan.h.
54990         (main): Use NaNd instead of NAN.
54991         * modules/frexp-tests (Files): Add tests/nan.h.
54992
54993         * lib/isnan.c: Don't include <math.h>.
54994         (FUNC): Don't use NAN macro.
54995         * modules/isnand-nolibm (Depends-on): Remove math.
54996         * modules/isnanf-nolibm (Depends-on): Remove math.
54997         * modules/isnanl (Depends-on): Remove math.
54998         * modules/isnanl-nolibm (Depends-on): Remove math.
54999
55000         * tests/nan.h: New file.
55001
55002 2008-04-01  Eric Blake  <ebb9@byu.net>
55003
55004         Fix typos.
55005         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
55006         values to be the right type.
55007
55008         For now, cater to gnulib strtod inaccuracies.
55009         * tests/test-strtod.c (main): Allow 1-ulp error on expected
55010         fractional results.  While not as nice from a QoI perspective, it
55011         is a quicker patch than correctly implementing decimal to binary
55012         rounding.
55013
55014 2008-03-31  Eric Blake  <ebb9@byu.net>
55015
55016         Guarantee a definition of NAN.
55017         * lib/math.in.h (NAN): Define if missing.
55018         * tests/test-math.c (main): Test it.
55019         * doc/posix-headers/math.texi (math.h): Document this.
55020         * lib/isnan.c (rpl_isnand): Use it.
55021         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
55022         * tests/test-floorf1.c (NaN): Likewise.
55023         * tests/test-frexp.c (NaN): Likewise.
55024         * tests/test-isnand.c (NaN): Likewise.
55025         * tests/test-isnanf.c (NaN): Likewise.
55026         * tests/test-round1.c (NaN): Likewise.
55027         * tests/test-roundf1.c (NaN): Likewise.
55028         * tests/test-snprintf-posix.h (NaN): Likewise.
55029         * tests/test-sprintf-posix.h (NaN): Likewise.
55030         * tests/test-trunc1.c (NaN): Likewise.
55031         * tests/test-truncf1.c (NaN): Likewise.
55032         * tests/test-vasnprintf-posix.c (NaN): Likewise.
55033         * tests/test-vasprintf-posix.c (NaN): Likewise.
55034         * modules/isnand-nolibm (Depends-on): Add math.
55035         * modules/isnanf-nolibm (Depends-on): Likewise.
55036         * modules/isnanl (Depends-on): Likewise.
55037         * modules/isnanl-nolibm (Depends-on): Likewise.
55038         * modules/snprintf-posix-tests (Depends-on): Likewise.
55039         * modules/sprintf-posix-tests (Depends-on): Likewise.
55040         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
55041         * modules/vsprintf-posix-tests (Depends-on): Likewise.
55042         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
55043         * modules/vasprintf-posix-tests (Depends-on): Likewise.
55044
55045 2008-03-31  Bruno Haible  <bruno@clisp.org>
55046
55047         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
55048         * doc/posix-functions/strtod.texi: Likewise.
55049
55050 2008-03-31  Bruno Haible  <bruno@clisp.org>
55051
55052         * tests/test-strtod.c (main): Don't use C99 syntax.
55053
55054 2008-03-31  Bruno Haible  <bruno@clisp.org>
55055
55056         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
55057         Reported by Eric Blake.
55058
55059 2008-03-31  Jim Meyering  <meyering@redhat.com>
55060
55061         Don't compare actual signbit return values.
55062         * tests/test-strtod.c (main): Rather, compare only their
55063         zero/non-zero nature.
55064
55065 2008-03-31  Eric Blake  <ebb9@byu.net>
55066
55067         More strtod documentation.
55068         * doc/posix-functions/strtod.texi (strtod): Interpret more test
55069         failures as distinct bugs.
55070
55071 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
55072
55073         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
55074         Problem reported by Erik Benada in
55075         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
55076
55077 2008-03-30  Bruno Haible  <bruno@clisp.org>
55078
55079         * tests/test-strtod.c: Add comments about which assertion fails on which
55080         platform.
55081         * doc/posix-functions/strtod.texi: Add info about many more platforms.
55082
55083 2008-03-30  Eric Blake  <ebb9@byu.net>
55084
55085         Test signbit behavior on zeros.
55086         * tests/test-signbit.c (test_signbitf): Add tests for zero.
55087         (test_signbitd, test_signbitl): Likewise.
55088
55089         More strtod touchups.
55090         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
55091         sign of negative underflow, for now.  Use .5, not .1.
55092         * doc/posix-functions/strtod.texi (strtod): Mention these
55093         limitations.
55094         Reported by Jim Meyering.
55095
55096 2008-03-30  Bruno Haible  <bruno@clisp.org>
55097
55098         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
55099         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
55100
55101 2008-03-30  Bruno Haible  <bruno@clisp.org>
55102
55103         Avoid failure when attempting to return empty iconv results on some
55104         platforms.
55105         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
55106         allocation, don't report ENOMEM when the resulting string is empty.
55107
55108 2008-03-30  Bruno Haible  <bruno@clisp.org>
55109
55110         Fix buffer overrun.
55111         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
55112         Don't consider the width for tmp_length. Check count against tmp_length
55113         before doing the padding. Ensure enough allocation during padding.
55114
55115 2008-03-30  Eric Blake  <ebb9@byu.net>
55116
55117         strtod touchups.
55118         * lib/strtod.c (strtod): Avoid compiler warnings.
55119         Reported by Jim Meyering.
55120
55121 2008-03-30  Bruno Haible  <bruno@clisp.org>
55122
55123         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
55124         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
55125         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
55126         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
55127         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
55128         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
55129         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
55130         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
55131
55132         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
55133         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
55134         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
55135         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
55136         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
55137         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
55138         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
55139         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
55140
55141         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
55142         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
55143         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
55144         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
55145         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
55146         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
55147         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
55148         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
55149
55150         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
55151         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
55152
55153         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
55154         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
55155
55156         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
55157         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
55158
55159         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
55160         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
55161         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
55162
55163         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
55164         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
55165         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
55166
55167         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
55168         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
55169         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
55170
55171         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
55172         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
55173         * modules/vasprintf (Depends-on): Add EOVERFLOW.
55174
55175         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
55176         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
55177         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
55178         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
55179         (Depends-on): Add EOVERFLOW.
55180         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
55181         (Depends-on): Add EOVERFLOW.
55182         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55183         (Depends-on): Add EOVERFLOW.
55184         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
55185         (Depends-on): Add EOVERFLOW.
55186         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55187         (Depends-on): Add EOVERFLOW.
55188         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
55189         (Depends-on): Add EOVERFLOW.
55190         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55191         (Depends-on): Add EOVERFLOW.
55192         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
55193         (Depends-on): Add EOVERFLOW.
55194
55195         * lib/sprintf.c (EOVERFLOW): Remove fallback.
55196         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
55197         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
55198
55199         * lib/snprintf.c (EOVERFLOW): Remove fallback.
55200         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
55201         * modules/snprintf (Depends-on): Add EOVERFLOW.
55202
55203         * lib/poll.c (EOVERFLOW): Remove fallback.
55204         * modules/poll (Depends-on): Add EOVERFLOW.
55205
55206         * lib/getugroups.c (EOVERFLOW): Remove fallback.
55207         * modules/getugroups (Depends-on): Add EOVERFLOW.
55208
55209         * lib/getdelim.c (EOVERFLOW): Remove fallback.
55210         * modules/getdelim (Depends-on): Add EOVERFLOW.
55211
55212         * lib/ftell.c (EOVERFLOW): Remove fallback.
55213         * modules/ftell (Depends-on): Add EOVERFLOW.
55214
55215         * lib/fprintf.c (EOVERFLOW): Remove fallback.
55216         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
55217         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
55218
55219         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
55220
55221         * modules/EOVERFLOW-tests: New file.
55222         * tests/test-EOVERFLOW.c: New file.
55223
55224         * modules/EOVERFLOW: New file.
55225         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
55226
55227 2008-03-30  Bruno Haible  <bruno@clisp.org>
55228
55229         Fix bug introduced on 2007-06-10.
55230         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
55231         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
55232
55233 2008-03-30  Bruno Haible  <bruno@clisp.org>
55234
55235         Improve freadseek's efficiency after ungetc.
55236         * lib/freadseek.c: Include freadahead.h.
55237         (freadptrinc): New function, extracted from freadseek.
55238         (freadseek): Use it in a loop. Use freadahead to determine the number
55239         of loop iterations.
55240         * modules/freadseek (Depends-on): Add freadahead.
55241         (configure.ac): Require AC_C_INLINE.
55242
55243 2008-03-30  Bruno Haible  <bruno@clisp.org>
55244
55245         * lib/freadseek.c (freadseek): Don't ignore the return value of
55246         freadptr.
55247
55248 2008-03-29  Eric Blake  <ebb9@byu.net>
55249
55250         Add hex float support.
55251         * modules/strtod (Depends-on): Add c-ctype.
55252         (Link): Mention POW_LIB.
55253         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
55254         whitespace between 'e' and exponent.
55255         * tests/test-strtod.c (main): Enable hex float tests.
55256         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
55257         now provides.
55258
55259         Document various strtod bugs, with some fixes.
55260         * doc/posix-functions/strtod.texi (strtod): Document bugs with
55261         "-0x", "inf", "nan", and hex constants.
55262         * doc/posix-functions/atof.texi (atof): Likewise.
55263         * modules/stdlib (Makefile.am): Support strtod.
55264         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
55265         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
55266         detect additional strtod bugs.
55267         * lib/stdlib.in.h (rpl_strtod): Add declarations.
55268         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
55269         bool where appropriate.  Parse 'inf' and 'nan'.
55270         * tests/test-strtod.c: New file.
55271         * modules/strtod (Depends-on): Add stdbool, stdlib.
55272         (configure.ac): Turn on module indicator.
55273         * modules/strtod-tests: New module.
55274
55275 2008-03-29  Eric Blake  <ebb9@byu.net>
55276
55277         Fix ftell on mingw.
55278         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
55279         * modules/ftell-tests (Depends-on): Add binary-io.
55280         * modules/ftello-tests (Depends-on): Likewise.
55281         * tests/test-ftell.c (main): Enhance test to cover behavior after
55282         ungetc.  Enforce binary mode.
55283         * tests/test-ftello.c (main): Likewise.
55284
55285         Pass test-freadseek on cygwin.
55286         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
55287         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
55288         ungetc buffer.
55289
55290         * tests/test-fflush2.c (main): Fix typo.
55291
55292 2008-03-29  Bruno Haible  <bruno@clisp.org>
55293
55294         * tests/test-fflush2.c (main): Temporarily disable the contents of
55295         this test.
55296         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
55297         Reported by Eric Blake.
55298
55299 2008-03-28  Simon Josefsson  <simon@josefsson.org>
55300
55301         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
55302         (GC_SHA224_DIGEST_SIZE): Add.
55303
55304         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
55305         (gc_hash_digest_length): Likewise.
55306         (gc_hash_buffer): Likewise.
55307
55308 2008-03-25  Bruno Haible  <bruno@clisp.org>
55309
55310         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
55311         detail which gettext release to use.
55312         Reported by Simon Josefsson.
55313
55314 2008-03-26  Jim Meyering  <meyering@redhat.com>
55315
55316         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
55317         * modules/gnumakefile (clean-GNUmakefile): Also, use
55318         test ... && ... || : syntax rather than if-then ... fi.
55319
55320         gnumakefile: Don't double-quote-expand $(VPATH) value.
55321         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
55322
55323 2008-03-24  Eric Blake  <ebb9@byu.net>
55324
55325         Alter GNUmakefile to install into top directory.
55326         * modules/maintainer-makefile: Split, and add dependency...
55327         * modules/gnumakefile: to this new module.
55328         * build-aux/GNUmakefile: Move...
55329         * top/GNUmakefile: ...here.
55330         * build-aux/maint.mk: Move...
55331         * top/maint.mk: ...here.
55332         * MODULES.html.sh (Support for maintaining...): Document new
55333         module.
55334
55335 2008-03-23  Bruno Haible  <bruno@clisp.org>
55336
55337         * gnulib-tool: New options --vc-files, --no-vc-files.
55338         (func_usage): Document them.
55339         (vc_files): New variable.
55340         (func_import): Consider vc_files.
55341         (func_create_testdir): Set vc_files to empty.
55342         Suggested by Jim Meyering and Karl Berry.
55343
55344 2008-03-23  Bruno Haible  <bruno@clisp.org>
55345
55346         Fix regex compilation error on HP-UX 11.
55347         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
55348         * modules/regex (Files): Add m4/mbstate_t.m4.
55349         Reported by Ton Voon <ton.voon@altinity.com>.
55350
55351 2008-03-23  Bruno Haible  <bruno@clisp.org>
55352
55353         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
55354
55355 2008-03-23  Eric Blake  <ebb9@byu.net>
55356             Bruno Haible  <bruno@clisp.org>
55357
55358         Install files from top/ in the destination directory.
55359         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
55360         augmentation also for the files from top/.
55361         (func_import, func_create_testdir): Rewrite file names:
55362         top/filename -> filename.
55363
55364 2008-03-23  Bruno Haible  <bruno@clisp.org>
55365
55366         Tweak "gnulib --version" output.
55367         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
55368
55369 2008-03-23  Bruno Haible  <bruno@clisp.org>
55370
55371         Tweak "gnulib --version" output.
55372         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
55373         rather than contents of ChangeLog, when possible.
55374
55375 2008-03-21  Eric Blake  <ebb9@byu.net>
55376
55377         More --version tweaks.
55378         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
55379         date of last ChangeLog entry.
55380
55381 2008-03-21  Jim Meyering  <meyering@redhat.com>
55382
55383         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
55384
55385 2008-03-20  Eric Blake  <ebb9@byu.net>
55386
55387         VPATH fix.
55388         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
55389
55390 2008-03-20  Simon Josefsson  <simon@josefsson.org>
55391
55392         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
55393         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
55394
55395 2008-03-20  Eric Blake  <ebb9@byu.net>
55396
55397         Sync GNUmakefile with coreutils.
55398         * build-aux/GNUmakefile (have-Makefile): Rename...
55399         (_have-Makefile): ...to this, for namespace consideration.
55400         (GNUmakefile.cfg): Include, if present.
55401         (_autoreconf): Define a default.
55402         (_is-dist-target): New rule for rebuilds to pick up intra-release
55403         version.
55404         (maint-cfg.mk): Rename...
55405         (cfg.mk): ...to this.
55406
55407 2008-03-18  Jim Meyering  <meyering@redhat.com>
55408
55409         New script and module: mktempd
55410         * MODULES.html.sh (maint+release support): Add mktempd.
55411         * build-aux/mktempd: New file.
55412         * modules/mktempd: New file.
55413
55414 2008-03-15  Jim Meyering  <meyering@redhat.com>
55415
55416         Undo last change.
55417         * lib/sha1.c, lib/md5.c: 63 != ~63.
55418         Reported by Andreas Schwab.
55419
55420         sha1.c, md5.c: Hoist a redundant expression.
55421         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
55422         "ctx->buflen" only once, before calling *_process_block.
55423         * lib/md5.c (md5_process_bytes): Likewise.
55424
55425 2008-03-14  Eric Blake  <ebb9@byu.net>
55426
55427         Bump copyright year in files generated by gnulib-tool.
55428         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
55429         gnulib-tool, rather than hard-coding it.
55430
55431         Fix 'gnulib-tool --version' output to work with git.
55432         * gnulib-tool (func_gnulib_dir): New function, extracted from...
55433         (startup): ...here.
55434         (func_version): Use it to invoke git-version-gen, rather than
55435         relying on CVS keyword expansion.  Modernize wording.
55436         (cvsdatestamp, last_checkin_date, version): Kill unused
55437         variables.
55438
55439 2008-03-12  Jim Meyering  <meyering@redhat.com>
55440
55441         Recognize optional cast of the argument to free.
55442         * build-aux/useless-if-before-free: Update regexps.
55443
55444         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
55445
55446 2008-03-11  Bruno Haible  <bruno@clisp.org>
55447
55448         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
55449         by a single package.
55450         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
55451         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
55452         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
55453         Reported by Sam Steingold <sds@gnu.org>.
55454
55455 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
55456
55457         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
55458         repositories.
55459
55460 2008-03-11  Bruno Haible  <bruno@clisp.org>
55461
55462         Avoid conflicts between local macro definitions.
55463         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
55464         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
55465
55466 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
55467             Bruno Haible  <bruno@clisp.org>
55468
55469         Make va_copy work with some version of xlc on AIX 5.1.
55470         * lib/stdarg.in.h: New file.
55471         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
55472         On AIX, use a <stdarg.h> file substitute.
55473         * modules/stdarg (Files): Add lib/stdarg.in.h.
55474         (Depends-on): Add include_next.
55475         (Makefile.am): Build a stdarg.h substitute if requested.
55476         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
55477
55478 2008-03-10  Bruno Haible  <bruno@clisp.org>
55479
55480         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
55481         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
55482         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55483
55484 2008-03-10  Bruno Haible  <bruno@clisp.org>
55485
55486         * modules/stdlib (Depends-on): Add include_next, remove
55487         absolute-header.
55488
55489 2008-03-09  Bruno Haible  <bruno@clisp.org>
55490
55491         * lib/freadahead.h (freadahead): Document more precisely.
55492         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
55493         the sum of both buffer sizes.
55494         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
55495         * NEWS: Document the change.
55496
55497 2008-03-09  Bruno Haible  <bruno@clisp.org>
55498
55499         Extend freadptr to return also the buffer size.
55500         * lib/freadptr.h (freadptr): Add sizep argument.
55501         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
55502         (freadptr): Add sizep argument. Determine buffer size like freadahead
55503         does.
55504         * tests/test-freadptr.c: Don't include freadahead.h.
55505         (main): Adapt for new calling convention of freadptr.
55506         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
55507         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
55508         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
55509         tests/test-freadptr2.sh.
55510         (Depends): Remove freadahead.
55511         (TESTS): Add test-freadptr2.sh.
55512         (check_PROGRAMS): Add test-freadptr2.
55513
55514 2008-03-09  Bruno Haible  <bruno@clisp.org>
55515
55516         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
55517         Report and solution by Simon Josefsson.
55518
55519 2008-03-06  Bruno Haible  <bruno@clisp.org>
55520
55521         Make fflush after ungetc work on BSD platforms.
55522         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
55523         * tests/test-fflush2.c: New file.
55524         * tests/test-fflush2.sh: New file.
55525         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
55526         tests/test-fflush2.c.
55527         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
55528         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
55529
55530 2008-03-06  Eric Blake  <ebb9@byu.net>
55531
55532         Likewise for ftello.
55533         * modules/ftello (Dependencies): Add extensions.
55534         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
55535
55536 2008-03-06  Bruno Haible  <bruno@clisp.org>
55537
55538         * modules/fseeko (Dependencies): Add extensions.
55539         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
55540         Needed on glibc systems.
55541
55542 2008-03-06  Bruno Haible  <bruno@clisp.org>
55543
55544         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
55545         email address.
55546         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55547
55548 2008-03-06  Bruno Haible  <bruno@clisp.org>
55549
55550         * users.txt: Add libgnupdf.
55551
55552 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
55553
55554         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
55555         (Header File Substitutes, Function Substitutes,
55556         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
55557         (Build robot for gnulib): Fix typo.
55558
55559 2008-03-06  Bruno Haible  <bruno@clisp.org>
55560
55561         * doc/gnulib-tool.texi (VCS Issues): Small updates.
55562         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
55563
55564 2008-03-06  Bruno Haible  <bruno@clisp.org>
55565
55566         * doc/func.texi: New file, extracted from doc/gnulib.texi.
55567         * doc/gnulib.texi: Include it.
55568
55569 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55570
55571         * modules/func (License): Change license to unlimited; there was
55572         no LGPL parts in the module anyway.
55573
55574 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55575
55576         * modules/__func__: Renamed to modules/func.
55577         * modules/__func__-tests: Renamed to modules/func-tests.
55578         * tests/test-__func__.c: Renamed to tests/test-func.c.
55579         * m4/__func__.m4: Renamed to m4/func.m4.
55580         * doc/gnulib.texi (__func__): Section renamed to func.
55581         Suggested by Eric Blake <ebb9@byu.net>.
55582
55583 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55584
55585         * doc/gnulib.texi (__func__): Use C99 terminology when talking
55586         about __func__.  Make example self-contained.  Suggested by Eric
55587         Blake <ebb9@byu.net>.
55588
55589         * tests/test-__func__.c (main): Avoid extraneous () around __func.
55590         Suggested by Eric Blake <ebb9@byu.net>.
55591
55592 2008-03-06  Simon Josefsson  <simon@josefsson.org>
55593
55594         * modules/__func__: New file.
55595         * modules/__func__-tests: New file.
55596         * tests/test-__func__.c: New file.
55597         * m4/__func__.m4: New file.
55598         * doc/gnulib.texi (__func__): Document __func__ module.
55599
55600 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55601
55602         * modules/byteswap (License): Re-license as LGPLv2+.
55603
55604 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55605
55606         * doc/Makefile: Add pdf target.
55607
55608 2008-03-05  Simon Josefsson  <simon@josefsson.org>
55609
55610         * modules/inline (License): Use 'unlimited', since there are only
55611         *.m4 files in this module.
55612
55613 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55614             Bruno Haible  <bruno@clisp.org>
55615
55616         Add support for HP C 7.1 on OpenVMS 8.3.
55617         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
55618
55619 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
55620
55621         Update VMS specifics.
55622         * lib/getopt.c [VMS]: Remove include of unixlib.h.
55623
55624 2008-03-02  Jim Meyering  <meyering@redhat.com>
55625
55626         Remove the last dependency on the "free" module.
55627         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
55628         Reported by Bob Proulx.
55629
55630         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
55631
55632         Remove useless "if" tests before free.  Deprecate "free" module.
55633         * doc/posix-functions/free.texi: Mention that this
55634         module is no longer useful.
55635         * modules/free (Notice): Say this module is obsolete.
55636         * modules/readutmp (Depends-on): Remove free.
55637         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
55638         * lib/putenv.c (putenv): Likewise.
55639         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
55640         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
55641         * tests/test-c-strcasestr.c (main): Likewise.
55642         * tests/test-c-strstr.c (main): Likewise.
55643         * tests/test-mbscasestr1.c (main): Likewise.
55644         * tests/test-mbscasestr2.c (main): Likewise.
55645         * tests/test-mbsstr1.c (main): Likewise.
55646         * tests/test-mbsstr2.c (main): Likewise.
55647         * tests/test-memmem.c (main): Likewise.
55648         * tests/test-strcasestr.c (main): Likewise.
55649         * tests/test-striconv.c (main): Likewise.
55650         * tests/test-striconveh.c (main): Likewise.
55651         * tests/test-striconveha.c (main): Likewise.
55652         * tests/test-strstr.c (main): Likewise.
55653
55654         * build-aux/git-version-gen: Adjust a comment and the Usage string.
55655
55656         bootstrap: sync from coreutils again
55657         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
55658
55659 2008-03-01  Jim Meyering  <meyering@redhat.com>
55660
55661         bootstrap: sync from coreutils
55662         * build-aux/bootstrap (update_po_files): Copy a .po file into place
55663         also when the target doesn't exist.
55664
55665 2008-03-01  Eric Blake  <ebb9@byu.net>
55666
55667         Fix bugs in last patch.
55668         * lib/memchr2.c (memchr2): Fix typo.
55669         * tests/test-memchr2.c: Test previous bug, and don't use GNU
55670         extension.
55671         Reported by Bruce Korb.
55672
55673         New module 'memchr2'.
55674         * modules/memchr2: New file.
55675         * modules/memchr2-tests: Likewise.
55676         * lib/memchr2.h: Likewise.
55677         * lib/memchr2.c: Likewise, based on memchr.c.
55678         * tests/test-memchr2.c: New test.
55679         * MODULES.html.sh (String handling): Add memchr2.
55680
55681 2008-02-29  Bruno Haible  <bruno@clisp.org>
55682
55683         * modules/freadseek-tests: New file.
55684         * tests/test-freadseek.sh: New file.
55685         * tests/test-freadseek.c: New file.
55686
55687         New module 'freadseek'.
55688         * modules/freadseek: New file.
55689         * lib/freadseek.h: New file.
55690         * lib/freadseek.c: New file.
55691         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
55692
55693 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
55694
55695         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
55696         wydawca.
55697
55698         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
55699         program_invocation_name and program_invocation_short_name are
55700         present.
55701
55702 2008-02-28  Bruno Haible  <bruno@clisp.org>
55703
55704         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
55705         * tests/test-freadptr.sh: Also test non-seekable stdin.
55706
55707 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
55708
55709         * build-aux/bootstrap (source_base, m4_base)
55710         (doc_base, tests_base): New variables.
55711         (gnulib_tool_options): Do not hardcode base directories, use
55712         the above variables instead.
55713
55714 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
55715
55716         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
55717
55718 2008-02-28  Bruno Haible  <bruno@clisp.org>
55719
55720         * modules/freadptr-tests: New file.
55721         * tests/test-freadptr.sh: New file.
55722         * tests/test-freadptr.c: New file.
55723
55724         New module 'freadptr'.
55725         * modules/freadptr: New file.
55726         * lib/freadptr.h: New file.
55727         * lib/freadptr.c: New file.
55728         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
55729
55730 2008-02-26  Karl Berry  <karl@freefriends.org>
55731
55732         Sync from Libtool:
55733         * libltdl/argz.c (argz_add, argz_count): New functions.
55734         * libltdl/argz.in.h: Declare them.
55735         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
55736
55737 2008-02-22  Bruno Haible  <bruno@clisp.org>
55738
55739         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
55740         is a pointer type.  Needed for HP-UX 10.
55741         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
55742         * doc/posix-functions/gmtime_r.texi: Likewise.
55743         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
55744
55745 2008-02-24  Bruno Haible  <bruno@clisp.org>
55746
55747         * modules/environ-tests: New file.
55748         * tests/test-environ.c: New file.
55749
55750         New module 'environ'.
55751         * modules/environ: New file.
55752         * lib/unistd.in.h (environ): New declaration.
55753         * m4/environ.m4: New file.
55754         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
55755         after use.
55756         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
55757         HAVE_DECL_ENVIRON.
55758         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
55759         HAVE_DECL_ENVIRON.
55760         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
55761         wrong claim that 'environ' is missing on some systems.
55762         * modules/execute (Depends-on): Add environ.
55763         * lib/execute.c (environ): Remove fallback declaration.
55764         * modules/pipe (Depends-on): Add environ.
55765         * lib/pipe.c (environ): Remove fallback declaration.
55766         * modules/setenv (Depends-on): Add environ.
55767         * lib/setenv.c (environ): Remove fallback declaration.
55768         * modules/unsetenv (Depends-on): Add environ.
55769         * lib/unsetenv.c (environ): Remove fallback declaration.
55770         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
55771         m4/environ.m4.
55772         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
55773         (gl_PREREQ_UNSETENV): Likewise.
55774
55775 2008-02-24  Bruno Haible  <bruno@clisp.org>
55776
55777         * doc/posix-functions/environ.texi: Document the MacOS X problem.
55778
55779 2008-02-20  Bob Proulx  <bob@proulx.com>
55780
55781         Enable use of older two part flavor 'git describe'.
55782         * build-aux/git-version-gen: If using the older two part flavor of
55783         git version then recreate the third part now present in the
55784         newer three part flavor of git describe.
55785
55786 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
55787
55788         * lib/fts.c (fts_build): Typo correction to comment.
55789
55790 2008-02-17  Bruno Haible  <bruno@clisp.org>
55791
55792         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
55793         generating no-op conflicts.
55794
55795 2008-02-17  Bruno Haible  <bruno@clisp.org>
55796
55797         Speed up by 10%.
55798         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
55799         result_entries, rather than an index-based loop.
55800
55801 2008-02-17  Bruno Haible  <bruno@clisp.org>
55802
55803         Speed up by 25%.
55804         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
55805         'hashcode_cached'.
55806         (entry_create): New function.
55807         (entry_hashcode): Use the cached hashcode if possible.
55808         (read_changelog_file, try_split_merged_entry): Use entry_create.
55809
55810 2008-02-17  Bruno Haible  <bruno@clisp.org>
55811
55812         Speed up from O(n^2) to O(n) for long ChangeLog files.
55813         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
55814         (read_changelog_file): Change implementation of entries_reversed list
55815         to rbtreehash.
55816         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
55817
55818 2008-02-17  Bruno Haible  <bruno@clisp.org>
55819
55820         New option --split-merged-entry.
55821         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
55822         (find_paragraph_end, try_split_merged_entry): New functions.
55823         (long_options): Add option --split-merged-entry.
55824         (usage): Document option --split-merged-entry.
55825         (main): Implement option --split-merged-entry.
55826         Reported by Eric Blake.
55827
55828 2008-02-17  Bruno Haible  <bruno@clisp.org>
55829
55830         * lib/git-merge-changelog.c: Include c-strstr.h.
55831         (main): Support the "git pull --rebase" situation.
55832         * modules/git-merge-changelog (Depends-on): Add c-strstr.
55833         Reported by Eric Blake.
55834
55835 2008-02-16  Eric Blake  <ebb9@byu.net>
55836
55837         Avoid doubling \ in common case of "c-maybe" quoting style.
55838         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
55839         eliding outer quotes.
55840         * lib/quotearg.h: Document this.
55841         * tests/test-quotearg.c (result_strings, inputs, results_g)
55842         (flag_results, locale_results): Test it by adding a new string to
55843         each test group.
55844         (compare_strings): Test new string.
55845
55846 2008-02-13  Eric Blake  <ebb9@byu.net>
55847
55848         Avoid trigraph quoting in default output.
55849         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
55850         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
55851         unless explicitly requested.
55852         * tests/test-quotearg.c (flag_results, main): Add additional tests.
55853
55854 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
55855
55856         Don't rely on signed integer overflowing to negative value.
55857         * lib/getugroups.c (getugroups): Include <limits.h>.
55858         Instead, compare against INT_MAX, and increment only if the test passes.
55859
55860 2008-02-13  Jim Meyering  <meyering@redhat.com>
55861         and Eric Blake  <ebb9@byu.net>
55862
55863         Avoid shadowing warning and compile errors on Linux.
55864         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
55865         forwarding macros on Linux.
55866         (dcgettext): Define a stub, for Linux.
55867         (results_g, main): Avoid warnings.
55868
55869 2008-02-12  Eric Blake  <ebb9@byu.net>
55870
55871         Silence warning in last patch.
55872         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
55873
55874         Quotearg part 4: add tests, fix c-maybe colon quoting.
55875         * lib/quotearg.h: Improve documentation.
55876         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
55877         escapes when adding outer quotes.  When quoting trigraphs, use
55878         valid C notation.  When quoting NUL, omit extra characters if next
55879         character is not digit.  Alter prototype.
55880         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
55881         callers.
55882         * modules/quotearg-tests: New module.
55883         * tests/test-quotearg.c: New test.
55884
55885 2008-02-07  Eric Blake  <ebb9@byu.net>
55886
55887         Quotearg part 3: add flag to control outer quote elision.
55888         * lib/quotearg.h (c_maybe_quoting_style): New style.
55889         (enum quoting_flags): Better documentation of flags.
55890         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
55891         c-maybe style.
55892         (quotearg_buffer_restyled): Handle new flag to elide outer
55893         quotes.
55894
55895         Quotearg part 2: add flag that can control NUL elision.
55896         * lib/quotearg.h (set_quoting_flags): New prototype.
55897         * lib/quotearg.c (struct quoting_options): Add flag field.
55898         (set_quoting_flags): New function.
55899         (quotearg_buffer_restyled): Add flags parameter.
55900         (quotearg_alloc_mem): Set the flag if length cannot be returned.
55901         (quotearg_n_options): Set the flag, since length cannot be
55902         returned.
55903         (quoting_options_from_style): Default flags correctly.
55904
55905         Quotearg part 1: more wrappers, restore quotearg_char state.
55906         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
55907         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
55908         (quotearg_colon_mem): New wrappers.
55909         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
55910         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
55911         functions.
55912         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
55913         (quotearg_colon_mem): New functions.
55914
55915 2008-02-11  Bruno Haible  <bruno@clisp.org>
55916
55917         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
55918         library in the current directory: it does not work with parallel make.
55919         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
55920
55921 2008-02-11  Bruno Haible  <bruno@clisp.org>
55922
55923         * .gitattributes: New file.
55924
55925 2008-02-11  Jim Meyering  <meyering@redhat.com>
55926
55927         useless-if-before-free: Fix reversed exit values.
55928         * build-aux/useless-if-before-free: Use correct values
55929         for EXIT_MATCH and EXIT_NO_MATCH.
55930
55931         * build-aux/useless-if-before-free: Close stdout carefully.
55932
55933 2008-02-10  Bruno Haible  <bruno@clisp.org>
55934
55935         New module 'git-merge-changelog'.
55936         * modules/git-merge-changelog: New file.
55937         * lib/git-merge-changelog.c: New file.
55938
55939 2008-02-10  Jim Meyering  <meyering@redhat.com>
55940
55941         useless-if-before-free: New option: --list (-l).
55942
55943         useless-if-before-free: Don't exit immediately upon open failure.
55944         * build-aux/useless-if-before-free: Exit 2 for errors.
55945         Upon failure to open a file, don't exit immediately.
55946         Rather, just warn and continue with any remaining files.
55947
55948 2008-02-10  Bruno Haible  <bruno@clisp.org>
55949
55950         New abstract list operation 'node_set_value'.
55951         * lib/gl_list.h (gl_list_node_set_value): New function.
55952         (struct gl_list_implementation): New field node_set_value.
55953         * lib/gl_list.c (gl_list_node_set_value): New function.
55954         * lib/gl_array_list.c (gl_array_node_set_value): New function.
55955         (gl_array_list_implementation): Update.
55956         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
55957         (gl_carray_list_implementation): Update.
55958         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
55959         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
55960         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
55961         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
55962         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
55963         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
55964         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
55965         Update.
55966         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
55967         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
55968         (gl_sublist_list_implementation): Update.
55969
55970 2008-02-10  Bruno Haible  <bruno@clisp.org>
55971
55972         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
55973         Needed when ELEMENT is #defined to 'some_type *'.
55974
55975 2008-02-10  Jim Meyering  <meyering@redhat.com>
55976
55977         New script and module: useless-if-before-free
55978         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
55979         * build-aux/useless-if-before-free: New file.
55980         * modules/useless-if-before-free: New file.
55981
55982         * build-aux/gitlog-to-changelog: Use committer date, not author date.
55983
55984         xstrtol_error: Fix typo.
55985         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
55986         s/exit_failure/exit_status/.
55987
55988 2008-02-09  Jim Meyering  <meyering@redhat.com>
55989
55990         New script and module: gitlog-to-changelog
55991         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
55992         * modules/gitlog-to-changelog: New file.
55993         * build-aux/gitlog-to-changelog: New file.
55994
55995 2008-02-08  Jim Meyering  <meyering@redhat.com>
55996
55997         Avoid two "parameter unused" warnings.
55998         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
55999         Mark "st" as used.
56000
56001         Use "git COMMAND", not "git-COMMAND".
56002         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
56003         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
56004         * build-aux/git-version-gen: Use "git status", not "git-status".
56005
56006 2008-02-07  Bruno Haible  <bruno@clisp.org>
56007
56008         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
56009         Avoids a crash on Windows Vista.
56010         Reported by Adam Strzelecki <ono@java.pl> via
56011         Simon Josefsson <simon@josefsson.org>.
56012
56013 2008-02-06  Bruno Haible  <bruno@clisp.org>
56014
56015         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
56016         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
56017         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
56018         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
56019         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
56020         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
56021         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
56022         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
56023         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
56024         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
56025         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
56026         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
56027         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
56028         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
56029         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
56030         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
56031         left-adjust flag.
56032         * tests/test-snprintf-posix.h (test_function): Likewise.
56033         * tests/test-sprintf-posix.h (test_function): Likewise.
56034         * tests/test-vasprintf-posix.c (test_function): Likewise.
56035         * doc/posix-functions/fprintf.texi: Update.
56036         * doc/posix-functions/printf.texi: Update.
56037         * doc/posix-functions/snprintf.texi: Update.
56038         * doc/posix-functions/sprintf.texi: Update.
56039         * doc/posix-functions/vfprintf.texi: Update.
56040         * doc/posix-functions/vprintf.texi: Update.
56041         * doc/posix-functions/vsnprintf.texi: Update.
56042         * doc/posix-functions/vsprintf.texi: Update.
56043         Reported by Peter Fales <psfales@alcatel-lucent.com>.
56044
56045 2008-02-06  Bruno Haible  <bruno@clisp.org>
56046
56047         Fix bug introduced on 2008-01-26.
56048         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
56049
56050 2008-02-06  Bruno Haible  <bruno@clisp.org>
56051
56052         Fix bug introduced on 2007-06-10.
56053         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
56054         !NEED_PRINTF_FLAG_ZERO.
56055
56056 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
56057
56058         getloadavg: use libperfstat on AIX5
56059         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
56060
56061 2008-02-03  Bruno Haible  <bruno@clisp.org>
56062
56063         * lib/diffseq.h: Add comments about required #includes.
56064         Reported by Michael Biggs <gnulib@doubleplum.net>.
56065
56066 2008-02-01  Bruno Haible  <bruno@clisp.org>
56067
56068         * users.txt: Add gnuit.
56069
56070 2008-01-31  Bruno Haible  <bruno@clisp.org>
56071
56072         * lib/md4.c (set_uint32): Mark as inline.
56073         * lib/md5.c (set_uint32): Likewise.
56074         * lib/sha1.c (set_uint32): Likewise.
56075         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
56076         * m4/md5.m4 (gl_MD5): Likewise.
56077         * m4/sha1.m4 (gl_SHA1): Likewise.
56078
56079 2008-01-31  Jim Meyering  <meyering@redhat.com>
56080
56081         Use "sizeof VAR", rather than a literal "4".
56082         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
56083         * lib/md4.c (md4_read_ctx): Likewise.
56084         * lib/sha1.c (sha1_read_ctx): Likewise.
56085
56086 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56087
56088         * tests/test-sha1.c: New file, based on test-md5.c.
56089
56090         * modules/crypto/sha1-tests: New file.
56091
56092 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56093
56094         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
56095
56096 2008-01-31  Jim Meyering  <meyering@redhat.com>
56097
56098         Prefer "sizeof v" over the equivalent "4".
56099         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
56100         * lib/md5.c (set_uint32): Likewise.
56101         * lib/sha1.c (set_uint32): Likewise.
56102
56103 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56104
56105         * lib/sha1.c (set_uint32): Mark function as static.
56106
56107 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56108
56109         md2: clarify comments to say that alignment is not required.
56110         * lib/md2.h: Remove warning about alignment in comment.
56111         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
56112         never been required.
56113
56114 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56115
56116         md4: adapt alignment constraint fix from sha1.
56117         * lib/md4.c (set_uint32): New function, from sha1.c
56118         (md4_read_ctx): Use it.
56119         (md4_finish_ctx): Doc fix.
56120         * lib/md4.h: Doc fix.
56121
56122 2008-01-31  Simon Josefsson  <simon@josefsson.org>
56123
56124         md5: adapt alignment constraint fix from sha1.
56125         * lib/md5.c (set_uint32): New function, from sha1.c
56126         (md5_read_ctx): Use it.
56127         (md5_finish_ctx): Doc fix.
56128         * lib/md5.h: Doc fix.
56129
56130 2008-01-30  Peter Palfrader  <weasel@debian.org>
56131
56132         sha1: remove the result buffer alignment constraint
56133         * lib/sha1.c (set_uint32): New function.
56134         (sha1_read_ctx): Rewrite to remove the result buffer alignment
56135         constraint.
56136         (sha1_finish_ctx): Remove comment warning about alignment constraint.
56137         * lib/sha1.h: Likewise.
56138
56139 2008-01-30  Andreas Schwab  <schwab@suse.de>
56140             Bruno Haible  <bruno@clisp.org>
56141
56142         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
56143         correct definition of LDBL_MIN_EXP.
56144
56145 2008-01-30  Karl Berry  <karl@gnu.org>
56146
56147         * config/srclist-update: try to preserve x bit on updates.
56148         * config/srclistvars.sh: update for karl.
56149
56150 2008-01-29  Jim Meyering  <meyering@redhat.com>
56151
56152         vasnprintf.c: Avoid warning about unused label
56153         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
56154         "overflow" label definition and associated code with the
56155         same cpp condition that guards the sole use of that label.
56156
56157 2008-01-26  Bruno Haible  <bruno@clisp.org>
56158
56159         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
56160         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
56161         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
56162         * lib/isnanl-nolibm.h (isnanl): Likewise.
56163         Reported by Paul Eggert <eggert@cs.ucla.edu>.
56164
56165 2008-01-26  Bruno Haible  <bruno@clisp.org>
56166
56167         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
56168         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
56169
56170 2008-01-26  Bruno Haible  <bruno@clisp.org>
56171
56172         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
56173         GCC >= 4.0 built-in.
56174         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
56175
56176 2008-01-26  Bruno Haible  <bruno@clisp.org>
56177
56178         Rename isnan, applicable to 'double' only, to isnand.
56179         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
56180         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
56181         (configure.ac): Update.
56182         (Include): Replace "isnan.h" with "isnand.h".
56183         * m4/isnand.m4: Renamed from m4/isnan.m4.
56184         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
56185         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
56186         instead of isnan.c.
56187         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
56188         instead of HAVE_ISNAN_IN_LIBC.
56189         (isnand): Renamed from isnan.
56190         * lib/isnand.c: New file.
56191         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
56192         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
56193         (Makefile.am): Update.
56194         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
56195         Include isnand.h instead of isnan.h.
56196         (main): Test isnand instead of isnan.
56197         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
56198         isnan-nolibm.
56199         * modules/frexp (Depends-on): Likewise.
56200         * modules/frexp-tests (Depends-on): Likewise.
56201         * modules/frexp-nolibm (Depends-on): Likewise.
56202         * modules/frexp-nolibm-tests (Depends-on): Likewise.
56203         * modules/isfinite (Depends-on): Likewise.
56204         * modules/round-tests (Depends-on): Likewise.
56205         * modules/signbit (Depends-on): Likewise.
56206         * modules/signbit-tests (Depends-on): Likewise.
56207         * modules/snprintf-posix (Depends-on): Likewise.
56208         * modules/sprintf-posix (Depends-on): Likewise.
56209         * modules/trunc-tests (Depends-on): Likewise.
56210         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56211         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56212         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56213         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56214         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56215         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56216         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56217         * modules/vasnprintf-posix (Depends-on): Likewise.
56218         * modules/vasprintf-posix (Depends-on): Likewise.
56219         * modules/vfprintf-posix (Depends-on): Likewise.
56220         * modules/vsnprintf-posix (Depends-on): Likewise.
56221         * modules/vsprintf-posix (Depends-on): Likewise.
56222         * lib/frexp.c: Include isnand.h instead of isnan.h.
56223         (ISNAN): Set to isnand instead of isnan.
56224         * lib/isfinite.c: Include isnand.h instead of isnan.h.
56225         (gl_isfinited): Use isnand instead of isnan.
56226         * lib/signbitd.c: Include isnand.h instead of isnan.h.
56227         (gl_signbitd): Use isnand instead of isnan.
56228         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
56229         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
56230         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
56231         (main): Use isnand instead of isnan.
56232         * tests/test-round1.c: Include isnand.h.
56233         (main): Use isnand instead of isnan.
56234         * tests/test-round2.c: Include isnand.h instead of isnan.h.
56235         (ISNAN): Set to isnand instead of isnan.
56236         * tests/test-trunc1.c: Include isnand.h.
56237         (main): Use isnand instead of isnan.
56238         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
56239         (equal): Use isnand instead of isnan.
56240         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
56241         isnand-nolibm.
56242         * NEWS: Mention the change.
56243
56244 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
56245             Bruno Haible  <bruno@clisp.org>
56246
56247         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
56248         the GCC builtins for signbits are present and set
56249         REPLACE_SIGNBIT_USING_GCC if so.
56250         * lib/math.in.h (signbit): Define using GCC builtins if
56251         REPLACE_SIGNBIT_USING_GCC is set.
56252         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
56253         REPLACE_SIGNBIT_USING_GCC.
56254         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
56255
56256 2008-01-25  Jim Meyering  <meyering@redhat.com>
56257
56258         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
56259         * lib/poll.c: Include <config.h>, not "config.h".
56260         * tests/test-getaddrinfo.c: Likewise.
56261
56262 2008-01-25  Simon Josefsson  <simon@josefsson.org>
56263
56264         * modules/sockets-tests: New file.
56265
56266 2008-01-24  Simon Josefsson  <simon@josefsson.org>
56267
56268         * modules/sockets: New module, can be used to call WSA_Startup and
56269         WSA_Cleanup when needed.
56270
56271         * lib/sockets.h, lib/sockets.c: New files.
56272
56273         * m4/sockets.m4: New file.
56274
56275         * tests/test-sockets.c: New file.
56276
56277 2008-01-19  Bruno Haible  <bruno@clisp.org>
56278
56279         * doc/posix-headers: Renamed from doc/headers.
56280         * doc/posix-functions: Renamed from doc/functions.
56281         * doc/gnulib.texi: Update.
56282
56283 2008-01-19  Bruno Haible  <bruno@clisp.org>
56284
56285         * doc/glibc-functions/strcasestr.texi: Include contents of
56286         doc/functions/strcasestr.texi, fixing the list of platforms.
56287         * doc/functions/strcasestr.texi: Remove file.
56288
56289 2008-01-19  Bruno Haible  <bruno@clisp.org>
56290
56291         * doc/glibc-functions/memmem.texi: Include contents of
56292         doc/functions/memmem.texi.
56293         * doc/functions/memmem.texi: Remove file.
56294
56295 2008-01-18  Bruno Haible  <bruno@clisp.org>
56296
56297         * doc/glibc-functions/*.texi: New files.
56298         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
56299         to use the new files.
56300
56301 2008-01-17  Bruno Haible  <bruno@clisp.org>
56302
56303         * tests/test-gethostname.c (main): Fix printf statement.
56304
56305 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56306
56307         * modules/gethostname-tests: New file.
56308
56309         * tests/test-gethostname.c: New file.
56310
56311 2008-01-17  Simon Josefsson  <simon@josefsson.org>
56312
56313         * lib/gethostname.c: Include string.h unconditionally, strncpy is
56314         used by the UNAME case.  Reported by Bruno Haible
56315         <bruno@clisp.org>.
56316
56317 2008-01-17  Eric Blake  <ebb9@byu.net>
56318
56319         Convert c-strcasestr to be more efficient.
56320         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
56321         (Depends-on): Add c-strcase, remove malloca, strnlen.
56322         * tests/test-c-strcasestr.c (main): Enhance test.
56323         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
56324
56325 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
56326
56327         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
56328         Use it in creating po/Makevars.
56329
56330 2008-01-15  Simon Josefsson  <simon@josefsson.org>
56331
56332         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
56333         Applications that requires it should initialize libgcrypt
56334         manually.
56335
56336 2008-01-16  Simon Josefsson  <simon@josefsson.org>
56337
56338         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
56339
56340 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
56341
56342         Fix problem with getdate on mingw32 reported by Simon Josefsson
56343         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
56344         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
56345         tzname", when deciding whether to declare tzname.
56346         * lib/strftime.c (tzname): Likewise.
56347
56348 2008-01-15  Bruno Haible  <bruno@clisp.org>
56349
56350         Work around a MacOS X 10.5 bug in frexpl().
56351         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
56352         * doc/functions/frexpl.texi: Document the bug.
56353         Reported by Elias Pipping <pipping@gentoo.org>.
56354
56355 2008-01-14  Eric Blake  <ebb9@byu.net>
56356
56357         Touch up previous patch.
56358         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
56359         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
56360
56361         Convert strcasestr module to use Two-Way algorithm.
56362         * modules/strcasestr-simple: New module, based on the old
56363         strcasestr, but with Two-Way rather than KMP.
56364         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
56365         * lib/string.in.h (rpl_strcasestr): Declare.
56366         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
56367         performance.
56368         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
56369         * modules/string (Makefile.am): Support strcasestr.
56370         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
56371         * modules/strcasestr-tests (Depends-on): Check for alarm.
56372         * tests/test-strcasestr.c: Augment test.
56373         * lib/str-two-way.h: Clean up stray macro.
56374         * NEWS: Document new module.
56375         * MODULES.html.sh (string handling): Likewise.
56376         * doc/functions/strcasestr.texi: New file.
56377         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
56378         here, since it is not a POSIX function.
56379
56380 2008-01-14  Colin Watson  <cjwatson@debian.org>
56381             Bruno Haible  <bruno@clisp.org>
56382
56383         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
56384         works fine; if not, set REPLACE_STRSIGNAL.
56385         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
56386         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56387         REPLACE_STRSIGNAL.
56388         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
56389         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
56390         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
56391
56392 2008-01-14  Bruno Haible  <bruno@clisp.org>
56393
56394         * modules/strsignal (Include): Change to <string.h>.
56395
56396 2008-01-14  Colin Watson  <cjwatson@debian.org>
56397
56398         * modules/argp (Notice): Add a notice recommending to change
56399         XGETTEXT_OPTIONS.
56400         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
56401
56402 2008-01-13  Colin Watson  <cjwatson@debian.org>
56403
56404         * modules/strsignal-tests: New file.
56405         * tests/test-strsignal.c: New file.
56406
56407         * lib/strsignal.c: New file, from glibc with modifications.
56408         * lib/siglist.h: New file, from glibc with modifications.
56409         * lib/string.in.h (strsignal): New declaration.
56410         * m4/strsignal.m4: New file.
56411         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56412         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
56413         * modules/strsignal: New file.
56414         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
56415         HAVE_DECL_STRSIGNAL.
56416
56417 2008-01-13  Bruno Haible  <bruno@clisp.org>
56418
56419         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
56420         locale encoding is not ASCII. Needed for OpenBSD 4.0.
56421         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
56422         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
56423
56424 2008-01-13  Bruno Haible  <bruno@clisp.org>
56425
56426         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
56427         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
56428         * lib/argp.h (__attribute__): Likewise.
56429         * lib/c-stack.c (__attribute__): Likewise.
56430         * lib/error.h (__attribute__): Likewise.
56431         * lib/fts.c (__attribute__): Likewise.
56432         * lib/openat.h (__attribute__): Likewise.
56433         * lib/stdio.in.h (__attribute__): Likewise.
56434         * lib/string.in.h (__attribute__): Likewise.
56435         * lib/utimens.c (__attribute__): Likewise.
56436         * lib/vasnprintf.h (__attribute__): Likewise.
56437         * lib/xalloc.h (__attribute__): Likewise.
56438         * lib/xprintf.h (__attribute__): Likewise.
56439         * lib/xstrtol.h (__attribute__): Likewise.
56440         * lib/xvasprintf.h (__attribute__): Likewise.
56441
56442 2008-01-12  Bruno Haible  <bruno@clisp.org>
56443
56444         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
56445         * doc/glibc-headers/a.out.texi: New file.
56446         * doc/glibc-headers/aliases.texi: New file.
56447         * doc/glibc-headers/alloca.texi: New file.
56448         * doc/glibc-headers/ar.texi: New file.
56449         * doc/glibc-headers/argp.texi: New file.
56450         * doc/glibc-headers/argz.texi: New file.
56451         * doc/glibc-headers/byteswap.texi: New file.
56452         * doc/glibc-headers/crypt.texi: New file.
56453         * doc/glibc-headers/endian.texi: New file.
56454         * doc/glibc-headers/envz.texi: New file.
56455         * doc/glibc-headers/err.texi: New file.
56456         * doc/glibc-headers/error.texi: New file.
56457         * doc/glibc-headers/execinfo.texi: New file.
56458         * doc/glibc-headers/fpu_control.texi: New file.
56459         * doc/glibc-headers/fstab.texi: New file.
56460         * doc/glibc-headers/fts.texi: New file.
56461         * doc/glibc-headers/getopt.texi: New file.
56462         * doc/glibc-headers/ieee754.texi: New file.
56463         * doc/glibc-headers/ifaddrs.texi: New file.
56464         * doc/glibc-headers/libintl.texi: New file.
56465         * doc/glibc-headers/mcheck.texi: New file.
56466         * doc/glibc-headers/mntent.texi: New file.
56467         * doc/glibc-headers/obstack.texi: New file.
56468         * doc/glibc-headers/paths.texi: New file.
56469         * doc/glibc-headers/printf.texi: New file.
56470         * doc/glibc-headers/pty.texi: New file.
56471         * doc/glibc-headers/resolv.texi: New file.
56472         * doc/glibc-headers/shadow.texi: New file.
56473         * doc/glibc-headers/sysexits.texi: New file.
56474         * doc/glibc-headers/ttyent.texi: New file.
56475
56476 2008-01-12  Jim Meyering  <meyering@redhat.com>
56477
56478         announce-gen: emit Gnulib's git-based version string.
56479         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
56480         New option --gnulib-version=V, where V is expected to be
56481         the output of running git describe in the gnulib directory.
56482         (get_tool_versions): Request feedback on xdelta.  I suspect it's
56483         not useful, and plan to stop publishing an xdelta file with each
56484         coreutils release.
56485
56486         * build-aux/announce-gen: Also check for lzma-compressed files.
56487
56488 2008-01-11  Bruno Haible  <bruno@clisp.org>
56489
56490         * tests/test-memmem.c (main): Increase maximum allowed time.
56491         * tests/test-strstr.c (main): Likewise.
56492
56493 2008-01-11  Bruno Haible  <bruno@clisp.org>
56494
56495         * doc/functions/memmem.texi: Add more precisions about platforms.
56496         * doc/functions/strstr.texi: Likewise.
56497
56498 2008-01-10  Eric Blake  <ebb9@byu.net>
56499
56500         * m4/strstr.m4: Delete cruft from copy-n-paste.
56501         Reported by Bruno Haible.
56502
56503 2008-01-10  Bruno Haible  <bruno@clisp.org>
56504
56505         Make c-strstr rely on strstr.
56506         * lib/c-strstr.c: Don't include str-kmp.h.
56507         (c_strstr): Define in terms of strstr.
56508         * modules/c-strstr (Files): Remove lib/str-kmp.h.
56509         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
56510
56511 2008-01-10  Bruno Haible  <bruno@clisp.org>
56512
56513         * doc/gnulib.texi (String Functions in C Locale): New section.
56514         * doc/c-ctype.texi: New file.
56515         * doc/c-strcase.texi: New file.
56516         * doc/c-strcaseeq.texi: New file.
56517         * doc/c-strcasestr.texi: New file.
56518         * doc/c-strstr.texi: New file.
56519         * doc/c-strtod.texi: New file.
56520         * doc/c-strtold.texi: New file.
56521
56522 2008-01-10  Eric Blake  <ebb9@byu.net>
56523
56524         * lib/relocatable.h: Fix a comment.
56525
56526 2008-01-10  Eric Blake  <ebb9@byu.net>
56527
56528         Share two-way algorithm.
56529         * lib/str-two-way.h: New file, merged from...
56530         * lib/memmem.c: ...here...
56531         * lib/strstr.c: ...and here.
56532         * modules/memmem (Files): Use it.
56533         * modules/strstr (Files): Likewise.
56534
56535         Avoid quadratic strstr implementations.
56536         * lib/strstr.c: New file.
56537         * m4/strstr.m4: Likewise.
56538         * modules/strstr: Likewise.
56539         * modules/strstr-tests: Likewise.
56540         * tests/test-strstr.c: Likewise.
56541         * lib/string.in.h (rpl_strstr): Declare.
56542         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
56543         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
56544         * modules/string (Makefile.am): Likewise.
56545         * MODULES.html.sh (string handling): Mention new module.
56546         * doc/functions/strstr.texi (strstr): Document the bug.
56547
56548 2008-01-10  Bruno Haible  <bruno@clisp.org>
56549
56550         * lib/relocatable.h (relocate): State whether result is freshly
56551         allocated or not.
56552         * lib/relocatable.c (relocate): Return a freshly allocated string
56553         instead of a pointer to a privately held string.
56554         Reported by Sylvain Beucler <beuc@gnu.org>.
56555
56556 2008-01-10  Colin Watson  <cjwatson@debian.org>
56557
56558         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
56559         s/S_ISNLK/S_ISLNK/.
56560
56561 2008-01-09  Bruno Haible  <bruno@clisp.org>
56562
56563         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
56564         and other files.
56565         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
56566         if it's only a guess.
56567         * modules/memmem: Simplify by depending on memmem-simple.
56568
56569 2008-01-09  Bruno Haible  <bruno@clisp.org>
56570
56571         Work around OpenBSD 4.0 tdelete() bug.
56572         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
56573         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
56574         macros and don't redefine the enum values.
56575         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
56576         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
56577         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
56578
56579 2008-01-09  Bruno Haible  <bruno@clisp.org>
56580
56581         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
56582         (main): Don't perform the tests if setlocale did not install a UTF-8
56583         locale. Needed on OpenBSD 4.0.
56584         * modules/wcwidth-tests (Depends-on): Add localcharset.
56585
56586 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
56587
56588         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
56589         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
56590         * NEWS: announce this.
56591         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
56592
56593 2008-01-09  Simon Josefsson  <simon@josefsson.org>
56594         and Eric Blake  <ebb9@byu.net>
56595
56596         Add memmem-simple module.
56597         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
56598         (gl_FUNC_MEMMEM): Separate performance from presence checks.
56599         * modules/memmem-simple: New file.
56600         * modules/memmem (Description): Tweak.
56601         * MODULES.html.sh (string handling): Mention new module.
56602         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
56603         addressed by memmem-simple.
56604         * NEWS: Document the difference.
56605
56606 2008-01-09  Eric Blake  <ebb9@byu.net>
56607
56608         Give gcc some memmem optimization hints.
56609         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
56610         (strcasestr): Declare as pure.
56611         * modules/memmem (Maintainer): Claim my implementation.
56612
56613 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56614
56615         Support AIX 6.1 and higher.
56616         * build-aux/config.libpath: Likewise.
56617         * build-aux/config.rpath: Likewise.
56618
56619 2008-01-08  Jim Meyering  <meyering@redhat.com>
56620             Bruno Haible  <bruno@clisp.org>
56621
56622         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
56623         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
56624         Reported by Peter Fales in
56625         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
56626
56627 2008-01-08  Bruno Haible  <bruno@clisp.org>
56628
56629         * modules/unictype/category-of (Depends-on): Add
56630         unictype/category-none.
56631         * modules/unictype/category-and-tests (Depends-on): Add
56632         unictype/category-{L,N,Lu,Nd}.
56633         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
56634         * modules/unictype/category-or-tests (Depends-on): Add
56635         unictype/category-{L,N}.
56636         * modules/unictype/category-name-tests (Depends-on): Add
56637         unictype/category-{Z,Nl}.
56638         Reported by Simon Josefsson.
56639
56640 2008-01-08  Bruno Haible  <bruno@clisp.org>
56641
56642         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
56643         convention better.
56644         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
56645         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
56646         Reported by Peter Miller <millerp@canb.auug.org.au>.
56647
56648 2008-01-08  Eric Blake  <ebb9@byu.net>
56649
56650         Rewrite memmem to guarantee linear complexity without malloc.
56651         * lib/memmem.c (memmem): Use Two-Way rather than
56652         Knuth-Morris-Pratt, to allow O(1) space usage.
56653         (critical_factorization, two_way_short_needle)
56654         (two_way_long_needle): New functions.
56655         (knuth_morris_pratt): Delete.
56656         * modules/memmem (Depends-on): No longer need malloca or stdbool.
56657         Add stdint.
56658         * tests/test-memmem.c (main): Add tests for periodic needle and
56659         sublinear performance.
56660         * doc/functions/memmem.texi (memmem): Document other deficiencies
56661         in cygwin and older glibc.
56662
56663 2008-01-08  Bruno Haible  <bruno@clisp.org>
56664
56665         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
56666         augmentation.
56667
56668 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
56669
56670         Add a configure time option: --disable-acl.
56671         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
56672         AC_ARG_ENABLE(acl).
56673
56674 2008-01-06  Simon Josefsson  <simon@josefsson.org>
56675
56676         * tests/test-localename.c: Don't include obsolete "setenv.h".
56677
56678         * modules/localename-tests (Depends-on): Need unsetenv.
56679
56680 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56681
56682         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
56683
56684 2008-01-06  Colin Watson  <cjwatson@debian.org>
56685
56686         * users.txt: Add man-db.
56687
56688 2008-01-07  Bruno Haible  <bruno@clisp.org>
56689
56690         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
56691         previous section name.
56692
56693 2008-01-07  Bruno Haible  <bruno@clisp.org>
56694
56695         * lib/progname.c (set_program_name): Don't strip off a leading
56696         "lt-" prefix outside a .libs directory.
56697         Suggested by Paul Eggert.
56698
56699 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
56700             Bruno Haible  <bruno@clisp.org>
56701
56702         Improve memory cleanup in 'relocatable' module.
56703         * lib/relocatable.h (compute_curr_prefix): Change return type to
56704         'char *'.
56705         * lib/relocatable.c (compute_curr_prefix): Change return type to
56706         'char *'. Free curr_installdir after use.
56707         (relocate): Free curr_prefix_better after use.
56708         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
56709
56710 2008-01-01  Bruno Haible  <bruno@clisp.org>
56711
56712         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
56713         failure on older glibc systems.
56714         Reported by Peter Fales <psfales@alcatel-lucent.com>.
56715
56716 2008-01-05  Eric Blake  <ebb9@byu.net>
56717
56718         Avoid quadratic system memmem.
56719         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
56720         Reported by Ralf Wildenhues.
56721
56722         Fix memmem test for mingw.
56723         * modules/memmem-tests (configure.ac): Check for alarm.
56724         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
56725         it.
56726         * doc/functions/memmem.texi: New file.
56727         * doc/gnulib.texi (Function Substitutes): Add memmem.
56728         Reported by Bruno Haible.
56729
56730 2008-01-04  Bruno Haible  <bruno@clisp.org>
56731
56732         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
56733         Require gl_HEADER_STRINGS_H_DEFAULTS, not
56734         gl_HEADER_STRING_H_DEFAULTS.
56735
56736 2008-01-04  Eric Blake  <ebb9@byu.net>
56737
56738         Shorten duration of memmem test.
56739         * tests/test-memmem.c (main): Use alarm to declare failure if test
56740         is taking too long.
56741         Reported by Ralf Wildenhues.
56742
56743 2007-12-21  Simon Josefsson  <simon@josefsson.org>
56744
56745         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
56746         string, needed by strerror.
56747
56748 2008-01-03  Colin Watson  <cjwatson@debian.org>
56749             Bruno Haible  <bruno@clisp.org>
56750
56751         * doc/gnulib-tool.texi (Localization): New section.
56752
56753 2008-01-02  Bruno Haible  <bruno@clisp.org>
56754
56755         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
56756         variables to 'unsigned char *' type.
56757         Reported by Paul Eggert.
56758
56759 2008-01-02  Jim Meyering  <jim@meyering.net>
56760
56761         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
56762
56763 2007-12-31  Jim Meyering  <jim@meyering.net>
56764
56765         Avoid use of private FTS type name.
56766         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
56767
56768 2007-12-30  Karl Berry  <karl@gnu.org>
56769
56770         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
56771         work around defect in Texinfo and/or the standalone Info browser.
56772
56773 2007-12-30  Bruno Haible  <bruno@clisp.org>
56774
56775         Unify 5 copies of the KMP code.
56776         * lib/str-kmp.h: New file.
56777         * lib/c-strcasestr.c: Include str-kmp.h.
56778         (knuth_morris_pratt): Remove function.
56779         (c_strcasestr): Update.
56780         * lib/c-strstr.c: Include str-kmp.h.
56781         (knuth_morris_pratt): Remove function.
56782         (c_strcasestr): Update.
56783         * lib/mbscasestr.c: Include str-kmp.h.
56784         (knuth_morris_pratt_unibyte): Remove function.
56785         * lib/mbsstr.c: Include str-kmp.h.
56786         (knuth_morris_pratt_unibyte): Remove function.
56787         * lib/strcasestr.c: Include str-kmp.h.
56788         (knuth_morris_pratt): Remove function.
56789         (strcasestr): Update.
56790         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
56791         * modules/c-strstr (Files): Likewise.
56792         * modules/mbscasestr (Files): Likewise.
56793         * modules/mbsstr (Files): Likewise.
56794         * modules/strcasestr (Files): Likewise.
56795         Suggested by Paul Eggert.
56796
56797 2007-12-30  Bruno Haible  <bruno@clisp.org>
56798
56799         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
56800         defined.
56801
56802 2007-12-30  Bruno Haible  <bruno@clisp.org>
56803
56804         * lib/xmalloca.h: Include xalloc.h.
56805         (xnmalloca): New macro.
56806
56807 2007-12-30  Bruno Haible  <bruno@clisp.org>
56808
56809         * lib/malloca.h (nmalloca): New macro.
56810         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
56811         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
56812         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
56813         knuth_morris_pratt_multibyte): Likewise.
56814         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
56815         knuth_morris_pratt_multibyte): Likewise.
56816         * lib/memmem.c (knuth_morris_pratt): Likewise.
56817         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
56818
56819 2007-12-25  Bruno Haible  <bruno@clisp.org>
56820
56821         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
56822         * lib/glob.c: Don't include openat.h.
56823         (link_exists2_p): Add back the code that deals with the
56824         !GLOB_ALTDIRFUNC case.
56825         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
56826         let it do the filename concatenation.
56827         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
56828         * modules/glob (Depends-on): Remove openat.
56829
56830 2007-12-31  Bruno Haible  <bruno@clisp.org>
56831
56832         * modules/dirfd (License): Change to LGPLv2+.
56833         Approved by Jim Meyering.
56834
56835 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
56836
56837         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
56838         when multiplying M by sizeof (size_t).
56839
56840 2007-12-10  Martin Lambers  <marlam@marlam.de>
56841
56842         Override getpagesize on mingw.
56843         * lib/getpagesize.c: New file.
56844         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
56845         * modules/getpagesize (Files): Add lib/getpagesize.c.
56846         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
56847         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56848         REPLACE_GETPAGESIZE.
56849         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
56850
56851 2007-12-25  Bruno Haible  <bruno@clisp.org>
56852
56853         * modules/localcharset (Notice): New field.
56854         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
56855         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
56856
56857 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
56858             Bruno Haible  <bruno@clisp.org>
56859
56860         Avoid using the syntax symbol() in formatted documentation.
56861         * MODULES.html.sh (func_module): When replacing symbol() with a
56862         hyperlink, remove the parentheses. Show an error if some remain.
56863         Recognize and render the '...' syntax.
56864         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
56865         Rework. Add paragraph about GCC's inlining.
56866         * doc/alloca.texi: Likewise.
56867         * doc/error.texi: Remove parentheses from symbol reference.
56868         * doc/gnulib-intro.texi: Likewise.
56869         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
56870         * modules/fnmatch (Description): Reword to say "the ... function".
56871         * modules/full-read (Description): Likewise.
56872         * modules/full-write (Description): Likewise.
56873         * modules/safe-read (Description): Likewise.
56874         * modules/safe-write (Description): Likewise.
56875         * modules/strchrnul (Description): Likewise.
56876         * modules/trim (Description): Likewise.
56877         * modules/error (Description): Remove parentheses from symbol
56878         references.
56879         * modules/verror (Description): Likewise.
56880         Reported by Karl Berry.
56881
56882 2007-12-25  Bruno Haible  <bruno@clisp.org>
56883
56884         Fixup after 2007-10-16 commit.
56885         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
56886
56887 2007-12-24  Bruno Haible  <bruno@clisp.org>
56888
56889         Make --enable-relocatable work with DESTDIR.
56890         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
56891         to compute installdir from destprog.
56892         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
56893         also set the RELOC_DESTDIR variable.
56894         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56895
56896 2007-12-24  Bruno Haible  <bruno@clisp.org>
56897
56898         Fix link error due to xalloc_die().
56899         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
56900         of xreadlink.
56901         * lib/relocwrapper.c: Update comments.
56902         * build-aux/install-reloc: Remove xreadlink.c from file list.
56903         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
56904         xreadlink.c.
56905         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56906
56907 2007-12-24  Bruno Haible  <bruno@clisp.org>
56908
56909         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
56910         * lib/setenv.h: Remove file.
56911         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
56912         lib/setenv.h.
56913         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
56914         (Depends-on): Add stdlib.
56915         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
56916         gl_FUNC_UNSETENV.
56917         (Include): Replace setenv.h with <stdlib.h>.
56918         * modules/unsetenv: New file.
56919         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
56920         * lib/unsetenv.c: Include <stdlib.h> first.
56921         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
56922         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
56923         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
56924         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
56925         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
56926         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
56927         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
56928         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
56929         * doc/functions/unsetenv.texi: Update.
56930         * modules/xsetenv (Depends-on): Add unsetenv.
56931         * modules/getdate (Depends-on): Likewise.
56932         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
56933         * lib/xsetenv.c: Don't include setenv.h.
56934         * lib/getdate.y: Likewise.
56935         * lib/relocwrapper.c: Likewise.
56936         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
56937         (Depends-on): Add stdlib.
56938         * NEWS: Mention the changes.
56939         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
56940
56941 2007-12-23  Bruno Haible  <bruno@clisp.org>
56942
56943         * lib/memmem.c (memmem): Use lowercase variable names. Tab
56944         indentation.
56945
56946 2007-12-23  Bruno Haible  <bruno@clisp.org>
56947
56948         * lib/c-strcasestr.c: Add more comments.
56949         * lib/c-strstr.c: Likewise.
56950         * lib/mbscasestr.c: Likewise.
56951         * lib/mbsstr.c: Likewise.
56952         * lib/strcasestr.c: Likewise.
56953         * lib/memmem.c: Likewise.
56954
56955 2007-12-23  Bruno Haible  <bruno@clisp.org>
56956
56957         * tests/test-memmem.c: Include <string.h> first.
56958
56959 2007-12-22  Bruno Haible  <bruno@clisp.org>
56960
56961         * gnulib-tool (func_create_testdir): Change $auxdir while generating
56962         the contents of $testsbase.
56963         Reported by Ralf Wildenhues.
56964
56965 2007-12-22  Bruno Haible  <bruno@clisp.org>
56966
56967         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
56968         two variables local_ldadd_before, local_ldadd_last.
56969
56970 2007-12-20  Eric Blake  <ebb9@byu.net>
56971
56972         Work around circular library issue when cross-compiling.
56973         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
56974         that progname.o does not need to pull in rpl_memcmp.
56975
56976 2007-12-19  Eric Blake  <ebb9@byu.net>
56977
56978         Fix memmem to avoid O(n^2) worst-case complexity.
56979         * lib/memmem.c (knuth_morris_pratt): New function.
56980         (memmem): Use it if first few naive iterations fail.
56981         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
56982         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
56983         * modules/memchr (License): Likewise.
56984         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
56985         malloca.
56986         * tests/test-memmem.c: Rewrite, borrowing ideas from
56987         test-mbsstr1.c; the old version wouldn't even compile!
56988         * modules/memmem-tests: New file.
56989         * lib/string.in.h (rpl_memmem): Add declaration.
56990         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
56991         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
56992         REPLACE_MEMMEM.
56993
56994 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
56995
56996         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
56997         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
56998         before any system include files, and undef after them all.  This
56999         should fix a problem on VMS reported by John E. Malmberg in
57000         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
57001
57002 2007-12-17  Eric Blake  <ebb9@byu.net>
57003
57004         Revert addition of verify, for BSD/OS.
57005         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
57006         can't handle large files, for the sake of obsolete platforms.
57007         * modules/fseeko (Depends-on): Remove verify.
57008         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
57009         * doc/functions/ftello.texi (ftello): Likewise.
57010         * doc/functions/fgetpos.texi (fgetpos): Likewise.
57011         Reported by Larry Jones.
57012
57013 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
57014
57015         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
57016         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
57017
57018 2007-12-17  Jim Meyering  <meyering@redhat.com>
57019
57020         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
57021         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
57022         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
57023         * modules/getcwd (Depends-on): Add openat.
57024         Reported by Petr Salinger.
57025
57026 2007-12-17  Bruno Haible  <bruno@clisp.org>
57027
57028         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
57029         avoid a segmentation fault of the configure test on x86_64 systems.
57030
57031 2007-12-15  Jim Meyering  <meyering@redhat.com>
57032
57033         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
57034
57035 2007-12-13  Eric Blake  <ebb9@byu.net>
57036
57037         Another fseek test.
57038         * tests/test-fseek.c (main): Also test ungetc handling.
57039         * tests/test-fseeko.c (main): Likewise.
57040         * modules/fseeko (Depends-on): Add verify.
57041         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
57042         large.
57043         Reported by Larry Jones.
57044
57045         Fix fseeko on mingw.
57046         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
57047         seek.
57048
57049         Beef up fseek tests.
57050         * tests/test-fseek.c (main): Also test eof handling.
57051         * tests/test-fseeko.c (main): Likewise.
57052         Reported by Larry Jones.
57053
57054 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
57055
57056         Fix fseeko on BSD-based platforms.
57057         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
57058         successful seek.
57059
57060 2007-12-12  Eric Blake  <ebb9@byu.net>
57061
57062         Allow circular dependency of separate libtests.a
57063         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
57064         when use_libtests.
57065
57066 2007-12-11  Eric Blake  <ebb9@byu.net>
57067
57068         Fix bug with -0.0L in previous patch.
57069         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
57070         * tests/test-isnan.c (main): Also test on zeroes.
57071         * tests/test-isnanf.c (main): Likewise.
57072         * tests/test-isnanl.h (main): Likewise.
57073
57074         Detect pseudo-denormals on x86 even when cross-compiling.
57075         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
57076         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
57077         invalid bit patterns that happen to satisfy ==.
57078
57079         Avoid link failures with separate libtests.a.
57080         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
57081         last, to satisfy circular dependencies.
57082
57083 2007-12-11  Eric Blake  <ebb9@byu.net>
57084         and Bruno Haible  <bruno@clisp.org>
57085
57086         Fix OpenBSD 4.0 <float.h> handling of long double.
57087         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
57088         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
57089         * doc/headers/float.texi (float.h): Document OpenBSD bug.
57090
57091 2007-12-11  Jim Meyering  <meyering@redhat.com>
57092
57093         * users.txt: Add libvirt.
57094
57095         Support versions of autoconf prior to 2.59c.
57096         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
57097         if it is not already defined.
57098
57099 2007-12-09  Bruno Haible  <bruno@clisp.org>
57100
57101         Let 'gnulib-tool --import' collect sources needed for the tests in
57102         tests/ rather than in lib/.
57103         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
57104         argument. If true, add rules to generate libtests.a, and put libtests.a
57105         into $(LDADD). Consider source files in subdirectories and set
57106         uses_subdirs.
57107         (func_emit_initmacro_start, func_emit_initmacro_end,
57108         func_emit_initmacro_done): Pass all arguments explicitly.
57109         (func_import): Determine two module lists main_modules,
57110         testsrelated_modules. Determine use_libtests. Determine two variables
57111         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
57112         instead of just sed_transform_lib_file. Determine two variables
57113         main_files and testsrelated_files. Compute 'files' as the union of
57114         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
57115         func_add_or_update. In the generated gnulib-comp.m4, collect the
57116         object files for tests/ in different variables than those for lib/.
57117         Substitute LIBTESTS_LIBDEPS.
57118         (func_create_testdir): Combine the uses_subdirs results from
57119         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
57120
57121 2007-12-09  Bruno Haible  <bruno@clisp.org>
57122
57123         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
57124         the build-aux directory.
57125
57126 2007-12-09  Bruno Haible  <bruno@clisp.org>
57127
57128         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
57129         introduced on 2006-09-09.
57130
57131 2007-12-07  Jim Meyering  <meyering@redhat.com>
57132
57133         Let these macros work also with autoconf-2.59.
57134         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
57135         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
57136         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
57137
57138 2007-12-06  Jim Meyering  <meyering@redhat.com>
57139
57140         Avoid a configure-time syntax error in gl_FUNC_ACL.
57141         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
57142         function in each branch, before testing the cache variable.
57143
57144 2007-12-04  Eric Blake  <ebb9@byu.net>
57145
57146         Make scripts executable.
57147         * build-aux/config.guess: Add execute permissions.
57148         * build-aux/config.sub: Likewise.
57149         * build-aux/gendocs.sh: Likewise.
57150
57151         Fix frexp on mingw.
57152         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
57153         cross-compiling.
57154         * doc/functions/frexp.texi (frexp): Document the bug.
57155
57156         Make cygwin fseeko check more reliable.
57157         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
57158         version numbers, rather than unrelated feature check.
57159         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
57160         * doc/functions/ftello.texi (ftello): Likewise.
57161         Reported by Bruno Haible.
57162
57163         * m4/strerror.m4: Bump version number.
57164
57165 2007-12-03  Bruno Haible  <bruno@clisp.org>
57166
57167         * doc/functions/mprotect.texi: Mention the mingw problem.
57168
57169 2007-12-03  Eric Blake  <ebb9@byu.net>
57170
57171         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
57172         REPLACE_STRERROR is initialized before this macro.
57173
57174 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
57175
57176         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
57177         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
57178         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
57179         put -lsec in even for programs other than 'ls'.  This fixes a problem
57180         for gettext reported by Bruno Haible in
57181         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
57182         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
57183         Add support for Solaris 10.  This isn't efficient, but should get the
57184         job done for now.
57185
57186 2007-12-03  James Youngman  <jay@gnu.org>
57187
57188         * doc/regexprops-generic.texi: change "an close-group" to "a
57189         close-group" and "illegal" to "not allowed".
57190
57191 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57192
57193         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
57194         pr_byname.h. Needed for the rare case when the maintainer has done
57195         "make maintainer-clean" in the source directory and then attempts a
57196         build outside the source directory.
57197         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
57198         scripts_byname.h.
57199
57200 2007-12-02  Martin Lambers <marlam@marlam.de>
57201             Bruno Haible  <bruno@clisp.org>
57202
57203         * lib/getpagesize.h: Remove file.
57204         * lib/unistd.in.h: Include declaration of getpagesize here.
57205         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
57206         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
57207         HAVE_SYS_PARAM_H.
57208         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
57209         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57210         * modules/getpagesize (Files): Remove lib/getpagesize.h.
57211         (Depends-on): Add unistd.
57212         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
57213         (Include): Use <unistd.h> instead of getpagesize.h.
57214         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
57215         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
57216         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
57217         gl_GETPAGESIZE invocation, already handled by module dependency.
57218         * lib/pagealign_alloc.c: Don't include getpagesize.h.
57219
57220 2007-12-02  Bruno Haible  <bruno@clisp.org>
57221
57222         * modules/strings-tests: New file.
57223         * tests/test-strings.c: New file.
57224
57225         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
57226         * lib/strings.in.h: New file.
57227         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
57228         * m4/strings_h.m4: New file.
57229         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
57230         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
57231         * modules/strings: New file.
57232         * modules/string (Makefile.am): Update.
57233         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
57234         Reported by Karl Berry.
57235
57236 2007-12-01  Eric Blake  <ebb9@byu.net>
57237
57238         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
57239         accomodate fix in cygwin 1.5.25.
57240
57241 2007-12-01  Jim Meyering  <meyering@redhat.com>
57242
57243         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
57244         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
57245         that would inhibit utf8-optimization of a regexp containing line-
57246         or buffer-anchors, e.g., `^', `$'.
57247
57248 2007-11-30  Bruno Haible  <bruno@clisp.org>
57249
57250         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
57251         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
57252         glthread_recursive_lock_init.
57253         * lib/lock.c (glthread_recursive_lock_init)
57254         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
57255         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57256
57257 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
57258
57259         New function qset_acl, like set_acl but with syscall semantics.
57260         * lib/acl.h (qset_acl): New decl.
57261         * lib/acl.c (qset_acl): New function.
57262         (set_acl): Use new function.  Use more-consistent diagnostics.
57263
57264 2007-11-28  Jim Meyering  <meyering@redhat.com>
57265
57266         * modules/physmem (License): Change from GPL to LGPLv2+.
57267
57268 2007-11-26  Bruno Haible  <bruno@clisp.org>
57269
57270         * lib/vasnprintf.c (decode_long_double): Don't abort if the
57271         'long double' type has excess precision.
57272         Reported by Jim Meyering in
57273         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
57274
57275 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57276
57277         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
57278         Sync from <http://gnu.org/licenses>.
57279         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
57280         with license text from same location.
57281         * doc/maintain.texi, doc/standards.texi:  Sync from
57282         <http://savannah.gnu.org/projects/gnustandards>.
57283
57284 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
57285         and Jim Meyering  <meyering@redhat.com>
57286
57287         Adjust getdate' grammar to accept a slightly more regular language.
57288         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
57289         Before, the former was rejected.
57290         * lib/getdate.y (digits_to_date_time): New function, factored
57291         out of ...
57292         (number): ...here.  Just call digits_to_date_time.
57293         (hybrid): New non-terminal to handle an <unsigned number,
57294         signed relative offset> sequence consistently.
57295
57296 2007-11-18  Jim Meyering  <meyering@redhat.com>
57297
57298         Pull my changes from coreutils:
57299         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
57300         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
57301         use of $gnulib_tool_option_extras, so that it's separated from the
57302         preceding argument.
57303
57304         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
57305         * build-aux/bootstrap (cp_mark_as_generated): Create any required
57306         parent destination directories before copying a file into place.
57307
57308 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
57309
57310         bootstrap: work also with 4-argument variant of AC_INIT
57311         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
57312
57313 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
57314
57315         Port test-getaddrinfo to Solaris.
57316         Problem reported by Bruno Haible in
57317         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
57318         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
57319         explanation of setting 'hints'.
57320         Don't reject an implementation merely because it returns EAI_SERVICE.
57321         (EAI_SERVICE): Define to 0 if not defined.
57322
57323 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
57324
57325         The license of gnu-make and posix-shell is now "GPLed build tool".
57326         * modules/gnu-make (License): Likewise.
57327         * modules/posix-shell (License): Likewise.
57328
57329         New module posix-shell, for determining a POSIX shell
57330         or perhaps something that is close enough to a POSIX shell.
57331         * m4/posix-shell.m4: New file.
57332         * modules/posix-shell: New file.
57333
57334         * MODULES.html.sh: Mention new module.
57335
57336         New module gnu-make, for determining whether we're using GNU Make.
57337         * m4/gnu-make.m4: New file.
57338         * modules/gnu-make: New file.
57339         * MODULES.html.sh: Mention new module.
57340
57341 2007-11-14  Jim Meyering  <meyering@redhat.com>
57342
57343         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
57344         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
57345         use this macro to create a function _definition_.
57346         Remove useless "#undef ARGMATCH_DIE".
57347
57348 2007-11-14  Bruno Haible  <bruno@clisp.org>
57349
57350         * lib/config.charset: Update for OpenBSD 4.1.
57351         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
57352
57353 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
57354
57355         Document 64-bit #if problems in stdint.texi.
57356         * doc/headers/stdint.texi (stdint.h): Mention problems with
57357         64-bit-#if, and how to work around them.
57358
57359         Don't insist on 'long long int' support in the preprocessor.  It
57360         breaks too many things.  For example, PRIdMAX still uses a 'long
57361         long int' format with the latest Sun compiler, even though
57362         HAVE_LONG_LONG_INT isn't defined due to that compiler's
57363         preprocessor problem.  This causes the latest coreutils to dump
57364         core on Solaris 10 sparc with the Sun C compiler.
57365         Instead, fix the 2007-10-16 problem in a different way, by evaluating
57366         the troublesome expressions at configure-time, not at #if-time.
57367         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
57368         preprocessor.
57369         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
57370         compile-time C checks, done at 'configure'-time.
57371         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
57372         * modules/inttypes (Makefile): Substitute the new symbols that
57373         gl_INTTYPES_H now generates.
57374         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
57375
57376 2007-11-12  Bruno Haible  <bruno@clisp.org>
57377
57378         Tests for Unicode character classification functions.
57379
57380         * modules/unictype/bidicategory-byname-tests: New file.
57381         * modules/unictype/bidicategory-name-tests: New file.
57382         * modules/unictype/bidicategory-of-tests: New file.
57383         * modules/unictype/bidicategory-test-tests: New file.
57384         * modules/unictype/block-list-tests: New file.
57385         * modules/unictype/block-of-tests: New file.
57386         * modules/unictype/block-test-tests: New file.
57387         * modules/unictype/category-C-tests: New file.
57388         * modules/unictype/category-Cc-tests: New file.
57389         * modules/unictype/category-Cf-tests: New file.
57390         * modules/unictype/category-Cn-tests: New file.
57391         * modules/unictype/category-Co-tests: New file.
57392         * modules/unictype/category-Cs-tests: New file.
57393         * modules/unictype/category-L-tests: New file.
57394         * modules/unictype/category-Ll-tests: New file.
57395         * modules/unictype/category-Lm-tests: New file.
57396         * modules/unictype/category-Lo-tests: New file.
57397         * modules/unictype/category-Lt-tests: New file.
57398         * modules/unictype/category-Lu-tests: New file.
57399         * modules/unictype/category-M-tests: New file.
57400         * modules/unictype/category-Mc-tests: New file.
57401         * modules/unictype/category-Me-tests: New file.
57402         * modules/unictype/category-Mn-tests: New file.
57403         * modules/unictype/category-N-tests: New file.
57404         * modules/unictype/category-Nd-tests: New file.
57405         * modules/unictype/category-Nl-tests: New file.
57406         * modules/unictype/category-No-tests: New file.
57407         * modules/unictype/category-P-tests: New file.
57408         * modules/unictype/category-Pc-tests: New file.
57409         * modules/unictype/category-Pd-tests: New file.
57410         * modules/unictype/category-Pe-tests: New file.
57411         * modules/unictype/category-Pf-tests: New file.
57412         * modules/unictype/category-Pi-tests: New file.
57413         * modules/unictype/category-Po-tests: New file.
57414         * modules/unictype/category-Ps-tests: New file.
57415         * modules/unictype/category-S-tests: New file.
57416         * modules/unictype/category-Sc-tests: New file.
57417         * modules/unictype/category-Sk-tests: New file.
57418         * modules/unictype/category-Sm-tests: New file.
57419         * modules/unictype/category-So-tests: New file.
57420         * modules/unictype/category-Z-tests: New file.
57421         * modules/unictype/category-Zl-tests: New file.
57422         * modules/unictype/category-Zp-tests: New file.
57423         * modules/unictype/category-Zs-tests: New file.
57424         * modules/unictype/category-and-not-tests: New file.
57425         * modules/unictype/category-and-tests: New file.
57426         * modules/unictype/category-byname-tests: New file.
57427         * modules/unictype/category-name-tests: New file.
57428         * modules/unictype/category-none-tests: New file.
57429         * modules/unictype/category-of-tests: New file.
57430         * modules/unictype/category-or-tests: New file.
57431         * modules/unictype/category-test-withtable-tests: New file.
57432         * modules/unictype/combining-class-tests: New file.
57433         * modules/unictype/ctype-alnum-tests: New file.
57434         * modules/unictype/ctype-alpha-tests: New file.
57435         * modules/unictype/ctype-blank-tests: New file.
57436         * modules/unictype/ctype-cntrl-tests: New file.
57437         * modules/unictype/ctype-digit-tests: New file.
57438         * modules/unictype/ctype-graph-tests: New file.
57439         * modules/unictype/ctype-lower-tests: New file.
57440         * modules/unictype/ctype-print-tests: New file.
57441         * modules/unictype/ctype-punct-tests: New file.
57442         * modules/unictype/ctype-space-tests: New file.
57443         * modules/unictype/ctype-upper-tests: New file.
57444         * modules/unictype/ctype-xdigit-tests: New file.
57445         * modules/unictype/decimal-digit-tests: New file.
57446         * modules/unictype/digit-tests: New file.
57447         * modules/unictype/mirror-tests: New file.
57448         * modules/unictype/numeric-tests: New file.
57449         * modules/unictype/property-alphabetic-tests: New file.
57450         * modules/unictype/property-ascii-hex-digit-tests: New file.
57451         * modules/unictype/property-bidi-arabic-digit-tests: New file.
57452         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
57453         * modules/unictype/property-bidi-block-separator-tests: New file.
57454         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
57455         * modules/unictype/property-bidi-common-separator-tests: New file.
57456         * modules/unictype/property-bidi-control-tests: New file.
57457         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
57458         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
57459         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
57460         * modules/unictype/property-bidi-european-digit-tests: New file.
57461         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
57462         * modules/unictype/property-bidi-left-to-right-tests: New file.
57463         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
57464         * modules/unictype/property-bidi-other-neutral-tests: New file.
57465         * modules/unictype/property-bidi-pdf-tests: New file.
57466         * modules/unictype/property-bidi-segment-separator-tests: New file.
57467         * modules/unictype/property-bidi-whitespace-tests: New file.
57468         * modules/unictype/property-byname-tests: New file.
57469         * modules/unictype/property-combining-tests: New file.
57470         * modules/unictype/property-composite-tests: New file.
57471         * modules/unictype/property-currency-symbol-tests: New file.
57472         * modules/unictype/property-dash-tests: New file.
57473         * modules/unictype/property-decimal-digit-tests: New file.
57474         * modules/unictype/property-default-ignorable-code-point-tests: New file.
57475         * modules/unictype/property-deprecated-tests: New file.
57476         * modules/unictype/property-diacritic-tests: New file.
57477         * modules/unictype/property-extender-tests: New file.
57478         * modules/unictype/property-format-control-tests: New file.
57479         * modules/unictype/property-grapheme-base-tests: New file.
57480         * modules/unictype/property-grapheme-extend-tests: New file.
57481         * modules/unictype/property-grapheme-link-tests: New file.
57482         * modules/unictype/property-hex-digit-tests: New file.
57483         * modules/unictype/property-hyphen-tests: New file.
57484         * modules/unictype/property-id-continue-tests: New file.
57485         * modules/unictype/property-id-start-tests: New file.
57486         * modules/unictype/property-ideographic-tests: New file.
57487         * modules/unictype/property-ids-binary-operator-tests: New file.
57488         * modules/unictype/property-ids-trinary-operator-tests: New file.
57489         * modules/unictype/property-ignorable-control-tests: New file.
57490         * modules/unictype/property-iso-control-tests: New file.
57491         * modules/unictype/property-join-control-tests: New file.
57492         * modules/unictype/property-left-of-pair-tests: New file.
57493         * modules/unictype/property-line-separator-tests: New file.
57494         * modules/unictype/property-logical-order-exception-tests: New file.
57495         * modules/unictype/property-lowercase-tests: New file.
57496         * modules/unictype/property-math-tests: New file.
57497         * modules/unictype/property-non-break-tests: New file.
57498         * modules/unictype/property-not-a-character-tests: New file.
57499         * modules/unictype/property-numeric-tests: New file.
57500         * modules/unictype/property-other-alphabetic-tests: New file.
57501         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
57502         * modules/unictype/property-other-grapheme-extend-tests: New file.
57503         * modules/unictype/property-other-id-continue-tests: New file.
57504         * modules/unictype/property-other-id-start-tests: New file.
57505         * modules/unictype/property-other-lowercase-tests: New file.
57506         * modules/unictype/property-other-math-tests: New file.
57507         * modules/unictype/property-other-uppercase-tests: New file.
57508         * modules/unictype/property-paired-punctuation-tests: New file.
57509         * modules/unictype/property-paragraph-separator-tests: New file.
57510         * modules/unictype/property-pattern-syntax-tests: New file.
57511         * modules/unictype/property-pattern-white-space-tests: New file.
57512         * modules/unictype/property-private-use-tests: New file.
57513         * modules/unictype/property-punctuation-tests: New file.
57514         * modules/unictype/property-quotation-mark-tests: New file.
57515         * modules/unictype/property-radical-tests: New file.
57516         * modules/unictype/property-sentence-terminal-tests: New file.
57517         * modules/unictype/property-soft-dotted-tests: New file.
57518         * modules/unictype/property-space-tests: New file.
57519         * modules/unictype/property-terminal-punctuation-tests: New file.
57520         * modules/unictype/property-test-tests: New file.
57521         * modules/unictype/property-titlecase-tests: New file.
57522         * modules/unictype/property-unassigned-code-value-tests: New file.
57523         * modules/unictype/property-unified-ideograph-tests: New file.
57524         * modules/unictype/property-uppercase-tests: New file.
57525         * modules/unictype/property-variation-selector-tests: New file.
57526         * modules/unictype/property-white-space-tests: New file.
57527         * modules/unictype/property-xid-continue-tests: New file.
57528         * modules/unictype/property-xid-start-tests: New file.
57529         * modules/unictype/property-zero-width-tests: New file.
57530         * modules/unictype/scripts-tests: New file.
57531         * modules/unictype/syntax-c-ident-tests: New file.
57532         * modules/unictype/syntax-c-whitespace-tests: New file.
57533         * modules/unictype/syntax-java-ident-tests: New file.
57534         * modules/unictype/syntax-java-whitespace-tests: New file.
57535         * tests/unictype/test-bidi_byname.c: New file.
57536         * tests/unictype/test-bidi_name.c: New file.
57537         * tests/unictype/test-bidi_of.c: New file.
57538         * tests/unictype/test-bidi_test.c: New file.
57539         * tests/unictype/test-block_list.c: New file.
57540         * tests/unictype/test-block_of.c: New file.
57541         * tests/unictype/test-block_test.c: New file.
57542         * tests/unictype/test-categ_and.c: New file.
57543         * tests/unictype/test-categ_and_not.c: New file.
57544         * tests/unictype/test-categ_byname.c: New file.
57545         * tests/unictype/test-categ_name.c: New file.
57546         * tests/unictype/test-categ_none.c: New file.
57547         * tests/unictype/test-categ_of.c: New file.
57548         * tests/unictype/test-categ_or.c: New file.
57549         * tests/unictype/test-categ_test_withtable.c: New file.
57550         * tests/unictype/test-combining.c: New file.
57551         * tests/unictype/test-decdigit.c: New file.
57552         * tests/unictype/test-digit.c: New file.
57553         * tests/unictype/test-mirror.c: New file.
57554         * tests/unictype/test-numeric.c: New file.
57555         * tests/unictype/test-pr_byname.c: New file.
57556         * tests/unictype/test-pr_test.c: New file.
57557         * tests/unictype/test-predicate-part1.h: New file.
57558         * tests/unictype/test-predicate-part2.h: New file.
57559         * tests/unictype/test-scripts.c: New file.
57560         * tests/unictype/test-sy_c_ident.c: New file.
57561         * tests/unictype/test-sy_java_ident.c: New file.
57562
57563         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
57564         for Unicode 5.0.0.
57565         * tests/unictype/test-categ_Cc.c: Likewise.
57566         * tests/unictype/test-categ_Cf.c: Likewise.
57567         * tests/unictype/test-categ_Cn.c: Likewise.
57568         * tests/unictype/test-categ_Co.c: Likewise.
57569         * tests/unictype/test-categ_Cs.c: Likewise.
57570         * tests/unictype/test-categ_L.c: Likewise.
57571         * tests/unictype/test-categ_Ll.c: Likewise.
57572         * tests/unictype/test-categ_Lm.c: Likewise.
57573         * tests/unictype/test-categ_Lo.c: Likewise.
57574         * tests/unictype/test-categ_Lt.c: Likewise.
57575         * tests/unictype/test-categ_Lu.c: Likewise.
57576         * tests/unictype/test-categ_M.c: Likewise.
57577         * tests/unictype/test-categ_Mc.c: Likewise.
57578         * tests/unictype/test-categ_Me.c: Likewise.
57579         * tests/unictype/test-categ_Mn.c: Likewise.
57580         * tests/unictype/test-categ_N.c: Likewise.
57581         * tests/unictype/test-categ_Nd.c: Likewise.
57582         * tests/unictype/test-categ_Nl.c: Likewise.
57583         * tests/unictype/test-categ_No.c: Likewise.
57584         * tests/unictype/test-categ_P.c: Likewise.
57585         * tests/unictype/test-categ_Pc.c: Likewise.
57586         * tests/unictype/test-categ_Pd.c: Likewise.
57587         * tests/unictype/test-categ_Pe.c: Likewise.
57588         * tests/unictype/test-categ_Pf.c: Likewise.
57589         * tests/unictype/test-categ_Pi.c: Likewise.
57590         * tests/unictype/test-categ_Po.c: Likewise.
57591         * tests/unictype/test-categ_Ps.c: Likewise.
57592         * tests/unictype/test-categ_S.c: Likewise.
57593         * tests/unictype/test-categ_Sc.c: Likewise.
57594         * tests/unictype/test-categ_Sk.c: Likewise.
57595         * tests/unictype/test-categ_Sm.c: Likewise.
57596         * tests/unictype/test-categ_So.c: Likewise.
57597         * tests/unictype/test-categ_Z.c: Likewise.
57598         * tests/unictype/test-categ_Zl.c: Likewise.
57599         * tests/unictype/test-categ_Zp.c: Likewise.
57600         * tests/unictype/test-categ_Zs.c: Likewise.
57601         * tests/unictype/test-ctype_alnum.c: Likewise.
57602         * tests/unictype/test-ctype_alpha.c: Likewise.
57603         * tests/unictype/test-ctype_blank.c: Likewise.
57604         * tests/unictype/test-ctype_cntrl.c: Likewise.
57605         * tests/unictype/test-ctype_digit.c: Likewise.
57606         * tests/unictype/test-ctype_graph.c: Likewise.
57607         * tests/unictype/test-ctype_lower.c: Likewise.
57608         * tests/unictype/test-ctype_print.c: Likewise.
57609         * tests/unictype/test-ctype_punct.c: Likewise.
57610         * tests/unictype/test-ctype_space.c: Likewise.
57611         * tests/unictype/test-ctype_upper.c: Likewise.
57612         * tests/unictype/test-ctype_xdigit.c: Likewise.
57613         * tests/unictype/test-decdigit.h: Likewise.
57614         * tests/unictype/test-digit.h: Likewise.
57615         * tests/unictype/test-numeric.h: Likewise.
57616         * tests/unictype/test-pr_alphabetic.c: Likewise.
57617         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
57618         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
57619         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
57620         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
57621         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
57622         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
57623         * tests/unictype/test-pr_bidi_control.c: Likewise.
57624         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
57625         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
57626         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
57627         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
57628         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
57629         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
57630         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
57631         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
57632         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
57633         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
57634         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
57635         * tests/unictype/test-pr_combining.c: Likewise.
57636         * tests/unictype/test-pr_composite.c: Likewise.
57637         * tests/unictype/test-pr_currency_symbol.c: Likewise.
57638         * tests/unictype/test-pr_dash.c: Likewise.
57639         * tests/unictype/test-pr_decimal_digit.c: Likewise.
57640         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
57641         * tests/unictype/test-pr_deprecated.c: Likewise.
57642         * tests/unictype/test-pr_diacritic.c: Likewise.
57643         * tests/unictype/test-pr_extender.c: Likewise.
57644         * tests/unictype/test-pr_format_control.c: Likewise.
57645         * tests/unictype/test-pr_grapheme_base.c: Likewise.
57646         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
57647         * tests/unictype/test-pr_grapheme_link.c: Likewise.
57648         * tests/unictype/test-pr_hex_digit.c: Likewise.
57649         * tests/unictype/test-pr_hyphen.c: Likewise.
57650         * tests/unictype/test-pr_id_continue.c: Likewise.
57651         * tests/unictype/test-pr_id_start.c: Likewise.
57652         * tests/unictype/test-pr_ideographic.c: Likewise.
57653         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
57654         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
57655         * tests/unictype/test-pr_ignorable_control.c: Likewise.
57656         * tests/unictype/test-pr_iso_control.c: Likewise.
57657         * tests/unictype/test-pr_join_control.c: Likewise.
57658         * tests/unictype/test-pr_left_of_pair.c: Likewise.
57659         * tests/unictype/test-pr_line_separator.c: Likewise.
57660         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
57661         * tests/unictype/test-pr_lowercase.c: Likewise.
57662         * tests/unictype/test-pr_math.c: Likewise.
57663         * tests/unictype/test-pr_non_break.c: Likewise.
57664         * tests/unictype/test-pr_not_a_character.c: Likewise.
57665         * tests/unictype/test-pr_numeric.c: Likewise.
57666         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
57667         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
57668         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
57669         * tests/unictype/test-pr_other_id_continue.c: Likewise.
57670         * tests/unictype/test-pr_other_id_start.c: Likewise.
57671         * tests/unictype/test-pr_other_lowercase.c: Likewise.
57672         * tests/unictype/test-pr_other_math.c: Likewise.
57673         * tests/unictype/test-pr_other_uppercase.c: Likewise.
57674         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
57675         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
57676         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
57677         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
57678         * tests/unictype/test-pr_private_use.c: Likewise.
57679         * tests/unictype/test-pr_punctuation.c: Likewise.
57680         * tests/unictype/test-pr_quotation_mark.c: Likewise.
57681         * tests/unictype/test-pr_radical.c: Likewise.
57682         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
57683         * tests/unictype/test-pr_soft_dotted.c: Likewise.
57684         * tests/unictype/test-pr_space.c: Likewise.
57685         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
57686         * tests/unictype/test-pr_titlecase.c: Likewise.
57687         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
57688         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
57689         * tests/unictype/test-pr_uppercase.c: Likewise.
57690         * tests/unictype/test-pr_variation_selector.c: Likewise.
57691         * tests/unictype/test-pr_white_space.c: Likewise.
57692         * tests/unictype/test-pr_xid_continue.c: Likewise.
57693         * tests/unictype/test-pr_xid_start.c: Likewise.
57694         * tests/unictype/test-pr_zero_width.c: Likewise.
57695         * tests/unictype/test-sy_c_whitespace.c: Likewise.
57696         * tests/unictype/test-sy_java_whitespace.c: Likewise.
57697
57698 2007-11-12  Bruno Haible  <bruno@clisp.org>
57699
57700         Unicode character classification functions.
57701         * lib/unictype.h: New file.
57702         * modules/unictype/base: New file.
57703         * modules/unictype/category-L: New file.
57704         * modules/unictype/category-Lu: New file.
57705         * modules/unictype/category-Ll: New file.
57706         * modules/unictype/category-Lt: New file.
57707         * modules/unictype/category-Lm: New file.
57708         * modules/unictype/category-Lo: New file.
57709         * modules/unictype/category-M: New file.
57710         * modules/unictype/category-Mn: New file.
57711         * modules/unictype/category-Mc: New file.
57712         * modules/unictype/category-Me: New file.
57713         * modules/unictype/category-N: New file.
57714         * modules/unictype/category-Nd: New file.
57715         * modules/unictype/category-Nl: New file.
57716         * modules/unictype/category-No: New file.
57717         * modules/unictype/category-P: New file.
57718         * modules/unictype/category-Pc: New file.
57719         * modules/unictype/category-Pd: New file.
57720         * modules/unictype/category-Ps: New file.
57721         * modules/unictype/category-Pe: New file.
57722         * modules/unictype/category-Pi: New file.
57723         * modules/unictype/category-Pf: New file.
57724         * modules/unictype/category-Po: New file.
57725         * modules/unictype/category-S: New file.
57726         * modules/unictype/category-Sm: New file.
57727         * modules/unictype/category-Sc: New file.
57728         * modules/unictype/category-Sk: New file.
57729         * modules/unictype/category-So: New file.
57730         * modules/unictype/category-Z: New file.
57731         * modules/unictype/category-Zs: New file.
57732         * modules/unictype/category-Zl: New file.
57733         * modules/unictype/category-Zp: New file.
57734         * modules/unictype/category-C: New file.
57735         * modules/unictype/category-Cc: New file.
57736         * modules/unictype/category-Cf: New file.
57737         * modules/unictype/category-Cs: New file.
57738         * modules/unictype/category-Co: New file.
57739         * modules/unictype/category-Cn: New file.
57740         * modules/unictype/category-or: New file.
57741         * modules/unictype/category-of: New file.
57742         * modules/unictype/category-test: New file.
57743         * modules/unictype/category-test-withtable: New file.
57744         * modules/unictype/category-byname: New file.
57745         * modules/unictype/category-none: New file.
57746         * modules/unictype/category-and: New file.
57747         * modules/unictype/category-and-not: New file.
57748         * modules/unictype/category-name: New file.
57749         * modules/unictype/combining-class: New file.
57750         * modules/unictype/category-all: New file.
57751         * modules/unictype/bidicategory-all: New file.
57752         * modules/unictype/bidicategory-byname: New file.
57753         * modules/unictype/bidicategory-name: New file.
57754         * modules/unictype/bidicategory-of: New file.
57755         * modules/unictype/bidicategory-test: New file.
57756         * modules/unictype/decimal-digit: New file.
57757         * modules/unictype/digit: New file.
57758         * modules/unictype/numeric: New file.
57759         * modules/unictype/mirror: New file.
57760         * modules/unictype/property-white-space: New file.
57761         * modules/unictype/property-alphabetic: New file.
57762         * modules/unictype/property-other-alphabetic: New file.
57763         * modules/unictype/property-not-a-character: New file.
57764         * modules/unictype/property-default-ignorable-code-point: New file.
57765         * modules/unictype/property-other-default-ignorable-code-point: New
57766         file.
57767         * modules/unictype/property-deprecated: New file.
57768         * modules/unictype/property-logical-order-exception: New file.
57769         * modules/unictype/property-variation-selector: New file.
57770         * modules/unictype/property-private-use: New file.
57771         * modules/unictype/property-unassigned-code-value: New file.
57772         * modules/unictype/property-uppercase: New file.
57773         * modules/unictype/property-other-uppercase: New file.
57774         * modules/unictype/property-lowercase: New file.
57775         * modules/unictype/property-other-lowercase: New file.
57776         * modules/unictype/property-titlecase: New file.
57777         * modules/unictype/property-soft-dotted: New file.
57778         * modules/unictype/property-id-start: New file.
57779         * modules/unictype/property-other-id-start: New file.
57780         * modules/unictype/property-id-continue: New file.
57781         * modules/unictype/property-other-id-continue: New file.
57782         * modules/unictype/property-xid-start: New file.
57783         * modules/unictype/property-xid-continue: New file.
57784         * modules/unictype/property-pattern-white-space: New file.
57785         * modules/unictype/property-pattern-syntax: New file.
57786         * modules/unictype/property-join-control: New file.
57787         * modules/unictype/property-grapheme-base: New file.
57788         * modules/unictype/property-grapheme-extend: New file.
57789         * modules/unictype/property-other-grapheme-extend: New file.
57790         * modules/unictype/property-grapheme-link: New file.
57791         * modules/unictype/property-bidi-control: New file.
57792         * modules/unictype/property-bidi-left-to-right: New file.
57793         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
57794         * modules/unictype/property-bidi-arabic-right-to-left: New file.
57795         * modules/unictype/property-bidi-european-digit: New file.
57796         * modules/unictype/property-bidi-eur-num-separator: New file.
57797         * modules/unictype/property-bidi-eur-num-terminator: New file.
57798         * modules/unictype/property-bidi-arabic-digit: New file.
57799         * modules/unictype/property-bidi-common-separator: New file.
57800         * modules/unictype/property-bidi-block-separator: New file.
57801         * modules/unictype/property-bidi-segment-separator: New file.
57802         * modules/unictype/property-bidi-whitespace: New file.
57803         * modules/unictype/property-bidi-non-spacing-mark: New file.
57804         * modules/unictype/property-bidi-boundary-neutral: New file.
57805         * modules/unictype/property-bidi-pdf: New file.
57806         * modules/unictype/property-bidi-embedding-or-override: New file.
57807         * modules/unictype/property-bidi-other-neutral: New file.
57808         * modules/unictype/property-hex-digit: New file.
57809         * modules/unictype/property-ascii-hex-digit: New file.
57810         * modules/unictype/property-ideographic: New file.
57811         * modules/unictype/property-unified-ideograph: New file.
57812         * modules/unictype/property-radical: New file.
57813         * modules/unictype/property-ids-binary-operator: New file.
57814         * modules/unictype/property-ids-trinary-operator: New file.
57815         * modules/unictype/property-zero-width: New file.
57816         * modules/unictype/property-space: New file.
57817         * modules/unictype/property-non-break: New file.
57818         * modules/unictype/property-iso-control: New file.
57819         * modules/unictype/property-format-control: New file.
57820         * modules/unictype/property-dash: New file.
57821         * modules/unictype/property-hyphen: New file.
57822         * modules/unictype/property-punctuation: New file.
57823         * modules/unictype/property-line-separator: New file.
57824         * modules/unictype/property-paragraph-separator: New file.
57825         * modules/unictype/property-quotation-mark: New file.
57826         * modules/unictype/property-sentence-terminal: New file.
57827         * modules/unictype/property-terminal-punctuation: New file.
57828         * modules/unictype/property-currency-symbol: New file.
57829         * modules/unictype/property-math: New file.
57830         * modules/unictype/property-other-math: New file.
57831         * modules/unictype/property-paired-punctuation: New file.
57832         * modules/unictype/property-left-of-pair: New file.
57833         * modules/unictype/property-combining: New file.
57834         * modules/unictype/property-composite: New file.
57835         * modules/unictype/property-decimal-digit: New file.
57836         * modules/unictype/property-numeric: New file.
57837         * modules/unictype/property-diacritic: New file.
57838         * modules/unictype/property-extender: New file.
57839         * modules/unictype/property-ignorable-control: New file.
57840         * modules/unictype/property-test: New file.
57841         * modules/unictype/property-byname: New file.
57842         * modules/unictype/property-all: New file.
57843         * modules/unictype/scripts: New file.
57844         * modules/unictype/scripts-all: New file.
57845         * modules/unictype/block-of: New file.
57846         * modules/unictype/block-test: New file.
57847         * modules/unictype/block-list: New file.
57848         * modules/unictype/block-all: New file.
57849         * modules/unictype/syntax-c-whitespace: New file.
57850         * modules/unictype/syntax-java-whitespace: New file.
57851         * modules/unictype/syntax-c-ident: New file.
57852         * modules/unictype/syntax-java-ident: New file.
57853         * modules/unictype/ctype-alnum: New file.
57854         * modules/unictype/ctype-alpha: New file.
57855         * modules/unictype/ctype-cntrl: New file.
57856         * modules/unictype/ctype-digit: New file.
57857         * modules/unictype/ctype-graph: New file.
57858         * modules/unictype/ctype-lower: New file.
57859         * modules/unictype/ctype-print: New file.
57860         * modules/unictype/ctype-punct: New file.
57861         * modules/unictype/ctype-space: New file.
57862         * modules/unictype/ctype-upper: New file.
57863         * modules/unictype/ctype-xdigit: New file.
57864         * modules/unictype/ctype-blank: New file.
57865         * lib/unictype/bidi_byname.c: New file.
57866         * lib/unictype/bidi_name.c: New file.
57867         * lib/unictype/bidi_of.c: New file.
57868         * lib/unictype/bidi_test.c: New file.
57869         * lib/unictype/bitmap.h: New file.
57870         * lib/unictype/block_test.c: New file.
57871         * lib/unictype/blocks.c: New file.
57872         * lib/unictype/categ_C.c: New file.
57873         * lib/unictype/categ_Cc.c: New file.
57874         * lib/unictype/categ_Cf.c: New file.
57875         * lib/unictype/categ_Cn.c: New file.
57876         * lib/unictype/categ_Co.c: New file.
57877         * lib/unictype/categ_Cs.c: New file.
57878         * lib/unictype/categ_L.c: New file.
57879         * lib/unictype/categ_Ll.c: New file.
57880         * lib/unictype/categ_Lm.c: New file.
57881         * lib/unictype/categ_Lo.c: New file.
57882         * lib/unictype/categ_Lt.c: New file.
57883         * lib/unictype/categ_Lu.c: New file.
57884         * lib/unictype/categ_M.c: New file.
57885         * lib/unictype/categ_Mc.c: New file.
57886         * lib/unictype/categ_Me.c: New file.
57887         * lib/unictype/categ_Mn.c: New file.
57888         * lib/unictype/categ_N.c: New file.
57889         * lib/unictype/categ_Nd.c: New file.
57890         * lib/unictype/categ_Nl.c: New file.
57891         * lib/unictype/categ_No.c: New file.
57892         * lib/unictype/categ_P.c: New file.
57893         * lib/unictype/categ_Pc.c: New file.
57894         * lib/unictype/categ_Pd.c: New file.
57895         * lib/unictype/categ_Pe.c: New file.
57896         * lib/unictype/categ_Pf.c: New file.
57897         * lib/unictype/categ_Pi.c: New file.
57898         * lib/unictype/categ_Po.c: New file.
57899         * lib/unictype/categ_Ps.c: New file.
57900         * lib/unictype/categ_S.c: New file.
57901         * lib/unictype/categ_Sc.c: New file.
57902         * lib/unictype/categ_Sk.c: New file.
57903         * lib/unictype/categ_Sm.c: New file.
57904         * lib/unictype/categ_So.c: New file.
57905         * lib/unictype/categ_Z.c: New file.
57906         * lib/unictype/categ_Zl.c: New file.
57907         * lib/unictype/categ_Zp.c: New file.
57908         * lib/unictype/categ_Zs.c: New file.
57909         * lib/unictype/categ_and.c: New file.
57910         * lib/unictype/categ_and_not.c: New file.
57911         * lib/unictype/categ_byname.c: New file.
57912         * lib/unictype/categ_name.c: New file.
57913         * lib/unictype/categ_none.c: New file.
57914         * lib/unictype/categ_of.c: New file.
57915         * lib/unictype/categ_or.c: New file.
57916         * lib/unictype/categ_test.c: New file.
57917         * lib/unictype/combining.c: New file.
57918         * lib/unictype/ctype_alnum.c: New file.
57919         * lib/unictype/ctype_alpha.c: New file.
57920         * lib/unictype/ctype_blank.c: New file.
57921         * lib/unictype/ctype_cntrl.c: New file.
57922         * lib/unictype/ctype_digit.c: New file.
57923         * lib/unictype/ctype_graph.c: New file.
57924         * lib/unictype/ctype_lower.c: New file.
57925         * lib/unictype/ctype_print.c: New file.
57926         * lib/unictype/ctype_punct.c: New file.
57927         * lib/unictype/ctype_space.c: New file.
57928         * lib/unictype/ctype_upper.c: New file.
57929         * lib/unictype/ctype_xdigit.c: New file.
57930         * lib/unictype/decdigit.c: New file.
57931         * lib/unictype/digit.c: New file.
57932         * lib/unictype/identsyntaxmap.h: New file.
57933         * lib/unictype/mirror.c: New file.
57934         * lib/unictype/numeric.c: New file.
57935         * lib/unictype/pr_alphabetic.c: New file.
57936         * lib/unictype/pr_ascii_hex_digit.c: New file.
57937         * lib/unictype/pr_bidi_arabic_digit.c: New file.
57938         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
57939         * lib/unictype/pr_bidi_block_separator.c: New file.
57940         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
57941         * lib/unictype/pr_bidi_common_separator.c: New file.
57942         * lib/unictype/pr_bidi_control.c: New file.
57943         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
57944         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
57945         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
57946         * lib/unictype/pr_bidi_european_digit.c: New file.
57947         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
57948         * lib/unictype/pr_bidi_left_to_right.c: New file.
57949         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
57950         * lib/unictype/pr_bidi_other_neutral.c: New file.
57951         * lib/unictype/pr_bidi_pdf.c: New file.
57952         * lib/unictype/pr_bidi_segment_separator.c: New file.
57953         * lib/unictype/pr_bidi_whitespace.c: New file.
57954         * lib/unictype/pr_byname.c: New file.
57955         * lib/unictype/pr_byname.gperf: New file.
57956         * lib/unictype/pr_combining.c: New file.
57957         * lib/unictype/pr_composite.c: New file.
57958         * lib/unictype/pr_currency_symbol.c: New file.
57959         * lib/unictype/pr_dash.c: New file.
57960         * lib/unictype/pr_decimal_digit.c: New file.
57961         * lib/unictype/pr_default_ignorable_code_point.c: New file.
57962         * lib/unictype/pr_deprecated.c: New file.
57963         * lib/unictype/pr_diacritic.c: New file.
57964         * lib/unictype/pr_extender.c: New file.
57965         * lib/unictype/pr_format_control.c: New file.
57966         * lib/unictype/pr_grapheme_base.c: New file.
57967         * lib/unictype/pr_grapheme_extend.c: New file.
57968         * lib/unictype/pr_grapheme_link.c: New file.
57969         * lib/unictype/pr_hex_digit.c: New file.
57970         * lib/unictype/pr_hyphen.c: New file.
57971         * lib/unictype/pr_id_continue.c: New file.
57972         * lib/unictype/pr_id_start.c: New file.
57973         * lib/unictype/pr_ideographic.c: New file.
57974         * lib/unictype/pr_ids_binary_operator.c: New file.
57975         * lib/unictype/pr_ids_trinary_operator.c: New file.
57976         * lib/unictype/pr_ignorable_control.c: New file.
57977         * lib/unictype/pr_iso_control.c: New file.
57978         * lib/unictype/pr_join_control.c: New file.
57979         * lib/unictype/pr_left_of_pair.c: New file.
57980         * lib/unictype/pr_line_separator.c: New file.
57981         * lib/unictype/pr_logical_order_exception.c: New file.
57982         * lib/unictype/pr_lowercase.c: New file.
57983         * lib/unictype/pr_math.c: New file.
57984         * lib/unictype/pr_non_break.c: New file.
57985         * lib/unictype/pr_not_a_character.c: New file.
57986         * lib/unictype/pr_numeric.c: New file.
57987         * lib/unictype/pr_other_alphabetic.c: New file.
57988         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
57989         * lib/unictype/pr_other_grapheme_extend.c: New file.
57990         * lib/unictype/pr_other_id_continue.c: New file.
57991         * lib/unictype/pr_other_id_start.c: New file.
57992         * lib/unictype/pr_other_lowercase.c: New file.
57993         * lib/unictype/pr_other_math.c: New file.
57994         * lib/unictype/pr_other_uppercase.c: New file.
57995         * lib/unictype/pr_paired_punctuation.c: New file.
57996         * lib/unictype/pr_paragraph_separator.c: New file.
57997         * lib/unictype/pr_pattern_syntax.c: New file.
57998         * lib/unictype/pr_pattern_white_space.c: New file.
57999         * lib/unictype/pr_private_use.c: New file.
58000         * lib/unictype/pr_punctuation.c: New file.
58001         * lib/unictype/pr_quotation_mark.c: New file.
58002         * lib/unictype/pr_radical.c: New file.
58003         * lib/unictype/pr_sentence_terminal.c: New file.
58004         * lib/unictype/pr_soft_dotted.c: New file.
58005         * lib/unictype/pr_space.c: New file.
58006         * lib/unictype/pr_terminal_punctuation.c: New file.
58007         * lib/unictype/pr_test.c: New file.
58008         * lib/unictype/pr_titlecase.c: New file.
58009         * lib/unictype/pr_unassigned_code_value.c: New file.
58010         * lib/unictype/pr_unified_ideograph.c: New file.
58011         * lib/unictype/pr_uppercase.c: New file.
58012         * lib/unictype/pr_variation_selector.c: New file.
58013         * lib/unictype/pr_white_space.c: New file.
58014         * lib/unictype/pr_xid_continue.c: New file.
58015         * lib/unictype/pr_xid_start.c: New file.
58016         * lib/unictype/pr_zero_width.c: New file.
58017         * lib/unictype/scripts.c: New file.
58018         * lib/unictype/sy_c_ident.c: New file.
58019         * lib/unictype/sy_c_whitespace.c: New file.
58020         * lib/unictype/sy_java_ident.c: New file.
58021         * lib/unictype/sy_java_whitespace.c: New file.
58022
58023         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
58024         Unicode 5.0.0.
58025         * lib/unictype/blocks.h: Likewise.
58026         * lib/unictype/categ_C.h: Likewise.
58027         * lib/unictype/categ_Cc.h: Likewise.
58028         * lib/unictype/categ_Cf.h: Likewise.
58029         * lib/unictype/categ_Cn.h: Likewise.
58030         * lib/unictype/categ_Co.h: Likewise.
58031         * lib/unictype/categ_Cs.h: Likewise.
58032         * lib/unictype/categ_L.h: Likewise.
58033         * lib/unictype/categ_Ll.h: Likewise.
58034         * lib/unictype/categ_Lm.h: Likewise.
58035         * lib/unictype/categ_Lo.h: Likewise.
58036         * lib/unictype/categ_Lt.h: Likewise.
58037         * lib/unictype/categ_Lu.h: Likewise.
58038         * lib/unictype/categ_M.h: Likewise.
58039         * lib/unictype/categ_Mc.h: Likewise.
58040         * lib/unictype/categ_Me.h: Likewise.
58041         * lib/unictype/categ_Mn.h: Likewise.
58042         * lib/unictype/categ_N.h: Likewise.
58043         * lib/unictype/categ_Nd.h: Likewise.
58044         * lib/unictype/categ_Nl.h: Likewise.
58045         * lib/unictype/categ_No.h: Likewise.
58046         * lib/unictype/categ_P.h: Likewise.
58047         * lib/unictype/categ_Pc.h: Likewise.
58048         * lib/unictype/categ_Pd.h: Likewise.
58049         * lib/unictype/categ_Pe.h: Likewise.
58050         * lib/unictype/categ_Pf.h: Likewise.
58051         * lib/unictype/categ_Pi.h: Likewise.
58052         * lib/unictype/categ_Po.h: Likewise.
58053         * lib/unictype/categ_Ps.h: Likewise.
58054         * lib/unictype/categ_S.h: Likewise.
58055         * lib/unictype/categ_Sc.h: Likewise.
58056         * lib/unictype/categ_Sk.h: Likewise.
58057         * lib/unictype/categ_Sm.h: Likewise.
58058         * lib/unictype/categ_So.h: Likewise.
58059         * lib/unictype/categ_Z.h: Likewise.
58060         * lib/unictype/categ_Zl.h: Likewise.
58061         * lib/unictype/categ_Zp.h: Likewise.
58062         * lib/unictype/categ_Zs.h: Likewise.
58063         * lib/unictype/categ_of.h: Likewise.
58064         * lib/unictype/combining.h: Likewise.
58065         * lib/unictype/ctype_alnum.h: Likewise.
58066         * lib/unictype/ctype_alpha.h: Likewise.
58067         * lib/unictype/ctype_blank.h: Likewise.
58068         * lib/unictype/ctype_cntrl.h: Likewise.
58069         * lib/unictype/ctype_digit.h: Likewise.
58070         * lib/unictype/ctype_graph.h: Likewise.
58071         * lib/unictype/ctype_lower.h: Likewise.
58072         * lib/unictype/ctype_print.h: Likewise.
58073         * lib/unictype/ctype_punct.h: Likewise.
58074         * lib/unictype/ctype_space.h: Likewise.
58075         * lib/unictype/ctype_upper.h: Likewise.
58076         * lib/unictype/ctype_xdigit.h: Likewise.
58077         * lib/unictype/decdigit.h: Likewise.
58078         * lib/unictype/digit.h: Likewise.
58079         * lib/unictype/mirror.h: Likewise.
58080         * lib/unictype/numeric.h: Likewise.
58081         * lib/unictype/pr_alphabetic.h: Likewise.
58082         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
58083         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
58084         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
58085         * lib/unictype/pr_bidi_block_separator.h: Likewise.
58086         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
58087         * lib/unictype/pr_bidi_common_separator.h: Likewise.
58088         * lib/unictype/pr_bidi_control.h: Likewise.
58089         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
58090         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
58091         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
58092         * lib/unictype/pr_bidi_european_digit.h: Likewise.
58093         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
58094         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
58095         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
58096         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
58097         * lib/unictype/pr_bidi_pdf.h: Likewise.
58098         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
58099         * lib/unictype/pr_bidi_whitespace.h: Likewise.
58100         * lib/unictype/pr_combining.h: Likewise.
58101         * lib/unictype/pr_composite.h: Likewise.
58102         * lib/unictype/pr_currency_symbol.h: Likewise.
58103         * lib/unictype/pr_dash.h: Likewise.
58104         * lib/unictype/pr_decimal_digit.h: Likewise.
58105         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
58106         * lib/unictype/pr_deprecated.h: Likewise.
58107         * lib/unictype/pr_diacritic.h: Likewise.
58108         * lib/unictype/pr_extender.h: Likewise.
58109         * lib/unictype/pr_format_control.h: Likewise.
58110         * lib/unictype/pr_grapheme_base.h: Likewise.
58111         * lib/unictype/pr_grapheme_extend.h: Likewise.
58112         * lib/unictype/pr_grapheme_link.h: Likewise.
58113         * lib/unictype/pr_hex_digit.h: Likewise.
58114         * lib/unictype/pr_hyphen.h: Likewise.
58115         * lib/unictype/pr_id_continue.h: Likewise.
58116         * lib/unictype/pr_id_start.h: Likewise.
58117         * lib/unictype/pr_ideographic.h: Likewise.
58118         * lib/unictype/pr_ids_binary_operator.h: Likewise.
58119         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
58120         * lib/unictype/pr_ignorable_control.h: Likewise.
58121         * lib/unictype/pr_iso_control.h: Likewise.
58122         * lib/unictype/pr_join_control.h: Likewise.
58123         * lib/unictype/pr_left_of_pair.h: Likewise.
58124         * lib/unictype/pr_line_separator.h: Likewise.
58125         * lib/unictype/pr_logical_order_exception.h: Likewise.
58126         * lib/unictype/pr_lowercase.h: Likewise.
58127         * lib/unictype/pr_math.h: Likewise.
58128         * lib/unictype/pr_non_break.h: Likewise.
58129         * lib/unictype/pr_not_a_character.h: Likewise.
58130         * lib/unictype/pr_numeric.h: Likewise.
58131         * lib/unictype/pr_other_alphabetic.h: Likewise.
58132         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
58133         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
58134         * lib/unictype/pr_other_id_continue.h: Likewise.
58135         * lib/unictype/pr_other_id_start.h: Likewise.
58136         * lib/unictype/pr_other_lowercase.h: Likewise.
58137         * lib/unictype/pr_other_math.h: Likewise.
58138         * lib/unictype/pr_other_uppercase.h: Likewise.
58139         * lib/unictype/pr_paired_punctuation.h: Likewise.
58140         * lib/unictype/pr_paragraph_separator.h: Likewise.
58141         * lib/unictype/pr_pattern_syntax.h: Likewise.
58142         * lib/unictype/pr_pattern_white_space.h: Likewise.
58143         * lib/unictype/pr_private_use.h: Likewise.
58144         * lib/unictype/pr_punctuation.h: Likewise.
58145         * lib/unictype/pr_quotation_mark.h: Likewise.
58146         * lib/unictype/pr_radical.h: Likewise.
58147         * lib/unictype/pr_sentence_terminal.h: Likewise.
58148         * lib/unictype/pr_soft_dotted.h: Likewise.
58149         * lib/unictype/pr_space.h: Likewise.
58150         * lib/unictype/pr_terminal_punctuation.h: Likewise.
58151         * lib/unictype/pr_titlecase.h: Likewise.
58152         * lib/unictype/pr_unassigned_code_value.h: Likewise.
58153         * lib/unictype/pr_unified_ideograph.h: Likewise.
58154         * lib/unictype/pr_uppercase.h: Likewise.
58155         * lib/unictype/pr_variation_selector.h: Likewise.
58156         * lib/unictype/pr_white_space.h: Likewise.
58157         * lib/unictype/pr_xid_continue.h: Likewise.
58158         * lib/unictype/pr_xid_start.h: Likewise.
58159         * lib/unictype/pr_zero_width.h: Likewise.
58160         * lib/unictype/scripts.h: Likewise.
58161         * lib/unictype/scripts_byname.gperf: Likewise.
58162         * lib/unictype/sy_c_ident.h: Likewise.
58163         * lib/unictype/sy_c_whitespace.h: Likewise.
58164         * lib/unictype/sy_java_ident.h: Likewise.
58165         * lib/unictype/sy_java_whitespace.h: Likewise.
58166
58167         * lib/unictype/Makefile: New file.
58168         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
58169         glibc.
58170         * lib/unictype/3level.h: New file, copied from glibc.
58171         * lib/unictype/3levelbit.h: New file.
58172
58173 2007-11-11  Bruno Haible  <bruno@clisp.org>
58174
58175         * modules/gperf: New file.
58176         * modules/iconv_open (Depends-on): Add it.
58177         (Makefile.am): Remove the GPERF definition.
58178
58179 2007-11-11  Bruno Haible  <bruno@clisp.org>
58180
58181         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
58182         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
58183
58184 2007-11-11  Bruno Haible  <bruno@clisp.org>
58185
58186         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
58187         (usage): Remove function.
58188
58189 2007-11-11  Bruno Haible  <bruno@clisp.org>
58190
58191         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
58192         gl_FUNC_CEILF_LIBS.
58193         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
58194         gl_FUNC_CEIL_LIBS.
58195         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
58196         gl_FUNC_CEILL_LIBS.
58197         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
58198         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
58199         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
58200
58201 2007-11-11  Bruno Haible  <bruno@clisp.org>
58202
58203         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
58204         roundf were declared but do not exist on functions.
58205         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
58206         roundl were declared but do not exist on functions.
58207         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
58208         HAVE_FLOORL_AND_CEILL, respectively.
58209         Needed for Sun C on Solaris 10.
58210
58211 2007-11-11  Bruno Haible  <bruno@clisp.org>
58212
58213         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
58214         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
58215         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
58216         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
58217         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
58218         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
58219         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
58220         HAVE_DECL_ROUNDF.
58221         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
58222         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
58223         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
58224         of HAVE_DECL_ROUND*.
58225         * modules/math (Makefile.am): Update.
58226
58227 2007-11-10  Bruno Haible  <bruno@clisp.org>
58228
58229         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
58230         ptrdiff_t as m4/intl.m4.
58231
58232 2007-11-10  Jim Meyering  <meyering@redhat.com>
58233
58234         Avoid link failure for the argmatch test.
58235         * tests/test-argmatch.c (usage): Define function to avoid a link
58236         failure: argmatch_die requires a usage function.
58237
58238 2007-11-09  Bruno Haible  <bruno@clisp.org>
58239
58240         * doc/functions/snprintf.texi: Mention BeOS deficiency.
58241         * doc/functions/vsnprintf.texi: Likewise.
58242         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
58243         with a size argument < 2.
58244
58245 2007-11-09  Bruno Haible  <bruno@clisp.org>
58246
58247         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
58248         buffer. Fixes an inefficiency introduced on 2007-11-03.
58249
58250 2007-11-09  Bruno Haible  <bruno@clisp.org>
58251
58252         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
58253         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
58254
58255 2007-11-08  Jim Meyering  <meyering@redhat.com>
58256
58257         Change cache variable name prefix "jm_" to "gl_" everywhere.
58258         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
58259         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
58260         * m4/uptime.m4: s/gl_/jm_/
58261
58262 2007-11-07  Bruno Haible  <bruno@clisp.org>
58263
58264         Update to GNU gettext 0.17.
58265         * m4/intl.m4: Update to GNU gettext 0.17.
58266         * m4/po.m4: Likewise.
58267         * modules/gettext (Files): Remove m4/ulonglong.m4.
58268         (configure.ac): Require gettext infrastructure from version 0.17.
58269
58270 2007-11-06  Bruno Haible  <bruno@clisp.org>
58271
58272         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
58273         symbolic values are not defined in a public header.
58274         * lib/freadable.c (freadable) [QNX]: Likewise.
58275         * lib/freadahead.c (freadahead) [QNX]: Likewise.
58276         * lib/freading.c (freading) [QNX]: Likewise.
58277         * lib/fseterr.c (fseterr) [QNX]: Likewise.
58278         * lib/fwritable.c (fwritable) [QNX]: Likewise.
58279         * lib/fwriting.c (fwriting) [QNX]: Likewise.
58280         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
58281         Reported by Alain Magloire.
58282
58283         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
58284
58285 2007-11-05  Bruno Haible  <bruno@clisp.org>
58286
58287         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
58288         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
58289         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
58290         Reported by Eric Blake.
58291
58292 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58293             Bruno Haible  <bruno@clisp.org>
58294
58295         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
58296         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
58297         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
58298         (malloc): Undefine also before including <stdlib.h>.
58299         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
58300         Needed on OSF/1 4.0.
58301
58302 2007-11-05  Jim Meyering  <meyering@redhat.com>
58303
58304         git-version-gen: sync from coreutils.
58305         * build-aux/git-version-gen: Add comments.
58306         Change the first '-' to '.' in the snapshot version string,
58307         e.g., 6.9-377-08144 -> 6.9.377-08144
58308         Remove first parameter.
58309         Don't declare a version "-dirty" merely because a time
58310         stamp has changed.
58311
58312 2007-11-04  Bruno Haible  <bruno@clisp.org>
58313
58314         * lib/lock.h: Protect all macro definitions containing an 'if'
58315         statement through a "do { ... } while (0)".
58316         * lib/tls.h: Likewise.
58317
58318 2007-11-04  Bruno Haible  <bruno@clisp.org>
58319
58320         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
58321
58322 2007-11-04  Bruno Haible  <bruno@clisp.org>
58323
58324         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
58325         * modules/fprintf-posix (Depends-on): Add nocrash.
58326         * modules/snprintf-posix (Depends-on): Likewise.
58327         * modules/sprintf-posix (Depends-on): Likewise.
58328         * modules/vasnprintf-posix (Depends-on): Likewise.
58329         * modules/vasprintf-posix (Depends-on): Likewise.
58330         * modules/vfprintf-posix (Depends-on): Likewise.
58331         * modules/vsnprintf-posix (Depends-on): Likewise.
58332         * modules/vsprintf-posix (Depends-on): Likewise.
58333         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
58334         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
58335         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
58336         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
58337         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
58338         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
58339         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
58340
58341 2007-11-04  Bruno Haible  <bruno@clisp.org>
58342
58343         * modules/nocrash: New file.
58344         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
58345         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
58346
58347 2007-11-04  Bruno Haible  <bruno@clisp.org>
58348
58349         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
58350         precision handling.
58351         * tests/test-vasprintf-posix.c (test_function): Likewise.
58352         * tests/test-snprintf-posix.h (test_function): Likewise.
58353         * tests/test-sprintf-posix.h (test_function): Likewise.
58354
58355         Fix *printf behaviour for large precisions on mingw and BeOS.
58356         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
58357         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
58358         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
58359         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58360         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58361         gl_PRINTF_PRECISION and test its result. Invoke
58362         gl_PREREQ_VASNPRINTF_PRECISION.
58363         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58364         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58365         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58366         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58367         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58368         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58369         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58370         * doc/functions/fprintf.texi: Update.
58371         * doc/functions/printf.texi: Update.
58372         * doc/functions/snprintf.texi: Update.
58373         * doc/functions/sprintf.texi: Update.
58374         * doc/functions/vfprintf.texi: Update.
58375         * doc/functions/vprintf.texi: Update.
58376         * doc/functions/vsnprintf.texi: Update.
58377         * doc/functions/vsprintf.texi: Update.
58378
58379 2007-11-04  Bruno Haible  <bruno@clisp.org>
58380
58381         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
58382
58383 2007-11-04  Bruno Haible  <bruno@clisp.org>
58384
58385         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
58386         Reported by Sylvain Beucler <beuc@gnu.org>.
58387
58388 2007-11-03  Bruno Haible  <bruno@clisp.org>
58389
58390         * tests/test-fprintf-posix2.sh: New file.
58391         * tests/test-fprintf-posix2.c: New file.
58392         * modules/fprintf-posix-tests (Files): Add them.
58393         (TESTS): Add test-fprintf-posix2.sh.
58394         (configure.ac): Check for getrlimit and setrlimit.
58395         (check_PROGRAMS): Add test-fprintf-posix2.
58396
58397         * tests/test-printf-posix2.sh: New file.
58398         * tests/test-printf-posix2.c: New file.
58399         * modules/printf-posix-tests (Files): Add them.
58400         (TESTS): Add test-printf-posix2.sh.
58401         (configure.ac): Check for getrlimit and setrlimit.
58402         (check_PROGRAMS): Add test-printf-posix2.
58403
58404         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
58405         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
58406         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
58407         (decode_double): New function, copied from decode_long_double.
58408         (scale10_round_decimal_decoded): New function, extracted from
58409         scale10_round_decimal_long_double.
58410         (scale10_round_decimal_long_double): Use it.
58411         (scale10_round_decimal_double): New function.
58412         (floorlog10): New function.
58413         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
58414         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
58415         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
58416         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
58417         gl_PRINTF_ENOMEM and test its result. Invoke
58418         gl_PREREQ_VASNPRINTF_ENOMEM.
58419         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
58420         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
58421         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
58422         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
58423         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
58424         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
58425         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
58426         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
58427         * modules/snprintf-posix (Depends-on): Likewise.
58428         * modules/sprintf-posix (Depends-on): Likewise.
58429         * modules/vasnprintf-posix (Depends-on): Likewise.
58430         * modules/vasprintf-posix (Depends-on): Likewise.
58431         * modules/vfprintf-posix (Depends-on): Likewise.
58432         * modules/vsnprintf-posix (Depends-on): Likewise.
58433         * modules/vsprintf-posix (Depends-on): Likewise.
58434         * doc/functions/fprintf.texi: Update.
58435         * doc/functions/printf.texi: Update.
58436         * doc/functions/snprintf.texi: Update.
58437         * doc/functions/sprintf.texi: Update.
58438         * doc/functions/vfprintf.texi: Update.
58439         * doc/functions/vprintf.texi: Update.
58440         * doc/functions/vsnprintf.texi: Update.
58441         * doc/functions/vsprintf.texi: Update.
58442
58443 2007-11-03  Bruno Haible  <bruno@clisp.org>
58444
58445         * modules/frexp-nolibm-tests: New file.
58446
58447         * modules/frexp-nolibm: New file.
58448         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
58449
58450 2007-11-03  Bruno Haible  <bruno@clisp.org>
58451
58452         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
58453         value is C99 compliant.
58454         Needed for OSF/1 5.1.
58455
58456 2007-11-03  Bruno Haible  <bruno@clisp.org>
58457
58458         Fix out-of-memory handling of vasnprintf.
58459         * lib/printf-parse.c: Include <errno.h>.
58460         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
58461         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
58462         is already set.
58463
58464 2007-11-02  Eric Blake  <ebb9@byu.net>
58465
58466         Fix tests on cygwin.
58467         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
58468
58469 2007-11-01  Bruno Haible  <bruno@clisp.org>
58470
58471         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
58472         warning.
58473         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
58474         needed for POSIX compatibility.
58475
58476 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
58477
58478         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
58479         for compatibility with GNU.
58480
58481 2007-11-01  Bruno Haible  <bruno@clisp.org>
58482
58483         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
58484         (putenv): Renamed from rpl_putenv. Change argument type from
58485         'const char *' to 'char *'.
58486         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
58487         of defining putenv in config.h, just set REPLACE_PUTENV.
58488         * modules/putenv (Depends-on): Add stdlib.
58489         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
58490         (Include): Use <stdlib.h>.
58491         * lib/stdlib.in.h (putenv): New declaration.
58492         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
58493         REPLACE_PUTENV.
58494         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
58495         REPLACE_PUTENV.
58496         Needed for MacOS X 10.5.0.
58497         Reported by Peter O'Gorman <peter@pogma.com>.
58498
58499 2007-11-01  Jim Meyering  <meyering@redhat.com>
58500
58501         Treat an empty date string exactly like "0".
58502         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
58503         if the remaining date string (to be parsed) is empty, use "0".
58504         Reported by Mischa Molhoek and discussed in this thread:
58505         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
58506
58507 2007-10-31  Bruno Haible  <bruno@clisp.org>
58508
58509         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
58510         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
58511         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
58512         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
58513         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
58514         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
58515
58516 2007-10-31  Bruno Haible  <bruno@clisp.org>
58517
58518         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
58519         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
58520         (AC_TYPE_LONG_LONG_INT): Use it.
58521         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
58522         it as well.
58523         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
58524         to m4/longlong.m4.
58525         * modules/stdint (Files): Remove m4/ulonglong.m4.
58526         * modules/strtoull (Files): Use m4/longlong.m4 instead of
58527         m4/ulonglong.m4.
58528         * modules/strtoumax (Files): Likewise.
58529
58530 2007-10-30  Bruno Haible  <bruno@clisp.org>
58531
58532         * modules/xvasprintf-posix: New file.
58533         Suggested by Eric Blake.
58534
58535 2007-10-30  Bruno Haible  <bruno@clisp.org>
58536
58537         * modules/xprintf-posix-tests: New file.
58538         * tests/test-xprintf-posix.sh: New file.
58539         * tests/test-xprintf-posix.c: New file.
58540         * tests/test-xfprintf-posix.c: New file.
58541
58542         * modules/xprintf-posix: New file.
58543
58544 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58545
58546         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
58547         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
58548         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
58549
58550 2007-10-29  Bruno Haible  <bruno@clisp.org>
58551
58552         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
58553         contain the special marker '_cv_'.
58554         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
58555         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
58556         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
58557         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
58558         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
58559         Reported by Ralf Wildenhues.
58560
58561 2007-10-29  Bruno Haible  <bruno@clisp.org>
58562
58563         * gnulib-tool (func_import): When --lgpl is not specified, set
58564         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
58565         GPLv3.
58566         Reported by Simon Josefsson.
58567
58568 2007-10-28  Bruno Haible  <bruno@clisp.org>
58569
58570         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
58571         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
58572         HAVE_DECL_ISFINITE.
58573         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58574         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
58575         HAVE_DECL_ISFINITE.
58576
58577 2007-10-28  Bruno Haible  <bruno@clisp.org>
58578
58579         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
58580         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
58581
58582 2007-10-28  Bruno Haible  <bruno@clisp.org>
58583
58584         Fix link errors with Sun C 5.0 on Solaris 10.
58585         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
58586         function is declared but not present in the compiler's libm.
58587         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
58588         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
58589         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
58590         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
58591         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
58592         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
58593         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
58594         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
58595         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
58596         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
58597         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
58598         HAVE_DECL_FLOORL.
58599
58600 2007-10-28  Bruno Haible  <bruno@clisp.org>
58601
58602         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
58603         gl_FUNC_FLOORL. Cache the result.
58604         (gl_FUNC_FLOORL): Use it.
58605         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
58606         gl_FUNC_CEILL. Cache the result.
58607         (gl_FUNC_CEILL): Use it.
58608
58609         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
58610         gl_FUNC_FLOOR. Cache the result.
58611         (gl_FUNC_FLOOR): Use it.
58612         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
58613         gl_FUNC_CEIL. Cache the result.
58614         (gl_FUNC_CEIL): Use it.
58615
58616         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
58617         gl_FUNC_FLOORF. Cache the result.
58618         (gl_FUNC_FLOORF): Use it.
58619         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
58620         gl_FUNC_CEILF. Cache the result.
58621         (gl_FUNC_CEILF): Use it.
58622
58623 2007-10-28  Bruno Haible  <bruno@clisp.org>
58624
58625         * gnulib-tool: Allow specifying the LGPL version number through
58626         --lgpl=2 or --lgpl=3.
58627         (func_usage): Document --lgpl with argument.
58628         Handle --lgpl=... arguments.
58629         (func_import): Recognize also gl_LGPL calls with an argument. When
58630         --lgpl=2 is used and the module's license is just LGPL, report an
58631         error. Set sed_transform_lib_file according to the lgpl variable. In
58632         the generated files, use --lgpl or gl_LGPL invocations with argument,
58633         if necessary.
58634         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
58635         an LGPv2+ license.
58636         * doc/gnulib-tool.texi (Modified imports): Update explanation of
58637         gl_LGPL macro.
58638
58639 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58640             Bruno Haible  <bruno@clisp.org>
58641
58642         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
58643         (u16_uctomb_aux): Likewise.
58644         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
58645         !HAVE_INLINE.
58646         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
58647
58648 2007-10-28  Bruno Haible  <bruno@clisp.org>
58649
58650         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
58651         Invoke AM_GETTEXT_OPTION if it exists.
58652         * modules/vasprintf: Likewise.
58653         * modules/verror: Likewise.
58654         * modules/xprintf: Likewise.
58655         * modules/xvasprintf: Likewise.
58656
58657 2007-10-27  Ben Pfaff  <blp@gnu.org>
58658
58659         * lib/math.in.h: Define isfinite macro and prototypes for
58660         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
58661         implementations.
58662         * m4/math_h.m4: New substitutions for isfinite module.
58663         * lib/isfinite.c: New file.
58664         * m4/isfinite.m4: New file.
58665         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
58666         * modules/isfinite: New file.
58667         * modules/isfinite-tests: New file.
58668         * tests/tests-isfinite.c: New file.
58669         * doc/functions/isfinite.texi: Mention isfinite module.
58670         * MODULES.html.sh: Mention new module.
58671
58672 2007-10-27  Ben Pfaff  <blp@gnu.org>
58673
58674         Ralf Wildenhues reported that Tru64 4.0D declares the round
58675         functions but does not have definitions.
58676         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
58677         cannot be found in any library, set the output variable to
58678         "missing" instead of "".
58679         * m4/round.m4: Also use our substitute if we cannot find round in
58680         any library, even if it is declared.
58681         * m4/roundf.m4: Likewise for roundf.
58682         * m4/roundl.m4: Likewise for roundl.
58683         * lib/math.in.h: Undefine roundf, round, roundl before defining
58684         their replacements, to allow for hypothetical systems where these
58685         may be defined as macros but not available in libraries.
58686
58687 2007-10-27  Bruno Haible  <bruno@clisp.org>
58688
58689         * doc/gnulib.texi: Invoke @firstparagraphindent.
58690         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
58691         changes in gnulib.
58692         (Source changes): New section.
58693
58694 2007-10-26  Bruno Haible  <bruno@clisp.org>
58695
58696         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
58697         borrowed from autoconf.
58698
58699 2007-10-26  Bruno Haible  <bruno@clisp.org>
58700
58701         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
58702         strerror returned the empty string. Needed on HP-UX 11.00.
58703
58704 2007-10-24  Micah Cowan  <micah@cowan.name>
58705
58706         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
58707         * build-aux/bootstrap: Remove support for now-unnecessary option,
58708         --cvs-user, and envvars CVS_USER, CVS_RSH.
58709
58710 2007-10-24  Jim Meyering  <meyering@redhat.com>
58711
58712         Avoid diagnostics from sha1sum when there is no cached checksum.
58713         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
58714         if the po.s1 file hasn't been created yet.
58715
58716         * build-aux/bootstrap: Sync from coreutils:
58717         2007-10-24  Jim Meyering  <meyering@redhat.com>
58718         Get gnulib from the git repository, not from an obsolete cvs one.
58719         * build-aux/bootstrap: Suggestion from Micah Cowan.
58720         2007-10-04  Jim Meyering  <jim@meyering.net>
58721         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
58722         (update_po_files): Work also when there are no .po files in po/.
58723
58724 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
58725
58726         * README: Append ".git" to git and cg examples.
58727         Problem reported by Benoit Sigoure.
58728
58729 2007-10-23  Micah Cowan  <micah@cowan.name>
58730
58731         * users.txt: Add wget.
58732
58733 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58734
58735         Fix linking of some unistdio tests on FreeBSD.
58736         * modules/unistdio/u16-vsnprintf-tests
58737         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
58738         * modules/unistdio/u16-vsprintf-tests
58739         (test_u16_vsnprintf1_LDADD): Likewise.
58740         * modules/unistdio/u32-vsnprintf-tests
58741         (test_u32_vsnprintf1_LDADD): Likewise.
58742         * modules/unistdio/u32-vsprintf-tests
58743         (test_u32_vsprintf1_LDADD): Likewise.
58744         * modules/unistdio/u8-vsnprintf-tests
58745         (test_u8_vsnprintf1_LDADD): Likewise.
58746         * modules/unistdio/u8-vsprintf-tests
58747         (test_u8_vsprintf1_LDADD): Likewise.
58748         * modules/unistdio/ulc-vsnprintf-tests
58749         (test_ulc_vsnprintf1_LDADD): Likewise.
58750         * modules/unistdio/ulc-vsprintf-tests
58751         (test_ulc_vsprintf1_LDADD): Likewise.
58752
58753         Fix linking of some uniconv tests on FreeBSD.
58754         * modules/uniconv/u16-conv-from-enc-tests
58755         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
58756         * modules/uniconv/u16-conv-to-enc-tests
58757         (test_u16_conv_to_enc_LDADD): Likewise.
58758         * modules/uniconv/u16-strconv-from-enc-tests
58759         (test_u16_strconv_from_enc_LDADD): Likewise.
58760         * modules/uniconv/u16-strconv-to-enc-tests
58761         (test_u16_strconv_to_enc_LDADD): Likewise.
58762         * modules/uniconv/u32-conv-from-enc-tests
58763         (test_u32_conv_from_enc_LDADD): Likewise.
58764         * modules/uniconv/u32-conv-to-enc-tests
58765         (test_u32_conv_to_enc_LDADD): Likewise.
58766         * modules/uniconv/u32-strconv-from-enc-tests
58767         (test_u32_strconv_from_enc_LDADD): Likewise.
58768         * modules/uniconv/u32-strconv-to-enc-tests
58769         (test_u32_strconv_to_enc_LDADD): Likewise.
58770         * modules/uniconv/u8-conv-from-enc-tests
58771         (test_u8_conv_from_enc_LDADD): Likewise.
58772         * modules/uniconv/u8-conv-to-enc-tests
58773         (test_u8_conv_to_enc_LDADD): Likewise.
58774         * modules/uniconv/u8-strconv-from-enc-tests
58775         (test_u8_strconv_from_enc_LDADD): Likewise.
58776         * modules/uniconv/u8-strconv-to-enc-tests
58777         (test_u8_strconv_to_enc_LDADD): Likewise.
58778
58779 2007-10-22  Bruno Haible  <bruno@clisp.org>
58780
58781         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
58782         size.
58783
58784 2007-10-22  Eric Blake  <ebb9@byu.net>
58785
58786         Tweak x*printf documentation.
58787         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
58788         variable name and comments.
58789         Suggested by Bruno Haible.
58790
58791 2007-10-22  Bruno Haible  <bruno@clisp.org>
58792
58793         * lib/acl.c (copy_acl): Fix file name in comment.
58794
58795 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58796
58797         Fix Tru64 problem with stdbool.h.
58798         * lib/stdbool.in.h (false, true):
58799         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
58800         Don't declare as an enum in this situation; it runs afoul of Tru64.
58801         Problem reported by Steven M. Schweda in
58802         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
58803
58804 2007-10-22  Eric Blake  <ebb9@byu.net>
58805
58806         Also wrap vf?printf.
58807         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
58808         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
58809         (xvprintf, xvfprintf): New functions.
58810
58811 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58812
58813         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
58814         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
58815
58816         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
58817         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
58818
58819 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
58820
58821         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
58822         by Bruno Haible.
58823
58824 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58825
58826         * lib/getloadavg.c
58827         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
58828         Undef `sys' after including sys/table.h, for Tru64 4.0D.
58829
58830         * tests/test-i-ring.c: Work for C89.
58831
58832 2007-10-22  Bruno Haible  <bruno@clisp.org>
58833
58834         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
58835         -1u, in preprocessor expression, so that we don't test for the bug
58836         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
58837         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
58838
58839 2007-10-22  Eric Blake  <ebb9@byu.net>
58840
58841         * tests/test-yesno.sh: Silence stderr during test.
58842
58843 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58844
58845         * modules/crypto/gc-camellia: New file.
58846
58847         * m4/gc-camellia.m4: New file.
58848
58849         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
58850
58851         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
58852
58853 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58854
58855         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
58856         --help to stdout.  Reported by sms@antinode.org (Steven
58857         M. Schweda).
58858
58859 2007-10-22  Simon Josefsson  <simon@josefsson.org>
58860
58861         * users.txt: Fix link to libksba.
58862
58863 2007-10-21  Ben Pfaff  <blp@gnu.org>
58864
58865         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
58866         round.c roundf implementation that depends on floorf and ceilf to
58867         be tested unconditionally.
58868
58869 2007-10-21  Ben Pfaff  <blp@gnu.org>
58870
58871         * m4/check-libm-func.m4: Removed.
58872         * m4/check-math-lib.m4: New file.
58873         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
58874         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
58875         definition and lack of AC_LIBOBJ([roundf]).
58876         * m4/roundl.m4: Ditto, and similarly for roundl.
58877         * modules/round: Reference new m4 file.
58878         * modules/roundf: Ditto.
58879         * modules/roundl: Ditto.
58880         * tests/test-round2.c (main): Use ROUND instead of round.
58881         Bug report from Bruno Haible.
58882
58883 2007-10-21  Bruno Haible  <bruno@clisp.org>
58884
58885         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
58886         context.
58887
58888 2007-10-21  Bruno Haible  <bruno@clisp.org>
58889
58890         * tests/test-wcwidth.c (main): Allow negative result for some control
58891         characters.
58892
58893         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
58894         Needed on OSF/1 5.1.
58895
58896 2007-10-21  Bruno Haible  <bruno@clisp.org>
58897
58898         * tests/test-floorf1.c: Include isnanf.h.
58899         (main): Use isnanf() instead of isnan().
58900         * tests/test-ceilf1.c: Include isnanf.h.
58901         (main): Use isnanf() instead of isnan().
58902         * tests/test-truncf1.c: Include isnanf.h.
58903         (main): Use isnanf() instead of isnan().
58904         * tests/test-roundf1.c: Include isnanf.h.
58905         (main): Use isnanf() instead of isnan().
58906
58907 2007-10-21  Eric Blake  <ebb9@byu.net>
58908
58909         * users.txt: Update URL for m4.
58910
58911 2007-10-21  Bruno Haible  <bruno@clisp.org>
58912
58913         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
58914
58915 2007-10-21  Bruno Haible  <bruno@clisp.org>
58916
58917         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
58918         Git's management files if the CVS files are not present.
58919
58920 2007-10-20  Bruno Haible  <bruno@clisp.org>
58921
58922         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
58923         gcc-3.4.x.
58924
58925 2007-10-20  Ben Pfaff  <blp@gnu.org>
58926
58927         * lib/math.in.h: Declare round, roundf, roundl if we are providing
58928         implementations.
58929         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
58930         * lib/round.c: New file.
58931         * lib/roundf.c: New file.
58932         * lib/roundl.c: New file.
58933         * m4/round.m4: New file.
58934         * m4/roundf.m4: New file.
58935         * m4/roundl.m4: New file.
58936         * m4/check-libm-func-m4: New file.
58937         * modules/math: Replace round, roundf, roundl related @VARS@ in
58938         math.in.h.
58939         * modules/round: New file.
58940         * modules/round-tests: New file.
58941         * modules/roundf: New file.
58942         * modules/roundf-tests: New file.
58943         * modules/roundl: New file.
58944         * modules/roundl-tests: New file.
58945         * tests/test-round1.c: New file.
58946         * tests/test-round2.c: New file.
58947         * tests/test-roundf1.c: New file.
58948         * tests/test-roundf2.c: New file.
58949         * tests/test-roundl.c: New file.
58950         * doc/functions/round.texi: Mention round module.
58951         * doc/functions/roundf.texi: Mention roundf module.
58952         * doc/functions/roundl.texi: Mention roundl module.
58953         * MODULES.html.sh: Mention new modules.
58954         Thanks to Bruno Haible for suggestions.
58955
58956 2007-10-20  Jim Meyering  <meyering@redhat.com>
58957
58958         * lib/xprintf.c: Include <config.h> unconditionally.
58959
58960         Change xprintf's license to GPL.
58961         * modules/xprintf (License): s/LGPL/GPL/, since this module
58962         depends on modules (exit and exitfail) which are GPL.
58963         Suggestion from Bruno Haible.
58964
58965         xprintf fixes.
58966         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
58967         Use a clearer diagnostic.
58968         Patch from Bruno Haible.
58969
58970 2007-10-20  Bruno Haible  <bruno@clisp.org>
58971
58972         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
58973         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
58974         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58975
58976 2007-10-20  Bruno Haible  <bruno@clisp.org>
58977
58978         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
58979         precision in the comparison result > x - 1 or similar.
58980         * tests/test-ceilf2.c (correct_result_p): Likewise.
58981         * tests/test-truncf2.c (correct_result_p): Likewise.
58982         * tests/test-trunc2.c (correct_result_p): Likewise.
58983         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
58984
58985 2007-10-20  Bruno Haible  <bruno@clisp.org>
58986
58987         * modules/ceil: New file.
58988         * m4/ceil.m4: New file.
58989         * doc/functions/ceil.texi: Mention the 'ceil' module.
58990
58991 2007-10-20  Bruno Haible  <bruno@clisp.org>
58992
58993         * modules/floor: New file.
58994         * m4/floor.m4: New file.
58995         * doc/functions/floor.texi: Mention the 'floor' module.
58996
58997 2007-10-20  Bruno Haible  <bruno@clisp.org>
58998
58999         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
59000         of %a.
59001         * modules/floorf-tests (Depends-on): Likewise.
59002         * modules/truncf-tests (Depends-on): Likewise.
59003         * modules/trunc-tests (Depends-on): Likewise.
59004         Reported by Ben Pfaff.
59005
59006 2007-10-19  Jim Meyering  <meyering@redhat.com>
59007
59008         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
59009         Don't bother testing specific errno values.  Just test ferror.
59010
59011         New module: xprintf
59012         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
59013
59014 2007-10-19  Bruno Haible  <bruno@clisp.org>
59015
59016         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
59017         syntax.
59018         * modules/javaexec (Makefile.am): Likewise.
59019         * modules/relocatable-prog (Makefile.am): Likewise.
59020         Suggested by Jim Meyering.
59021
59022 2007-10-18  Bruno Haible  <bruno@clisp.org>
59023
59024         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
59025         Reported by Jim Meyering.
59026
59027 2007-10-18  Eric Blake  <ebb9@byu.net>
59028
59029         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
59030
59031 2007-10-18  Bruno Haible  <bruno@clisp.org>
59032
59033         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
59034         the format string into writable memory. Needed in Fortify conditions.
59035
59036 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
59037             Bruno Haible  <bruno@clisp.org>
59038
59039         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
59040         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
59041         * modules/trim (Depends-on): Add mbchar.
59042         (configure.ac): Add gl_FUNC_MBRTOWC.
59043         (Makefile.am): Augment lib_SOURCES.
59044
59045 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
59046
59047         Modify glob.c to use fstatat and dirfd, to simplify it.
59048         Suggested by Eric Blake.
59049         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
59050         Don't include <stdbool.h>; not used.
59051         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
59052         (link_exists_p): Simplify implementation, since we can now assume
59053         dirfd and fstatat.
59054         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
59055
59056 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59057
59058         * gnulib-tool (func_get_dependencies): Fix sed script to
59059         match only tests.
59060
59061 2007-10-17  Bruno Haible  <bruno@clisp.org>
59062
59063         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
59064         allow locale names without encoding suffix.
59065         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
59066         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
59067
59068 2007-10-16  Bruno Haible  <bruno@clisp.org>
59069
59070         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
59071         * lib/getgroups.c (getgroups): Likewise.
59072         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
59073
59074 2007-10-16  Bruno Haible  <bruno@clisp.org>
59075
59076         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
59077         * modules/malloc-posix (License): Likewise.
59078         * modules/realloc-posix (License): Likewise.
59079         * modules/calloc-posix (License): Likewise.
59080         * modules/intprops (License): Change from GPL to LGPL, with
59081         Paul Eggert's approval.
59082
59083 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59084
59085         Merge glibc changes into lib/glob.c.
59086
59087         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
59088         2007-10-15 04:59:03 UTC.  Here are the changes:
59089
59090         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
59091
59092         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
59093
59094         * lib/glob.c: Add some branch prediction throughout.
59095
59096         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
59097
59098         [BZ #5103]
59099         * lib/glob.c (glob): Recognize patterns starting \/.
59100
59101         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
59102
59103         [BZ #3996]
59104         * lib/glob.c (attribute_hidden): Define if not defined.
59105         (glob): Unescape dirname, filename or username when needed and not
59106         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
59107         is NULL.  Handle unescaped [ in pattern without closing ].
59108         Don't pass GLOB_CHECK down to recursive glob for directories.
59109         (__glob_pattern_type): New function.
59110         (__glob_pattern_p): Implement using __glob_pattern_type.
59111         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
59112         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
59113         Remove unreachable code.
59114
59115         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
59116
59117         * lib/glob.c (glob_in_dir): Add some comments and asserts to
59118         explain why there are no leaks.
59119
59120         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
59121
59122         [BZ #3253]
59123         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
59124         time, rather allocate increasingly bigger arrays of pointers, if
59125         possible with alloca, if too large with malloc.
59126
59127 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
59128
59129         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
59130         Problem reported by H.Merijn Brand in
59131         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
59132         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
59133         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
59134
59135 2007-10-15  Bruno Haible  <bruno@clisp.org>
59136
59137         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
59138         with explicit rpl_ prefix.
59139         * lib/fopen.c (fopen): Likewise.
59140         * lib/freopen.c (freopen): Likewise.
59141         * lib/iconv.c (iconv): Likewise.
59142         * lib/iconv_close.c (iconv_close): Likewise.
59143
59144 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
59145
59146         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
59147
59148 2007-10-15  Bruno Haible  <bruno@clisp.org>
59149
59150         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
59151         <stddef.h> instead of <stdlib.h> since we only need NULL.
59152         Reported by Ben Pfaff <blp@cs.stanford.edu>.
59153
59154 2007-10-15  Bruno Haible  <bruno@clisp.org>
59155
59156         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
59157         Replace paragraph talking about LIBOBJS.
59158         Reported by Colin Watson <cjwatson@debian.org>.
59159
59160 2007-10-15  Bruno Haible  <bruno@clisp.org>
59161
59162         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
59163         <stdlib.h> before using NULL.
59164
59165 2007-10-15  Simon Josefsson  <simon@josefsson.org>
59166
59167         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
59168         Reported by Albert Chin <china@thewrittenword.com>.
59169
59170 2007-10-14  Bruno Haible  <bruno@clisp.org>
59171
59172         * modules/iconv_open-utf-tests: New file.
59173         * tests/test-iconv-utf.c: New file.
59174
59175         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
59176         * modules/iconv_open-utf: New file.
59177         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
59178         (iconv, iconv_close): New declarations.
59179         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
59180         be defined.
59181         (iconv_open): Add special handling of conversion between UTF-8 and
59182         UTF-{16,32}{BE,LE}.
59183         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
59184         * lib/iconv_close.c: New file.
59185         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
59186         gl_FUNC_ICONV_OPEN.
59187         (gl_FUNC_ICONV_OPEN): Use it.
59188         (gl_FUNC_ICONV_OPEN_UTF): New macro.
59189         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
59190         and REPLACE_ICONV_UTF.
59191         * modules/iconv_open (Depends-on): Add c-strcase.
59192         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
59193         ICONV_CONST.
59194         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
59195
59196 2007-10-13  Albert Chin  <china@thewrittenword.com>
59197             Bruno Haible  <bruno@clisp.org>
59198
59199         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
59200         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
59201
59202 2007-10-13  Bruno Haible  <bruno@clisp.org>
59203
59204         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
59205         defined, use the ISO C99 inline semantics.
59206         * lib/argp.h (ARGP_EI): Likewise.
59207
59208 2007-10-13  Bruno Haible  <bruno@clisp.org>
59209
59210         Handle 'inline' change in gcc 4.3.0.
59211         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
59212         argp_fmtstream_write, argp_fmtstream_set_lmargin,
59213         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
59214         argp_fmtstream_point): Disable 'extern' declaration if the function
59215         definition is going to be provided inline.
59216         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
59217         semantics, not the ISO C99 inline semantics.
59218         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
59219         'extern' declaration if the function definition is going to be provided
59220         inline.
59221         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
59222         the GNU C inline semantics, not the ISO C99 inline semantics. With
59223         GCC 4.2, avoid a warning.
59224
59225 2007-10-13  Bruno Haible  <bruno@clisp.org>
59226
59227         * lib/freading.h (freading): Enable the use of __freading for
59228         glibc >= 2.7.
59229         * lib/freading.c (freading): Likewise.
59230
59231 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
59232
59233         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
59234         "warning: C99 inline functions are not supported; using GNU89".
59235
59236 2007-10-12  Bruno Haible  <bruno@clisp.org>
59237
59238         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
59239         of 2.
59240         * tests/test-ceilf2.c: New file.
59241         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
59242
59243         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
59244         * modules/ceilf-tests: Update.
59245
59246 2007-10-12  Bruno Haible  <bruno@clisp.org>
59247
59248         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
59249         of 2.
59250         * tests/test-floorf2.c: New file.
59251         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
59252
59253         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
59254         * modules/floorf-tests: Update.
59255
59256 2007-10-12  Bruno Haible  <bruno@clisp.org>
59257
59258         * tests/test-trunc2.c: New file.
59259         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
59260
59261         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
59262         * modules/trunc-tests: Update.
59263
59264 2007-10-12  Bruno Haible  <bruno@clisp.org>
59265
59266         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
59267         of 2.
59268         * tests/test-truncf2.c: New file.
59269         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
59270
59271         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
59272         * modules/truncf-tests: Update.
59273
59274 2007-10-11  Eric Blake  <ebb9@byu.net>
59275
59276         Don't claim strerror is broken on Interix.
59277         * doc/functions/strerror.texi (strerror): Known broken systems are
59278         now Solaris 8, and not Interix.
59279         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
59280         Interix on cross-compile.
59281         Reported by Martin Koeppe in
59282         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
59283
59284 2007-10-11  Bruno Haible  <bruno@clisp.org>
59285
59286         * modules/i-ring-tests: New file.
59287         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
59288         instead of assert.
59289
59290 2007-10-11  Bruno Haible  <bruno@clisp.org>
59291
59292         * modules/filenamecat-tests: New file.
59293         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
59294         * lib/filenamecat.c: Remove test code.
59295
59296 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
59297
59298         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
59299
59300         * lib/strerror.c: Include <string.h> always, to test interface,
59301         and to remove the need for the dummy.
59302         Include intprops.h to compute width instead of doing it ourselves
59303         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
59304         (strerror): Define it to return NULL if there's no system strerror.
59305         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
59306         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
59307         ancient pre-strerror Unix systems well any more.  Saying "unknown
59308         system error" is enough.
59309         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
59310         simpler strerror.c implementation.
59311         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
59312         Simplify the tests to reflect the simpler strerror implementation.
59313         * modules/strerror (Depends-on): Add intprops.
59314
59315 2007-10-09  Eric Blake  <ebb9@byu.net>
59316
59317         Silence test-fpending.
59318         * modules/fpending-tests (Files): Add wrapper script.
59319         * tests/test-fpending.sh: New file.
59320
59321 2007-10-09  Bruno Haible  <bruno@clisp.org>
59322
59323         * MODULES.html.sh (func_module): Don't create a hyperlink for
59324         function names like 'printf_frexp'.
59325         (Misc): Add crc, memxor.
59326         (Characteristics of floating types): New section.
59327         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
59328         isnanf-nolibm, signbit, trunc, truncf, truncl.
59329         (Enhancements for ISO C 99 functions): New subsection Input/output.
59330         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
59331         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
59332         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
59333         (Compatibility checks for POSIX:2001 functions): Add clock-time.
59334         (Enhancements for POSIX:2001 functions): Add chdir-long.
59335         (File system functions): Add areadlink, chdir-safer, read-file.
59336         Remove cycle-check.
59337         (File system as inode set): New section.
59338         (Date and time): Add gethrxtime.
59339         (Multithreading): Add openmp.
59340         (Internationalization functions): Add localename.
59341         (Unicode string functions): Add unistr/u*-mbsnlen.
59342         (Support for maintaining and releasing projects): Add git-version-gen.
59343         (Lone files): Remove directories.
59344
59345 2007-10-08  Ben Pfaff  <blp@gnu.org>
59346
59347         * lib/xmalloca.h: Fix typo in comment.
59348
59349 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
59350
59351         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
59352         when avoiding problems with integer overflow.  Use a portable test
59353         instead.
59354
59355 2007-10-08  Simon Josefsson  <simon@josefsson.org>
59356
59357         * modules/dummy (License): Change to LGPLv2+.
59358         * modules/float (License): Likewise
59359         * modules/realloc (License): Likewise
59360         * modules/stdlib (License): Likewise
59361
59362 2007-10-07  Bruno Haible  <bruno@clisp.org>
59363
59364         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
59365         * floor.c (TWO_MANT_DIG): Likewise.
59366         * ceil.c (TWO_MANT_DIG): Likewise.
59367         Reported by Ben Pfaff.
59368
59369 2007-10-07  Bruno Haible  <bruno@clisp.org>
59370
59371         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
59372         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
59373         * lib/frexp.c (FUNC): Likewise.
59374         * lib/printf-frexp.h (printf_frexp): Likewise.
59375         * lib/printf-frexpl.h (printf_frexpl): Likewise.
59376         * lib/printf-frexp.c (FUNC): Likewise.
59377         Suggested by Jim Meyering.
59378
59379 2007-10-07  Jim Meyering  <meyering@redhat.com>
59380
59381         Make xnanosleep's integer overflow test more robust.
59382         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
59383         so that gcc-4.3.0 doesn't optimize away this test for overflow.
59384
59385 2007-10-07  Bruno Haible  <bruno@clisp.org>
59386
59387         * NEWS: Mention the license change.
59388
59389         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
59390         abbreviations in the modules files.
59391
59392         Change copyright notice from GPLv2+ to GPLv3+.
59393         * README: Change copyright notice.
59394         * MODULES.html.sh: Likewise.
59395         * build-aux/bootstrap.conf: Likewise.
59396         * build-aux/config.libpath: Likewise.
59397         * build-aux/csharpcomp.sh.in: Likewise.
59398         * build-aux/csharpexec.sh.in: Likewise.
59399         * build-aux/install-reloc: Likewise.
59400         * build-aux/javacomp.sh.in: Likewise.
59401         * build-aux/javaexec.sh.in: Likewise.
59402         * build-aux/ldd.sh.in: Likewise.
59403         * build-aux/reloc-ldflags: Likewise.
59404         * build-aux/relocatable.sh.in: Likewise.
59405         * build-aux/x-to-1.in: Likewise.
59406         * check-module: Likewise.
59407         * config/srclistvars.sh: Likewise.
59408         * gnulib-tool: Likewise.
59409         * lib/acl-internal.h: Likewise.
59410         * lib/acl.c: Likewise.
59411         * lib/acl.h: Likewise.
59412         * lib/acl_entries.c: Likewise.
59413         * lib/areadlink-with-size.c: Likewise.
59414         * lib/areadlink.c: Likewise.
59415         * lib/areadlink.h: Likewise.
59416         * lib/argmatch.c: Likewise.
59417         * lib/argmatch.h: Likewise.
59418         * lib/argp-ba.c: Likewise.
59419         * lib/argp-eexst.c: Likewise.
59420         * lib/argp-fmtstream.c: Likewise.
59421         * lib/argp-fmtstream.h: Likewise.
59422         * lib/argp-fs-xinl.c: Likewise.
59423         * lib/argp-help.c: Likewise.
59424         * lib/argp-namefrob.h: Likewise.
59425         * lib/argp-parse.c: Likewise.
59426         * lib/argp-pin.c: Likewise.
59427         * lib/argp-pv.c: Likewise.
59428         * lib/argp-pvh.c: Likewise.
59429         * lib/argp-xinl.c: Likewise.
59430         * lib/argp.h: Likewise.
59431         * lib/at-func.c: Likewise.
59432         * lib/atanl.c: Likewise.
59433         * lib/backupfile.c: Likewise.
59434         * lib/backupfile.h: Likewise.
59435         * lib/basename.c: Likewise.
59436         * lib/binary-io.h: Likewise.
59437         * lib/byteswap.in.h: Likewise.
59438         * lib/c-stack.c: Likewise.
59439         * lib/c-stack.h: Likewise.
59440         * lib/c-strcasestr.c: Likewise.
59441         * lib/c-strcasestr.h: Likewise.
59442         * lib/c-strstr.c: Likewise.
59443         * lib/c-strstr.h: Likewise.
59444         * lib/c-strtod.c: Likewise.
59445         * lib/calloc.c: Likewise.
59446         * lib/canon-host.c: Likewise.
59447         * lib/canon-host.h: Likewise.
59448         * lib/canonicalize-lgpl.c: Likewise.
59449         * lib/canonicalize.c: Likewise.
59450         * lib/canonicalize.h: Likewise.
59451         * lib/ceil.c: Likewise.
59452         * lib/ceilf.c: Likewise.
59453         * lib/ceill.c: Likewise.
59454         * lib/chdir-long.c: Likewise.
59455         * lib/chdir-long.h: Likewise.
59456         * lib/chdir-safer.c: Likewise.
59457         * lib/chdir-safer.h: Likewise.
59458         * lib/chown.c: Likewise.
59459         * lib/classpath.c: Likewise.
59460         * lib/classpath.h: Likewise.
59461         * lib/clean-temp.c: Likewise.
59462         * lib/clean-temp.h: Likewise.
59463         * lib/cloexec.c: Likewise.
59464         * lib/close-stream.c: Likewise.
59465         * lib/closein.c: Likewise.
59466         * lib/closein.h: Likewise.
59467         * lib/closeout.c: Likewise.
59468         * lib/closeout.h: Likewise.
59469         * lib/concat-filename.c: Likewise.
59470         * lib/copy-file.c: Likewise.
59471         * lib/copy-file.h: Likewise.
59472         * lib/count-one-bits.h: Likewise.
59473         * lib/crc.c: Likewise.
59474         * lib/crc.h: Likewise.
59475         * lib/creat-safer.c: Likewise.
59476         * lib/csharpcomp.c: Likewise.
59477         * lib/csharpcomp.h: Likewise.
59478         * lib/csharpexec.c: Likewise.
59479         * lib/csharpexec.h: Likewise.
59480         * lib/cycle-check.c: Likewise.
59481         * lib/cycle-check.h: Likewise.
59482         * lib/diacrit.c: Likewise.
59483         * lib/diacrit.h: Likewise.
59484         * lib/diffseq.h: Likewise.
59485         * lib/dirchownmod.c: Likewise.
59486         * lib/dirent.in.h: Likewise.
59487         * lib/dirfd.c: Likewise.
59488         * lib/dirfd.h: Likewise.
59489         * lib/dirname.c: Likewise.
59490         * lib/dirname.h: Likewise.
59491         * lib/dummy.c: Likewise.
59492         * lib/dup-safer.c: Likewise.
59493         * lib/dup2.c: Likewise.
59494         * lib/eealloc.h: Likewise.
59495         * lib/error.c: Likewise.
59496         * lib/error.h: Likewise.
59497         * lib/euidaccess.c: Likewise.
59498         * lib/exclude.c: Likewise.
59499         * lib/exclude.h: Likewise.
59500         * lib/execute.c: Likewise.
59501         * lib/execute.h: Likewise.
59502         * lib/exitfail.c: Likewise.
59503         * lib/exitfail.h: Likewise.
59504         * lib/expl.c: Likewise.
59505         * lib/fatal-signal.c: Likewise.
59506         * lib/fatal-signal.h: Likewise.
59507         * lib/fbufmode.c: Likewise.
59508         * lib/fbufmode.h: Likewise.
59509         * lib/fchdir.c: Likewise.
59510         * lib/fchmodat.c: Likewise.
59511         * lib/fchownat.c: Likewise.
59512         * lib/fcntl--.h: Likewise.
59513         * lib/fcntl-safer.h: Likewise.
59514         * lib/fcntl.in.h: Likewise.
59515         * lib/fd-safer.c: Likewise.
59516         * lib/fflush.c: Likewise.
59517         * lib/file-has-acl.c: Likewise.
59518         * lib/file-set.c: Likewise.
59519         * lib/file-type.c: Likewise.
59520         * lib/file-type.h: Likewise.
59521         * lib/fileblocks.c: Likewise.
59522         * lib/filemode.c: Likewise.
59523         * lib/filemode.h: Likewise.
59524         * lib/filename.h: Likewise.
59525         * lib/filenamecat.c: Likewise.
59526         * lib/filenamecat.h: Likewise.
59527         * lib/findprog.c: Likewise.
59528         * lib/findprog.h: Likewise.
59529         * lib/float.in.h: Likewise.
59530         * lib/floor.c: Likewise.
59531         * lib/floorf.c: Likewise.
59532         * lib/floorl.c: Likewise.
59533         * lib/fopen-safer.c: Likewise.
59534         * lib/fopen.c: Likewise.
59535         * lib/fpending.c: Likewise.
59536         * lib/fpending.h: Likewise.
59537         * lib/fprintf.c: Likewise.
59538         * lib/fprintftime.h: Likewise.
59539         * lib/fpucw.h: Likewise.
59540         * lib/fpurge.c: Likewise.
59541         * lib/fpurge.h: Likewise.
59542         * lib/freadable.c: Likewise.
59543         * lib/freadable.h: Likewise.
59544         * lib/freadahead.c: Likewise.
59545         * lib/freadahead.h: Likewise.
59546         * lib/freading.c: Likewise.
59547         * lib/freading.h: Likewise.
59548         * lib/free.c: Likewise.
59549         * lib/freopen.c: Likewise.
59550         * lib/frexp.c: Likewise.
59551         * lib/frexpl.c: Likewise.
59552         * lib/fseek.c: Likewise.
59553         * lib/fseterr.c: Likewise.
59554         * lib/fseterr.h: Likewise.
59555         * lib/fstatat.c: Likewise.
59556         * lib/fstrcmp.c: Likewise.
59557         * lib/fstrcmp.h: Likewise.
59558         * lib/fsusage.c: Likewise.
59559         * lib/fsusage.h: Likewise.
59560         * lib/ftell.c: Likewise.
59561         * lib/ftello.c: Likewise.
59562         * lib/fts-cycle.c: Likewise.
59563         * lib/fts.c: Likewise.
59564         * lib/fts_.h: Likewise.
59565         * lib/full-read.c: Likewise.
59566         * lib/full-read.h: Likewise.
59567         * lib/full-write.c: Likewise.
59568         * lib/full-write.h: Likewise.
59569         * lib/fwritable.c: Likewise.
59570         * lib/fwritable.h: Likewise.
59571         * lib/fwriteerror.c: Likewise.
59572         * lib/fwriteerror.h: Likewise.
59573         * lib/fwriting.c: Likewise.
59574         * lib/fwriting.h: Likewise.
59575         * lib/gcd.c: Likewise.
59576         * lib/gcd.h: Likewise.
59577         * lib/getcwd.c: Likewise.
59578         * lib/getdate.h: Likewise.
59579         * lib/getdate.y: Likewise.
59580         * lib/getdomainname.c: Likewise.
59581         * lib/getdomainname.h: Likewise.
59582         * lib/getgroups.c: Likewise.
59583         * lib/gethostname.c: Likewise.
59584         * lib/gethrxtime.c: Likewise.
59585         * lib/gethrxtime.h: Likewise.
59586         * lib/getloadavg.c: Likewise.
59587         * lib/getndelim2.c: Likewise.
59588         * lib/getndelim2.h: Likewise.
59589         * lib/getnline.c: Likewise.
59590         * lib/getnline.h: Likewise.
59591         * lib/getopt.c: Likewise.
59592         * lib/getopt.in.h: Likewise.
59593         * lib/getopt1.c: Likewise.
59594         * lib/getopt_int.h: Likewise.
59595         * lib/getpagesize.h: Likewise.
59596         * lib/getsubopt.c: Likewise.
59597         * lib/gettime.c: Likewise.
59598         * lib/getugroups.c: Likewise.
59599         * lib/getugroups.h: Likewise.
59600         * lib/getusershell.c: Likewise.
59601         * lib/gl_anyavltree_list1.h: Likewise.
59602         * lib/gl_anyavltree_list2.h: Likewise.
59603         * lib/gl_anyhash_list1.h: Likewise.
59604         * lib/gl_anyhash_list2.h: Likewise.
59605         * lib/gl_anylinked_list1.h: Likewise.
59606         * lib/gl_anylinked_list2.h: Likewise.
59607         * lib/gl_anyrbtree_list1.h: Likewise.
59608         * lib/gl_anyrbtree_list2.h: Likewise.
59609         * lib/gl_anytree_list1.h: Likewise.
59610         * lib/gl_anytree_list2.h: Likewise.
59611         * lib/gl_anytree_oset.h: Likewise.
59612         * lib/gl_anytreehash_list1.h: Likewise.
59613         * lib/gl_anytreehash_list2.h: Likewise.
59614         * lib/gl_array_list.c: Likewise.
59615         * lib/gl_array_list.h: Likewise.
59616         * lib/gl_array_oset.c: Likewise.
59617         * lib/gl_array_oset.h: Likewise.
59618         * lib/gl_avltree_list.c: Likewise.
59619         * lib/gl_avltree_list.h: Likewise.
59620         * lib/gl_avltree_oset.c: Likewise.
59621         * lib/gl_avltree_oset.h: Likewise.
59622         * lib/gl_avltreehash_list.c: Likewise.
59623         * lib/gl_avltreehash_list.h: Likewise.
59624         * lib/gl_carray_list.c: Likewise.
59625         * lib/gl_carray_list.h: Likewise.
59626         * lib/gl_linked_list.c: Likewise.
59627         * lib/gl_linked_list.h: Likewise.
59628         * lib/gl_linkedhash_list.c: Likewise.
59629         * lib/gl_linkedhash_list.h: Likewise.
59630         * lib/gl_list.c: Likewise.
59631         * lib/gl_list.h: Likewise.
59632         * lib/gl_oset.c: Likewise.
59633         * lib/gl_oset.h: Likewise.
59634         * lib/gl_rbtree_list.c: Likewise.
59635         * lib/gl_rbtree_list.h: Likewise.
59636         * lib/gl_rbtree_oset.c: Likewise.
59637         * lib/gl_rbtree_oset.h: Likewise.
59638         * lib/gl_rbtreehash_list.c: Likewise.
59639         * lib/gl_rbtreehash_list.h: Likewise.
59640         * lib/gl_sublist.c: Likewise.
59641         * lib/gl_sublist.h: Likewise.
59642         * lib/group-member.c: Likewise.
59643         * lib/group-member.h: Likewise.
59644         * lib/hard-locale.c: Likewise.
59645         * lib/hard-locale.h: Likewise.
59646         * lib/hash-pjw.c: Likewise.
59647         * lib/hash-pjw.h: Likewise.
59648         * lib/hash-triple.c: Likewise.
59649         * lib/hash.c: Likewise.
59650         * lib/hash.h: Likewise.
59651         * lib/human.c: Likewise.
59652         * lib/human.h: Likewise.
59653         * lib/i-ring.c: Likewise.
59654         * lib/i-ring.h: Likewise.
59655         * lib/idcache.c: Likewise.
59656         * lib/imaxabs.c: Likewise.
59657         * lib/imaxdiv.c: Likewise.
59658         * lib/inet_pton.c: Likewise.
59659         * lib/inet_pton.h: Likewise.
59660         * lib/intprops.h: Likewise.
59661         * lib/inttostr.c: Likewise.
59662         * lib/inttostr.h: Likewise.
59663         * lib/inttypes.in.h: Likewise.
59664         * lib/isapipe.c: Likewise.
59665         * lib/isdir.c: Likewise.
59666         * lib/isnan.c: Likewise.
59667         * lib/isnan.h: Likewise.
59668         * lib/isnanf.c: Likewise.
59669         * lib/isnanf.h: Likewise.
59670         * lib/isnanl-nolibm.h: Likewise.
59671         * lib/isnanl.c: Likewise.
59672         * lib/isnanl.h: Likewise.
59673         * lib/javacomp.c: Likewise.
59674         * lib/javacomp.h: Likewise.
59675         * lib/javaexec.c: Likewise.
59676         * lib/javaexec.h: Likewise.
59677         * lib/javaversion.c: Likewise.
59678         * lib/javaversion.h: Likewise.
59679         * lib/javaversion.java: Likewise.
59680         * lib/lbrkprop.h: Likewise.
59681         * lib/lchmod.h: Likewise.
59682         * lib/lchown.c: Likewise.
59683         * lib/ldexpl.c: Likewise.
59684         * lib/linebreak.c: Likewise.
59685         * lib/linebreak.h: Likewise.
59686         * lib/linebuffer.c: Likewise.
59687         * lib/linebuffer.h: Likewise.
59688         * lib/locale.in.h: Likewise.
59689         * lib/logl.c: Likewise.
59690         * lib/long-options.c: Likewise.
59691         * lib/long-options.h: Likewise.
59692         * lib/lstat.c: Likewise.
59693         * lib/lstat.h: Likewise.
59694         * lib/math.in.h: Likewise.
59695         * lib/mbchar.c: Likewise.
59696         * lib/mbchar.h: Likewise.
59697         * lib/mbfile.h: Likewise.
59698         * lib/mbiter.h: Likewise.
59699         * lib/mbscasecmp.c: Likewise.
59700         * lib/mbscasestr.c: Likewise.
59701         * lib/mbschr.c: Likewise.
59702         * lib/mbscspn.c: Likewise.
59703         * lib/mbslen.c: Likewise.
59704         * lib/mbsncasecmp.c: Likewise.
59705         * lib/mbsnlen.c: Likewise.
59706         * lib/mbspbrk.c: Likewise.
59707         * lib/mbspcasecmp.c: Likewise.
59708         * lib/mbsrchr.c: Likewise.
59709         * lib/mbssep.c: Likewise.
59710         * lib/mbsspn.c: Likewise.
59711         * lib/mbsstr.c: Likewise.
59712         * lib/mbstok_r.c: Likewise.
59713         * lib/mbswidth.c: Likewise.
59714         * lib/mbswidth.h: Likewise.
59715         * lib/mbuiter.h: Likewise.
59716         * lib/memcasecmp.c: Likewise.
59717         * lib/memcasecmp.h: Likewise.
59718         * lib/memchr.c: Likewise.
59719         * lib/memcmp.c: Likewise.
59720         * lib/memcoll.c: Likewise.
59721         * lib/memcoll.h: Likewise.
59722         * lib/memcpy.c: Likewise.
59723         * lib/memrchr.c: Likewise.
59724         * lib/mkancesdirs.c: Likewise.
59725         * lib/mkdir-p.c: Likewise.
59726         * lib/mkdir-p.h: Likewise.
59727         * lib/mkdir.c: Likewise.
59728         * lib/mkdirat.c: Likewise.
59729         * lib/mkdtemp.c: Likewise.
59730         * lib/mkstemp-safer.c: Likewise.
59731         * lib/mkstemp.c: Likewise.
59732         * lib/modechange.c: Likewise.
59733         * lib/modechange.h: Likewise.
59734         * lib/mountlist.c: Likewise.
59735         * lib/mountlist.h: Likewise.
59736         * lib/mpsort.c: Likewise.
59737         * lib/nanosleep.c: Likewise.
59738         * lib/obstack.c: Likewise.
59739         * lib/obstack.h: Likewise.
59740         * lib/open-safer.c: Likewise.
59741         * lib/open.c: Likewise.
59742         * lib/openat-die.c: Likewise.
59743         * lib/openat-priv.h: Likewise.
59744         * lib/openat-proc.c: Likewise.
59745         * lib/openat.c: Likewise.
59746         * lib/openat.h: Likewise.
59747         * lib/pagealign_alloc.c: Likewise.
59748         * lib/pagealign_alloc.h: Likewise.
59749         * lib/physmem.c: Likewise.
59750         * lib/physmem.h: Likewise.
59751         * lib/pipe-safer.c: Likewise.
59752         * lib/pipe.c: Likewise.
59753         * lib/pipe.h: Likewise.
59754         * lib/posixtm.c: Likewise.
59755         * lib/posixtm.h: Likewise.
59756         * lib/posixver.c: Likewise.
59757         * lib/printf-frexp.c: Likewise.
59758         * lib/printf-frexp.h: Likewise.
59759         * lib/printf-frexpl.c: Likewise.
59760         * lib/printf-frexpl.h: Likewise.
59761         * lib/printf.c: Likewise.
59762         * lib/progname.c: Likewise.
59763         * lib/progname.h: Likewise.
59764         * lib/progreloc.c: Likewise.
59765         * lib/putenv.c: Likewise.
59766         * lib/quote.c: Likewise.
59767         * lib/quote.h: Likewise.
59768         * lib/quotearg.c: Likewise.
59769         * lib/quotearg.h: Likewise.
59770         * lib/raise.c: Likewise.
59771         * lib/readline.c: Likewise.
59772         * lib/readline.h: Likewise.
59773         * lib/readlink.c: Likewise.
59774         * lib/readtokens.c: Likewise.
59775         * lib/readtokens.h: Likewise.
59776         * lib/readtokens0.c: Likewise.
59777         * lib/readtokens0.h: Likewise.
59778         * lib/readutmp.c: Likewise.
59779         * lib/readutmp.h: Likewise.
59780         * lib/realloc.c: Likewise.
59781         * lib/relocwrapper.c: Likewise.
59782         * lib/rename-dest-slash.c: Likewise.
59783         * lib/rename.c: Likewise.
59784         * lib/rmdir.c: Likewise.
59785         * lib/rpmatch.c: Likewise.
59786         * lib/safe-read.c: Likewise.
59787         * lib/safe-read.h: Likewise.
59788         * lib/safe-write.c: Likewise.
59789         * lib/safe-write.h: Likewise.
59790         * lib/same-inode.h: Likewise.
59791         * lib/same.c: Likewise.
59792         * lib/same.h: Likewise.
59793         * lib/save-cwd.c: Likewise.
59794         * lib/save-cwd.h: Likewise.
59795         * lib/savedir.c: Likewise.
59796         * lib/savedir.h: Likewise.
59797         * lib/savewd.c: Likewise.
59798         * lib/savewd.h: Likewise.
59799         * lib/search.in.h: Likewise.
59800         * lib/setenv.c: Likewise.
59801         * lib/setenv.h: Likewise.
59802         * lib/settime.c: Likewise.
59803         * lib/sh-quote.c: Likewise.
59804         * lib/sh-quote.h: Likewise.
59805         * lib/sig2str.c: Likewise.
59806         * lib/sig2str.h: Likewise.
59807         * lib/signal.in.h: Likewise.
59808         * lib/signbitd.c: Likewise.
59809         * lib/signbitf.c: Likewise.
59810         * lib/signbitl.c: Likewise.
59811         * lib/sigprocmask.c: Likewise.
59812         * lib/sincosl.c: Likewise.
59813         * lib/sleep.c: Likewise.
59814         * lib/sprintf.c: Likewise.
59815         * lib/sqrtl.c: Likewise.
59816         * lib/stat-time.h: Likewise.
59817         * lib/stdio--.h: Likewise.
59818         * lib/stdio-safer.h: Likewise.
59819         * lib/stdlib--.h: Likewise.
59820         * lib/stdlib-safer.h: Likewise.
59821         * lib/stdlib.in.h: Likewise.
59822         * lib/stpcpy.c: Likewise.
59823         * lib/stpncpy.c: Likewise.
59824         * lib/strchrnul.c: Likewise.
59825         * lib/strcspn.c: Likewise.
59826         * lib/strerror.c: Likewise.
59827         * lib/strftime.c: Likewise.
59828         * lib/strftime.h: Likewise.
59829         * lib/striconveh.c: Likewise.
59830         * lib/striconveh.h: Likewise.
59831         * lib/striconveha.c: Likewise.
59832         * lib/striconveha.h: Likewise.
59833         * lib/stripslash.c: Likewise.
59834         * lib/strnlen1.c: Likewise.
59835         * lib/strnlen1.h: Likewise.
59836         * lib/strtod.c: Likewise.
59837         * lib/strtoimax.c: Likewise.
59838         * lib/strtok_r.c: Likewise.
59839         * lib/strtol.c: Likewise.
59840         * lib/strtoll.c: Likewise.
59841         * lib/strtoul.c: Likewise.
59842         * lib/strtoull.c: Likewise.
59843         * lib/sysexits.in.h: Likewise.
59844         * lib/tempname.c: Likewise.
59845         * lib/tempname.h: Likewise.
59846         * lib/timespec.h: Likewise.
59847         * lib/tls.c: Likewise.
59848         * lib/tls.h: Likewise.
59849         * lib/tmpdir.c: Likewise.
59850         * lib/tmpdir.h: Likewise.
59851         * lib/tmpfile-safer.c: Likewise.
59852         * lib/tmpfile.c: Likewise.
59853         * lib/trigl.c: Likewise.
59854         * lib/trigl.h: Likewise.
59855         * lib/trim.c: Likewise.
59856         * lib/trim.h: Likewise.
59857         * lib/trunc.c: Likewise.
59858         * lib/truncf.c: Likewise.
59859         * lib/truncl.c: Likewise.
59860         * lib/tsearch.c: Likewise.
59861         * lib/unicodeio.c: Likewise.
59862         * lib/unicodeio.h: Likewise.
59863         * lib/unistd--.h: Likewise.
59864         * lib/unistd-safer.h: Likewise.
59865         * lib/unistdio/ulc-fprintf.c: Likewise.
59866         * lib/unistdio/ulc-vfprintf.c: Likewise.
59867         * lib/unlinkdir.c: Likewise.
59868         * lib/unlinkdir.h: Likewise.
59869         * lib/unlocked-io.h: Likewise.
59870         * lib/unsetenv.c: Likewise.
59871         * lib/userspec.c: Likewise.
59872         * lib/utime.c: Likewise.
59873         * lib/utimecmp.c: Likewise.
59874         * lib/utimecmp.h: Likewise.
59875         * lib/utimens.c: Likewise.
59876         * lib/verify.h: Likewise.
59877         * lib/verror.c: Likewise.
59878         * lib/verror.h: Likewise.
59879         * lib/version-etc-fsf.c: Likewise.
59880         * lib/version-etc.c: Likewise.
59881         * lib/version-etc.h: Likewise.
59882         * lib/vfprintf.c: Likewise.
59883         * lib/vprintf.c: Likewise.
59884         * lib/vsprintf.c: Likewise.
59885         * lib/w32spawn.h: Likewise.
59886         * lib/wait-process.c: Likewise.
59887         * lib/wait-process.h: Likewise.
59888         * lib/wcwidth.c: Likewise.
59889         * lib/write-any-file.c: Likewise.
59890         * lib/xalloc-die.c: Likewise.
59891         * lib/xalloc.h: Likewise.
59892         * lib/xasprintf.c: Likewise.
59893         * lib/xgetcwd.c: Likewise.
59894         * lib/xgetcwd.h: Likewise.
59895         * lib/xgetdomainname.c: Likewise.
59896         * lib/xgetdomainname.h: Likewise.
59897         * lib/xgethostname.c: Likewise.
59898         * lib/xmalloc.c: Likewise.
59899         * lib/xmalloca.c: Likewise.
59900         * lib/xmalloca.h: Likewise.
59901         * lib/xmemcoll.c: Likewise.
59902         * lib/xnanosleep.c: Likewise.
59903         * lib/xreadlink.c: Likewise.
59904         * lib/xreadlink.h: Likewise.
59905         * lib/xsetenv.c: Likewise.
59906         * lib/xsetenv.h: Likewise.
59907         * lib/xstriconv.c: Likewise.
59908         * lib/xstriconv.h: Likewise.
59909         * lib/xstrndup.c: Likewise.
59910         * lib/xstrndup.h: Likewise.
59911         * lib/xstrtod.c: Likewise.
59912         * lib/xstrtod.h: Likewise.
59913         * lib/xstrtol-error.c: Likewise.
59914         * lib/xstrtol.c: Likewise.
59915         * lib/xstrtol.h: Likewise.
59916         * lib/xtime.h: Likewise.
59917         * lib/xvasprintf.c: Likewise.
59918         * lib/xvasprintf.h: Likewise.
59919         * lib/yesno.c: Likewise.
59920         * lib/yesno.h: Likewise.
59921         * posix-modules: Likewise.
59922         * tests/test-alloca-opt.c: Likewise.
59923         * tests/test-arcfour.c: Likewise.
59924         * tests/test-arctwo.c: Likewise.
59925         * tests/test-argmatch.c: Likewise.
59926         * tests/test-argp-2.sh: Likewise.
59927         * tests/test-argp.c: Likewise.
59928         * tests/test-arpa_inet.c: Likewise.
59929         * tests/test-array_list.c: Likewise.
59930         * tests/test-array_oset.c: Likewise.
59931         * tests/test-atexit.c: Likewise.
59932         * tests/test-avltree_list.c: Likewise.
59933         * tests/test-avltree_oset.c: Likewise.
59934         * tests/test-avltreehash_list.c: Likewise.
59935         * tests/test-base64.c: Likewise.
59936         * tests/test-binary-io.c: Likewise.
59937         * tests/test-byteswap.c: Likewise.
59938         * tests/test-c-ctype.c: Likewise.
59939         * tests/test-c-strcasecmp.c: Likewise.
59940         * tests/test-c-strcasestr.c: Likewise.
59941         * tests/test-c-strncasecmp.c: Likewise.
59942         * tests/test-c-strstr.c: Likewise.
59943         * tests/test-canonicalize-lgpl.c: Likewise.
59944         * tests/test-canonicalize.c: Likewise.
59945         * tests/test-carray_list.c: Likewise.
59946         * tests/test-ceilf.c: Likewise.
59947         * tests/test-ceill.c: Likewise.
59948         * tests/test-count-one-bits.c: Likewise.
59949         * tests/test-crc.c: Likewise.
59950         * tests/test-dirname.c: Likewise.
59951         * tests/test-fbufmode.c: Likewise.
59952         * tests/test-fcntl.c: Likewise.
59953         * tests/test-fflush.c: Likewise.
59954         * tests/test-floorf.c: Likewise.
59955         * tests/test-floorl.c: Likewise.
59956         * tests/test-fopen.c: Likewise.
59957         * tests/test-fprintf-posix.c: Likewise.
59958         * tests/test-fprintf-posix.h: Likewise.
59959         * tests/test-fpurge.c: Likewise.
59960         * tests/test-freadable.c: Likewise.
59961         * tests/test-freadahead.c: Likewise.
59962         * tests/test-freading.c: Likewise.
59963         * tests/test-freopen.c: Likewise.
59964         * tests/test-frexp.c: Likewise.
59965         * tests/test-frexpl.c: Likewise.
59966         * tests/test-fseek.c: Likewise.
59967         * tests/test-fseeko.c: Likewise.
59968         * tests/test-fseterr.c: Likewise.
59969         * tests/test-fstrcmp.c: Likewise.
59970         * tests/test-ftell.c: Likewise.
59971         * tests/test-ftello.c: Likewise.
59972         * tests/test-fwritable.c: Likewise.
59973         * tests/test-fwriting.c: Likewise.
59974         * tests/test-getaddrinfo.c: Likewise.
59975         * tests/test-getpass.c: Likewise.
59976         * tests/test-gettimeofday.c: Likewise.
59977         * tests/test-hmac-md5.c: Likewise.
59978         * tests/test-hmac-sha1.c: Likewise.
59979         * tests/test-iconv.c: Likewise.
59980         * tests/test-iconvme.c: Likewise.
59981         * tests/test-inttypes.c: Likewise.
59982         * tests/test-isnan.c: Likewise.
59983         * tests/test-isnanf.c: Likewise.
59984         * tests/test-isnanl-nolibm.c: Likewise.
59985         * tests/test-isnanl.c: Likewise.
59986         * tests/test-isnanl.h: Likewise.
59987         * tests/test-ldexpl.c: Likewise.
59988         * tests/test-linked_list.c: Likewise.
59989         * tests/test-linkedhash_list.c: Likewise.
59990         * tests/test-locale.c: Likewise.
59991         * tests/test-localename.c: Likewise.
59992         * tests/test-lock.c: Likewise.
59993         * tests/test-lseek.c: Likewise.
59994         * tests/test-malloca.c: Likewise.
59995         * tests/test-math.c: Likewise.
59996         * tests/test-mbscasecmp.c: Likewise.
59997         * tests/test-mbscasestr1.c: Likewise.
59998         * tests/test-mbscasestr2.c: Likewise.
59999         * tests/test-mbscasestr3.c: Likewise.
60000         * tests/test-mbscasestr4.c: Likewise.
60001         * tests/test-mbschr.c: Likewise.
60002         * tests/test-mbscspn.c: Likewise.
60003         * tests/test-mbsncasecmp.c: Likewise.
60004         * tests/test-mbspbrk.c: Likewise.
60005         * tests/test-mbspcasecmp.c: Likewise.
60006         * tests/test-mbsrchr.c: Likewise.
60007         * tests/test-mbsspn.c: Likewise.
60008         * tests/test-mbsstr1.c: Likewise.
60009         * tests/test-mbsstr2.c: Likewise.
60010         * tests/test-mbsstr3.c: Likewise.
60011         * tests/test-md5.c: Likewise.
60012         * tests/test-memmem.c: Likewise.
60013         * tests/test-netinet_in.c: Likewise.
60014         * tests/test-open.c: Likewise.
60015         * tests/test-printf-frexp.c: Likewise.
60016         * tests/test-printf-frexpl.c: Likewise.
60017         * tests/test-printf-posix.c: Likewise.
60018         * tests/test-printf-posix.h: Likewise.
60019         * tests/test-rbtree_list.c: Likewise.
60020         * tests/test-rbtree_oset.c: Likewise.
60021         * tests/test-rbtreehash_list.c: Likewise.
60022         * tests/test-read-file.c: Likewise.
60023         * tests/test-rijndael.c: Likewise.
60024         * tests/test-search.c: Likewise.
60025         * tests/test-signbit.c: Likewise.
60026         * tests/test-sleep.c: Likewise.
60027         * tests/test-snprintf-posix.c: Likewise.
60028         * tests/test-snprintf-posix.h: Likewise.
60029         * tests/test-snprintf.c: Likewise.
60030         * tests/test-sprintf-posix.c: Likewise.
60031         * tests/test-sprintf-posix.h: Likewise.
60032         * tests/test-stat-time.c: Likewise.
60033         * tests/test-stdbool.c: Likewise.
60034         * tests/test-stdint.c: Likewise.
60035         * tests/test-stdio.c: Likewise.
60036         * tests/test-stdlib.c: Likewise.
60037         * tests/test-stpncpy.c: Likewise.
60038         * tests/test-strcasestr.c: Likewise.
60039         * tests/test-striconv.c: Likewise.
60040         * tests/test-striconveh.c: Likewise.
60041         * tests/test-striconveha.c: Likewise.
60042         * tests/test-string.c: Likewise.
60043         * tests/test-sys_select.c: Likewise.
60044         * tests/test-sys_socket.c: Likewise.
60045         * tests/test-sys_stat.c: Likewise.
60046         * tests/test-sys_time.c: Likewise.
60047         * tests/test-sysexits.c: Likewise.
60048         * tests/test-time.c: Likewise.
60049         * tests/test-tls.c: Likewise.
60050         * tests/test-trunc.c: Likewise.
60051         * tests/test-truncf.c: Likewise.
60052         * tests/test-truncl.c: Likewise.
60053         * tests/test-unistd.c: Likewise.
60054         * tests/test-vasnprintf-posix.c: Likewise.
60055         * tests/test-vasnprintf-posix2.c: Likewise.
60056         * tests/test-vasnprintf.c: Likewise.
60057         * tests/test-vasprintf-posix.c: Likewise.
60058         * tests/test-vasprintf.c: Likewise.
60059         * tests/test-verify.c: Likewise.
60060         * tests/test-vfprintf-posix.c: Likewise.
60061         * tests/test-vprintf-posix.c: Likewise.
60062         * tests/test-vsnprintf-posix.c: Likewise.
60063         * tests/test-vsnprintf.c: Likewise.
60064         * tests/test-vsprintf-posix.c: Likewise.
60065         * tests/test-wchar.c: Likewise.
60066         * tests/test-wctype.c: Likewise.
60067         * tests/test-wcwidth.c: Likewise.
60068         * tests/test-xstrtol.c: Likewise.
60069         * tests/test-xvasprintf.c: Likewise.
60070         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
60071         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
60072         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
60073         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
60074         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
60075         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
60076         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
60077         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
60078         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
60079         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
60080         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
60081         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
60082         * tests/uniname/test-uninames.c: Likewise.
60083         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
60084         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
60085         * tests/unistdio/test-u16-printf1.h: Likewise.
60086         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
60087         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
60088         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
60089         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
60090         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
60091         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
60092         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
60093         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
60094         * tests/unistdio/test-u32-printf1.h: Likewise.
60095         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
60096         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
60097         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
60098         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
60099         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
60100         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
60101         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
60102         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
60103         * tests/unistdio/test-u8-printf1.h: Likewise.
60104         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
60105         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
60106         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
60107         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
60108         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
60109         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
60110         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
60111         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
60112         * tests/unistdio/test-ulc-printf1.h: Likewise.
60113         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
60114         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
60115         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
60116         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
60117         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
60118         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
60119         * tests/uniwidth/test-u16-strwidth.c: Likewise.
60120         * tests/uniwidth/test-u16-width.c: Likewise.
60121         * tests/uniwidth/test-u32-strwidth.c: Likewise.
60122         * tests/uniwidth/test-u32-width.c: Likewise.
60123         * tests/uniwidth/test-u8-strwidth.c: Likewise.
60124         * tests/uniwidth/test-u8-width.c: Likewise.
60125         * tests/uniwidth/test-uc_width.c: Likewise.
60126         * config/srclist-update: Likewise.
60127         (fixlicense): Update to GPLv3+.
60128
60129         Change copyright notice from LGPLv2.1+ to LGPLv3+.
60130         * tests/test-tsearch.c: Change copyright notice.
60131
60132         Change copyright notice from LGPLv2.0+ to LGPLv3+.
60133         * lib/c-strcaseeq.h: Change copyright notice.
60134         * lib/streq.h: Likewise.
60135         * lib/uniconv.h: Likewise.
60136         * lib/uniconv/u-conv-from-enc.h: Likewise.
60137         * lib/uniconv/u-conv-to-enc.h: Likewise.
60138         * lib/uniconv/u-strconv-from-enc.h: Likewise.
60139         * lib/uniconv/u-strconv-to-enc.h: Likewise.
60140         * lib/uniconv/u16-conv-from-enc.c: Likewise.
60141         * lib/uniconv/u16-conv-to-enc.c: Likewise.
60142         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
60143         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
60144         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
60145         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
60146         * lib/uniconv/u32-conv-from-enc.c: Likewise.
60147         * lib/uniconv/u32-conv-to-enc.c: Likewise.
60148         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
60149         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
60150         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
60151         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
60152         * lib/uniconv/u8-conv-from-enc.c: Likewise.
60153         * lib/uniconv/u8-conv-to-enc.c: Likewise.
60154         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
60155         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
60156         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
60157         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
60158         * lib/uniname.h: Likewise.
60159         * lib/uniname/uniname.c: Likewise.
60160         * lib/unistdio.h: Likewise.
60161         * lib/unistdio/u-asnprintf.h: Likewise.
60162         * lib/unistdio/u-asprintf.h: Likewise.
60163         * lib/unistdio/u-printf-args.c: Likewise.
60164         * lib/unistdio/u-printf-args.h: Likewise.
60165         * lib/unistdio/u-printf-parse.h: Likewise.
60166         * lib/unistdio/u-snprintf.h: Likewise.
60167         * lib/unistdio/u-sprintf.h: Likewise.
60168         * lib/unistdio/u-vasprintf.h: Likewise.
60169         * lib/unistdio/u-vsnprintf.h: Likewise.
60170         * lib/unistdio/u-vsprintf.h: Likewise.
60171         * lib/unistdio/u16-asnprintf.c: Likewise.
60172         * lib/unistdio/u16-asprintf.c: Likewise.
60173         * lib/unistdio/u16-printf-parse.c: Likewise.
60174         * lib/unistdio/u16-snprintf.c: Likewise.
60175         * lib/unistdio/u16-sprintf.c: Likewise.
60176         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
60177         * lib/unistdio/u16-u16-asprintf.c: Likewise.
60178         * lib/unistdio/u16-u16-snprintf.c: Likewise.
60179         * lib/unistdio/u16-u16-sprintf.c: Likewise.
60180         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
60181         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
60182         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
60183         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
60184         * lib/unistdio/u16-vasnprintf.c: Likewise.
60185         * lib/unistdio/u16-vasprintf.c: Likewise.
60186         * lib/unistdio/u16-vsnprintf.c: Likewise.
60187         * lib/unistdio/u16-vsprintf.c: Likewise.
60188         * lib/unistdio/u32-asnprintf.c: Likewise.
60189         * lib/unistdio/u32-asprintf.c: Likewise.
60190         * lib/unistdio/u32-printf-parse.c: Likewise.
60191         * lib/unistdio/u32-snprintf.c: Likewise.
60192         * lib/unistdio/u32-sprintf.c: Likewise.
60193         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
60194         * lib/unistdio/u32-u32-asprintf.c: Likewise.
60195         * lib/unistdio/u32-u32-snprintf.c: Likewise.
60196         * lib/unistdio/u32-u32-sprintf.c: Likewise.
60197         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
60198         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
60199         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
60200         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
60201         * lib/unistdio/u32-vasnprintf.c: Likewise.
60202         * lib/unistdio/u32-vasprintf.c: Likewise.
60203         * lib/unistdio/u32-vsnprintf.c: Likewise.
60204         * lib/unistdio/u32-vsprintf.c: Likewise.
60205         * lib/unistdio/u8-asnprintf.c: Likewise.
60206         * lib/unistdio/u8-asprintf.c: Likewise.
60207         * lib/unistdio/u8-printf-parse.c: Likewise.
60208         * lib/unistdio/u8-snprintf.c: Likewise.
60209         * lib/unistdio/u8-sprintf.c: Likewise.
60210         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
60211         * lib/unistdio/u8-u8-asprintf.c: Likewise.
60212         * lib/unistdio/u8-u8-snprintf.c: Likewise.
60213         * lib/unistdio/u8-u8-sprintf.c: Likewise.
60214         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
60215         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
60216         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
60217         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
60218         * lib/unistdio/u8-vasnprintf.c: Likewise.
60219         * lib/unistdio/u8-vasprintf.c: Likewise.
60220         * lib/unistdio/u8-vsnprintf.c: Likewise.
60221         * lib/unistdio/u8-vsprintf.c: Likewise.
60222         * lib/unistdio/ulc-asnprintf.c: Likewise.
60223         * lib/unistdio/ulc-asprintf.c: Likewise.
60224         * lib/unistdio/ulc-printf-parse.c: Likewise.
60225         * lib/unistdio/ulc-snprintf.c: Likewise.
60226         * lib/unistdio/ulc-sprintf.c: Likewise.
60227         * lib/unistdio/ulc-vasnprintf.c: Likewise.
60228         * lib/unistdio/ulc-vasprintf.c: Likewise.
60229         * lib/unistdio/ulc-vsnprintf.c: Likewise.
60230         * lib/unistdio/ulc-vsprintf.c: Likewise.
60231         * lib/unistr.h: Likewise.
60232         * lib/unistr/u-cpy-alloc.h: Likewise.
60233         * lib/unistr/u-cpy.h: Likewise.
60234         * lib/unistr/u-endswith.h: Likewise.
60235         * lib/unistr/u-move.h: Likewise.
60236         * lib/unistr/u-set.h: Likewise.
60237         * lib/unistr/u-startswith.h: Likewise.
60238         * lib/unistr/u-stpcpy.h: Likewise.
60239         * lib/unistr/u-stpncpy.h: Likewise.
60240         * lib/unistr/u-strcat.h: Likewise.
60241         * lib/unistr/u-strcpy.h: Likewise.
60242         * lib/unistr/u-strcspn.h: Likewise.
60243         * lib/unistr/u-strdup.h: Likewise.
60244         * lib/unistr/u-strlen.h: Likewise.
60245         * lib/unistr/u-strncat.h: Likewise.
60246         * lib/unistr/u-strncpy.h: Likewise.
60247         * lib/unistr/u-strnlen.h: Likewise.
60248         * lib/unistr/u-strpbrk.h: Likewise.
60249         * lib/unistr/u-strspn.h: Likewise.
60250         * lib/unistr/u-strstr.h: Likewise.
60251         * lib/unistr/u-strtok.h: Likewise.
60252         * lib/unistr/u16-check.c: Likewise.
60253         * lib/unistr/u16-chr.c: Likewise.
60254         * lib/unistr/u16-cmp.c: Likewise.
60255         * lib/unistr/u16-cpy-alloc.c: Likewise.
60256         * lib/unistr/u16-cpy.c: Likewise.
60257         * lib/unistr/u16-endswith.c: Likewise.
60258         * lib/unistr/u16-mblen.c: Likewise.
60259         * lib/unistr/u16-mbsnlen.c: Likewise.
60260         * lib/unistr/u16-mbtouc-aux.c: Likewise.
60261         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
60262         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
60263         * lib/unistr/u16-mbtouc.c: Likewise.
60264         * lib/unistr/u16-mbtoucr.c: Likewise.
60265         * lib/unistr/u16-move.c: Likewise.
60266         * lib/unistr/u16-next.c: Likewise.
60267         * lib/unistr/u16-prev.c: Likewise.
60268         * lib/unistr/u16-set.c: Likewise.
60269         * lib/unistr/u16-startswith.c: Likewise.
60270         * lib/unistr/u16-stpcpy.c: Likewise.
60271         * lib/unistr/u16-stpncpy.c: Likewise.
60272         * lib/unistr/u16-strcat.c: Likewise.
60273         * lib/unistr/u16-strchr.c: Likewise.
60274         * lib/unistr/u16-strcmp.c: Likewise.
60275         * lib/unistr/u16-strcpy.c: Likewise.
60276         * lib/unistr/u16-strcspn.c: Likewise.
60277         * lib/unistr/u16-strdup.c: Likewise.
60278         * lib/unistr/u16-strlen.c: Likewise.
60279         * lib/unistr/u16-strmblen.c: Likewise.
60280         * lib/unistr/u16-strmbtouc.c: Likewise.
60281         * lib/unistr/u16-strncat.c: Likewise.
60282         * lib/unistr/u16-strncmp.c: Likewise.
60283         * lib/unistr/u16-strncpy.c: Likewise.
60284         * lib/unistr/u16-strnlen.c: Likewise.
60285         * lib/unistr/u16-strpbrk.c: Likewise.
60286         * lib/unistr/u16-strrchr.c: Likewise.
60287         * lib/unistr/u16-strspn.c: Likewise.
60288         * lib/unistr/u16-strstr.c: Likewise.
60289         * lib/unistr/u16-strtok.c: Likewise.
60290         * lib/unistr/u16-to-u32.c: Likewise.
60291         * lib/unistr/u16-to-u8.c: Likewise.
60292         * lib/unistr/u16-uctomb-aux.c: Likewise.
60293         * lib/unistr/u16-uctomb.c: Likewise.
60294         * lib/unistr/u32-check.c: Likewise.
60295         * lib/unistr/u32-chr.c: Likewise.
60296         * lib/unistr/u32-cmp.c: Likewise.
60297         * lib/unistr/u32-cpy-alloc.c: Likewise.
60298         * lib/unistr/u32-cpy.c: Likewise.
60299         * lib/unistr/u32-endswith.c: Likewise.
60300         * lib/unistr/u32-mblen.c: Likewise.
60301         * lib/unistr/u32-mbsnlen.c: Likewise.
60302         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
60303         * lib/unistr/u32-mbtouc.c: Likewise.
60304         * lib/unistr/u32-mbtoucr.c: Likewise.
60305         * lib/unistr/u32-move.c: Likewise.
60306         * lib/unistr/u32-next.c: Likewise.
60307         * lib/unistr/u32-prev.c: Likewise.
60308         * lib/unistr/u32-set.c: Likewise.
60309         * lib/unistr/u32-startswith.c: Likewise.
60310         * lib/unistr/u32-stpcpy.c: Likewise.
60311         * lib/unistr/u32-stpncpy.c: Likewise.
60312         * lib/unistr/u32-strcat.c: Likewise.
60313         * lib/unistr/u32-strchr.c: Likewise.
60314         * lib/unistr/u32-strcmp.c: Likewise.
60315         * lib/unistr/u32-strcpy.c: Likewise.
60316         * lib/unistr/u32-strcspn.c: Likewise.
60317         * lib/unistr/u32-strdup.c: Likewise.
60318         * lib/unistr/u32-strlen.c: Likewise.
60319         * lib/unistr/u32-strmblen.c: Likewise.
60320         * lib/unistr/u32-strmbtouc.c: Likewise.
60321         * lib/unistr/u32-strncat.c: Likewise.
60322         * lib/unistr/u32-strncmp.c: Likewise.
60323         * lib/unistr/u32-strncpy.c: Likewise.
60324         * lib/unistr/u32-strnlen.c: Likewise.
60325         * lib/unistr/u32-strpbrk.c: Likewise.
60326         * lib/unistr/u32-strrchr.c: Likewise.
60327         * lib/unistr/u32-strspn.c: Likewise.
60328         * lib/unistr/u32-strstr.c: Likewise.
60329         * lib/unistr/u32-strtok.c: Likewise.
60330         * lib/unistr/u32-to-u16.c: Likewise.
60331         * lib/unistr/u32-to-u8.c: Likewise.
60332         * lib/unistr/u32-uctomb.c: Likewise.
60333         * lib/unistr/u8-check.c: Likewise.
60334         * lib/unistr/u8-chr.c: Likewise.
60335         * lib/unistr/u8-cmp.c: Likewise.
60336         * lib/unistr/u8-cpy-alloc.c: Likewise.
60337         * lib/unistr/u8-cpy.c: Likewise.
60338         * lib/unistr/u8-endswith.c: Likewise.
60339         * lib/unistr/u8-mblen.c: Likewise.
60340         * lib/unistr/u8-mbsnlen.c: Likewise.
60341         * lib/unistr/u8-mbtouc-aux.c: Likewise.
60342         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
60343         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
60344         * lib/unistr/u8-mbtouc.c: Likewise.
60345         * lib/unistr/u8-mbtoucr.c: Likewise.
60346         * lib/unistr/u8-move.c: Likewise.
60347         * lib/unistr/u8-next.c: Likewise.
60348         * lib/unistr/u8-prev.c: Likewise.
60349         * lib/unistr/u8-set.c: Likewise.
60350         * lib/unistr/u8-startswith.c: Likewise.
60351         * lib/unistr/u8-stpcpy.c: Likewise.
60352         * lib/unistr/u8-stpncpy.c: Likewise.
60353         * lib/unistr/u8-strcat.c: Likewise.
60354         * lib/unistr/u8-strchr.c: Likewise.
60355         * lib/unistr/u8-strcmp.c: Likewise.
60356         * lib/unistr/u8-strcpy.c: Likewise.
60357         * lib/unistr/u8-strcspn.c: Likewise.
60358         * lib/unistr/u8-strdup.c: Likewise.
60359         * lib/unistr/u8-strlen.c: Likewise.
60360         * lib/unistr/u8-strmblen.c: Likewise.
60361         * lib/unistr/u8-strmbtouc.c: Likewise.
60362         * lib/unistr/u8-strncat.c: Likewise.
60363         * lib/unistr/u8-strncmp.c: Likewise.
60364         * lib/unistr/u8-strncpy.c: Likewise.
60365         * lib/unistr/u8-strnlen.c: Likewise.
60366         * lib/unistr/u8-strpbrk.c: Likewise.
60367         * lib/unistr/u8-strrchr.c: Likewise.
60368         * lib/unistr/u8-strspn.c: Likewise.
60369         * lib/unistr/u8-strstr.c: Likewise.
60370         * lib/unistr/u8-strtok.c: Likewise.
60371         * lib/unistr/u8-to-u16.c: Likewise.
60372         * lib/unistr/u8-to-u32.c: Likewise.
60373         * lib/unistr/u8-uctomb-aux.c: Likewise.
60374         * lib/unistr/u8-uctomb.c: Likewise.
60375         * lib/unitypes.h: Likewise.
60376         * lib/uniwidth.h: Likewise.
60377         * lib/uniwidth/cjk.h: Likewise.
60378         * lib/uniwidth/u16-strwidth.c: Likewise.
60379         * lib/uniwidth/u16-width.c: Likewise.
60380         * lib/uniwidth/u32-strwidth.c: Likewise.
60381         * lib/uniwidth/u32-width.c: Likewise.
60382         * lib/uniwidth/u8-strwidth.c: Likewise.
60383         * lib/uniwidth/u8-width.c: Likewise.
60384         * lib/uniwidth/width.c: Likewise.
60385
60386 2007-10-07  Bruno Haible  <bruno@clisp.org>
60387
60388         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
60389         The file is still under LGPL (see modules/inttypes).
60390
60391 2007-10-06  Bruno Haible  <bruno@clisp.org>
60392
60393         * modules/trunc (Dependencies): Add 'extensions'.
60394         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
60395         Reported by Ben Pfaff <blp@gnu.org>.
60396
60397 2007-10-06  Bruno Haible  <bruno@clisp.org>
60398
60399         * modules/freopen-tests: New file.
60400         * tests/test-freopen.c: New file.
60401
60402         * modules/fopen-tests: New file.
60403         * tests/test-fopen.c: New file.
60404
60405         * modules/fopen: New file.
60406         * lib/fopen.c: New file.
60407         * m4/fopen.m4: New file.
60408         * modules/freopen: New file.
60409         * lib/freopen.c: New file.
60410         * m4/freopen.m4: New file.
60411         * lib/stdio.in.h (fopen, freopen): New declarations.
60412         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
60413         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60414         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
60415         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
60416         * doc/functions/fopen.texi: Mention the 'fopen' module.
60417         * doc/functions/freopen.texi: Mention the 'freopen' module.
60418
60419 2007-10-06  Bruno Haible  <bruno@clisp.org>
60420
60421         * modules/open-tests: New file.
60422         * tests/test-open.c: New file.
60423
60424         * modules/open: New file.
60425         * lib/open.c: New file.
60426         * m4/open.m4: New file.
60427         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
60428         lib/open.c does.
60429         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
60430         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
60431         macros.
60432         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
60433         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
60434         REPLACE_OPEN.
60435         * doc/functions/open.texi: Mention the 'open' module.
60436
60437 2007-10-04  Bruno Haible  <bruno@clisp.org>
60438
60439         * modules/ceill-tests: New file.
60440         * tests/test-ceill.c: New file.
60441
60442         * modules/ceill: New file.
60443         * lib/ceill.c: Replace entire file.
60444         * m4/ceill.m4: New file.
60445         * lib/math.in.h (ceill): Replace declaration.
60446         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
60447         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
60448         * doc/functions/ceill.texi: Mention the 'ceill' module.
60449         * modules/mathl (Files): Remove lib/ceill.c.
60450         (Depends-on): Add ceill.
60451
60452 2007-10-04  Bruno Haible  <bruno@clisp.org>
60453
60454         * modules/ceilf-tests: New file.
60455         * tests/test-ceilf.c: New file.
60456
60457         * modules/ceilf: New file.
60458         * lib/ceil.c: New file.
60459         * lib/ceilf.c: New file.
60460         * m4/ceilf.m4: New file.
60461         * lib/math.in.h (ceilf): New declaration.
60462         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
60463         HAVE_DECL_CEILF.
60464         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
60465         HAVE_DECL_CEILF.
60466         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
60467
60468 2007-10-04  Bruno Haible  <bruno@clisp.org>
60469
60470         * modules/floorl-tests: New file.
60471         * tests/test-floorl.c: New file.
60472
60473         * modules/floorl: New file.
60474         * lib/floorl.c: Replace entire file.
60475         * m4/floorl.m4: New file.
60476         * lib/math.in.h (floorl): Replace declaration.
60477         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
60478         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
60479         * doc/functions/floorl.texi: Mention the 'floorl' module.
60480         * modules/mathl (Files): Remove lib/floorl.c.
60481         (Depends-on): Add floorl.
60482
60483 2007-10-04  Bruno Haible  <bruno@clisp.org>
60484
60485         * modules/floorf-tests: New file.
60486         * tests/test-floorf.c: New file.
60487
60488         * modules/floorf: New file.
60489         * lib/floor.c: New file.
60490         * lib/floorf.c: New file.
60491         * m4/floorf.m4: New file.
60492         * lib/math.in.h (floorf): New declaration.
60493         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
60494         HAVE_DECL_FLOORF.
60495         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
60496         HAVE_DECL_FLOORF.
60497         * doc/functions/floorf.texi: Mention the 'floorf' module.
60498
60499 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
60500             Bruno Haible  <bruno@clisp.org>
60501
60502         Advertise for the Git server instead of the CVS server.
60503         * doc/gnulib-intro.texi (Steady Development): Mention the Git
60504         repository instead of the CVS one.
60505         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
60506         about all VCS systems generically.
60507         * doc/gnulib.texi (Introduction): Capitalize `Git'.
60508
60509 2007-10-04  Bruno Haible  <bruno@clisp.org>
60510
60511         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
60512         means.
60513         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
60514
60515 2007-10-04  Bruno Haible  <bruno@clisp.org>
60516
60517         * modules/truncl-tests: New file.
60518         * tests/test-truncl.c: New file.
60519
60520         * modules/truncl: New file.
60521         * lib/truncl.c: New file.
60522         * m4/truncl.m4: New file.
60523         * lib/math.in.h (truncl): New declaration.
60524         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
60525         HAVE_DECL_TRUNCL.
60526         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
60527         HAVE_DECL_TRUNCL.
60528         * doc/functions/truncl.texi: Mention the 'truncl' module.
60529
60530 2007-10-04  Bruno Haible  <bruno@clisp.org>
60531
60532         * modules/truncf-tests: New file.
60533         * tests/test-truncf.c: New file.
60534
60535         * modules/truncf: New file.
60536         * lib/trunc.c: Make paramerizable through USE_* macros.
60537         * lib/truncf.c: New file.
60538         * m4/truncf.m4: New file.
60539         * lib/math.in.h (truncf): New declaration.
60540         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
60541         HAVE_DECL_TRUNCF.
60542         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
60543         HAVE_DECL_TRUNCF.
60544         * doc/functions/truncf.texi: Mention the 'truncf' module.
60545
60546 2007-10-03  Bruno Haible  <bruno@clisp.org>
60547
60548         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
60549         augmentation also for tests modules.
60550         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
60551         * modules/atexit-tests (Makefile.am): Likewise.
60552         * modules/binary-io-tests (Makefile.am): Likewise.
60553         * modules/c-strcase-tests (Makefile.am): Likewise.
60554         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
60555         * modules/canonicalize-tests (Makefile.am): Likewise.
60556         * modules/closein-tests (Makefile.am): Likewise.
60557         * modules/fprintf-posix-tests (Makefile.am): Likewise.
60558         * modules/freadahead-tests (Makefile.am): Likewise.
60559         * modules/fseek-tests (Makefile.am): Likewise.
60560         * modules/fseeko-tests (Makefile.am): Likewise.
60561         * modules/ftell-tests (Makefile.am): Likewise.
60562         * modules/ftello-tests (Makefile.am): Likewise.
60563         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
60564         * modules/isnanl-tests (Makefile.am): Likewise.
60565         * modules/lseek-tests (Makefile.am): Likewise.
60566         * modules/mbscasecmp-tests (Makefile.am): Likewise.
60567         * modules/mbscasestr-tests (Makefile.am): Likewise.
60568         * modules/mbschr-tests (Makefile.am): Likewise.
60569         * modules/mbscspn-tests (Makefile.am): Likewise.
60570         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
60571         * modules/mbspbrk-tests (Makefile.am): Likewise.
60572         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
60573         * modules/mbsrchr-tests (Makefile.am): Likewise.
60574         * modules/mbsspn-tests (Makefile.am): Likewise.
60575         * modules/mbsstr-tests (Makefile.am): Likewise.
60576         * modules/printf-posix-tests (Makefile.am): Likewise.
60577         * modules/snprintf-posix-tests (Makefile.am): Likewise.
60578         * modules/sprintf-posix-tests (Makefile.am): Likewise.
60579         * modules/tsearch-tests (Makefile.am): Likewise.
60580         * modules/uniname/uniname-tests (Makefile.am): Likewise.
60581         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
60582         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
60583         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
60584         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
60585         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
60586         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
60587         * modules/vprintf-posix-tests (Makefile.am): Likewise.
60588         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
60589         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
60590         * modules/xstrtoimax-tests (Makefile.am): Likewise.
60591         * modules/xstrtol-tests (Makefile.am): Likewise.
60592         * modules/xstrtoumax-tests (Makefile.am): Likewise.
60593         * modules/yesno-tests (Makefile.am): Likewise.
60594
60595 2007-10-03  Bruno Haible  <bruno@clisp.org>
60596
60597         * modules/trunc-tests: New file.
60598         * tests/test-trunc.c: New file.
60599
60600         * modules/trunc: New file.
60601         * lib/trunc.c: New file.
60602         * m4/trunc.m4: New file.
60603         * lib/math.in.h (trunc): New declaration.
60604         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
60605         HAVE_DECL_TRUNC.
60606         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
60607         HAVE_DECL_TRUNC.
60608         * doc/functions/trunc.texi: Mention the 'trunc' module.
60609
60610 2007-10-03  Bruno Haible  <bruno@clisp.org>
60611
60612         * tests/test-fpending.c: New file, mostly copied
60613         from coreutils/lib/t-fpending.c.
60614         * modules/fpending-tests: New file.
60615
60616 2007-10-03  Bruno Haible  <bruno@clisp.org>
60617
60618         Port the stdio extensions to QNX (untested).
60619         * lib/fseterr.c (fseterr): Add support for QNX.
60620         * lib/fbufmode.c (fbufmode): Likewise.
60621         * lib/freadable.c (freadable): Likewise.
60622         * lib/fwritable.c (fwritable): Likewise.
60623         * lib/freading.c (freading): Likewise.
60624         * lib/fwriting.c (fwriting): Likewise.
60625         * lib/freadahead.c (freadahed): Likewise.
60626         * lib/fpurge.c (fpurge): Likewise.
60627         * lib/fseeko.c (rpl_fseeko): Likewise.
60628
60629 2007-10-03  Bruno Haible  <bruno@clisp.org>
60630             Jim Meyering  <jim@meyering.net>
60631             Eric Blake  <ebb9@byu.net>
60632
60633         * doc/relocatable.texi: Use @command instead of @program.
60634
60635 2007-10-02  Jim Meyering  <jim@meyering.net>
60636
60637         Perform one more "_.h" -> ".in.h" substitution.
60638         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
60639         instead of unistd_.h here, too.
60640
60641 2007-10-01  Bruno Haible  <bruno@clisp.org>
60642
60643         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
60644         Needed for the alloca-opt module.
60645
60646 2007-09-30  Bruno Haible  <bruno@clisp.org>
60647
60648         * lib/alloca.in.h: Renamed from lib/alloca_.h.
60649         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
60650         alloca_.h.
60651         * lib/argz.in.h: Renamed from lib/argz_.h.
60652         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
60653         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
60654         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
60655         byteswap_.h.
60656         * lib/dirent.in.h: Renamed from lib/dirent_.h.
60657         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
60658         dirent_.h.
60659         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
60660         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
60661         fcntl_.h.
60662         * lib/float.in.h: Renamed from lib/float_.h.
60663         * modules/float (Files, Makefile.am): Use float.in.h instead of
60664         float_.h.
60665         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
60666         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
60667         fnmatch_.h.
60668         * lib/getopt.in.h: Renamed from lib/getopt_.h.
60669         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
60670         getopt_.h.
60671         * lib/glob.in.h: Renamed from lib/glob_.h.
60672         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
60673         * lib/iconv.in.h: Renamed from lib/iconv_.h.
60674         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
60675         iconv_.h.
60676         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
60677         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
60678         inttypes_.h.
60679         * lib/locale.in.h: Renamed from lib/locale_.h.
60680         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
60681         locale_.h.
60682         * lib/math.in.h: Renamed from lib/math_.h.
60683         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
60684         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
60685         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
60686         of netinet_in_.h. Add dependency.
60687         * lib/poll.in.h: Renamed from lib/poll_.h.
60688         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
60689         * lib/search.in.h: Renamed from lib/search_.h.
60690         * modules/search (Files, Makefile.am): Use search.in.h instead of
60691         search_.h.
60692         * lib/signal.in.h: Renamed from lib/signal_.h.
60693         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
60694         _signal.h.
60695         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
60696         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
60697         stdbool_.h.
60698         * lib/stdint.in.h: Renamed from lib/stdint_.h.
60699         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
60700         stdint_.h.
60701         * lib/stdio.in.h: Renamed from lib/stdio_.h.
60702         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
60703         stdio_.h.
60704         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
60705         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
60706         stdlib_.h.
60707         * lib/string.in.h: Renamed from lib/string_.h.
60708         * modules/string (Files, Makefile.am): Use string.in.h instead of
60709         string_.h.
60710         * doc/gnulib-tool.texi (Initial import): Update.
60711         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
60712         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
60713         of sys_select_.h. Add dependency.
60714         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
60715         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
60716         of sys_socket_.h.
60717         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
60718         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
60719         sys_stat_.h.
60720         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
60721         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
60722         sys_time_.h.
60723         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
60724         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
60725         sysexits_.h.
60726         * lib/time.in.h: Renamed from lib/time_.h.
60727         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
60728         * lib/unistd.in.h: Renamed from lib/unistd_.h.
60729         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
60730         unistd_.h.
60731         * lib/wchar.in.h: Renamed from lib/wchar_.h.
60732         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
60733         wchar_.h.
60734         * lib/wctype.in.h: Renamed from lib/wctype_.h.
60735         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
60736         wctype_.h.
60737         * build-aux/bootstrap (slurp): Update.
60738         * lib/.cppi-disable: Update.
60739
60740 2007-09-30  Bruno Haible  <bruno@clisp.org>
60741
60742         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
60743         Needed on BeOS.
60744
60745 2007-09-30  Bruno Haible  <bruno@clisp.org>
60746
60747         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
60748
60749 2007-09-29  Bruno Haible  <bruno@clisp.org>
60750
60751         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
60752
60753 2007-09-29  Bruno Haible  <bruno@clisp.org>
60754
60755         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
60756         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
60757         * build-aux/install-reloc: Compile also areadlink.c.
60758         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
60759
60760 2007-09-29  Bruno Haible  <bruno@clisp.org>
60761
60762         * gnulib-tool (func_emit_initmacro_done): Indentation.
60763
60764 2007-09-29  Bruno Haible  <bruno@clisp.org>
60765
60766         * README: Add CVS checkout update instructions.
60767         Info from Bob Proulx <bob@proulx.com>.
60768
60769 2007-09-28  Eric Blake  <ebb9@byu.net>
60770
60771         Provide move-if-change.
60772         * build-aux/move-if-change: New file, based on best practice
60773         rather than any canonical upstream location.
60774
60775 2007-09-28  Jim Meyering  <jim@meyering.net>
60776
60777         Fix canonicalize loop-detection corner case.
60778         Do not attempt to stat the symlink values stored via seen_triple.
60779         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
60780         on linux-2.6.18, (but not 2.6.22).
60781         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
60782         triple_compare.  The former compares dev,ino,filename, while the latter
60783         would actually stat dirname(filename) when dev and ino were equal.
60784         * lib/hash-triple.c: Install <string.h>.
60785         (STREQ): Define.
60786         (triple_compare_ino_str): New function.
60787         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
60788
60789 2007-09-28  Eric Blake  <ebb9@byu.net>
60790
60791         Enforce that AC_REPLACE_FUNCS files exist.
60792         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
60793         override check for typos.
60794
60795         Fix test-closein on Solaris 10.
60796         * tests/test-closein.c (main): Don't assume stdin can be inherited
60797         closed on all systems.
60798         * tests/test-closein.sh: Likewise.
60799         Reported by Piotr Tarnowski.
60800
60801 2007-09-28  Jim Meyering  <jim@meyering.net>
60802
60803         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
60804
60805 2007-09-27  Jim Meyering  <jim@meyering.net>
60806
60807         canonicalize: Avoid a false-positive cycle failure.
60808         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
60809         Sort.  Remove cycle-check.
60810         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
60811         not cycle-check.h.
60812         (seen_triple): New function.
60813         (canonicalize_filename_mode): Use it instead of cycle-check.
60814         * tests/test-canonicalize.c: Add a test for this bug.
60815         * tests/test-canonicalize.sh: Set up and run the test.
60816
60817         New module, file-set, from coreutils.
60818         * modules/file-set: Define it.
60819         * lib/file-set.c, lib/file-set.h: Implement.
60820
60821         New module, hash-triple, from coreutils.
60822         * modules/hash-triple: Define it.
60823         * lib/hash-triple.c, lib/hash-triple.h: Implement.
60824
60825 2007-09-25  Eric Blake  <ebb9@byu.net>
60826
60827         Fix strerror on Interix.
60828         * lib/string_.h (strerror): Declare replacement.
60829         * doc/functions/strerror.texi (strerror): Document the Interix
60830         shortcoming.
60831         * modules/string (Makefile.am): Support new hooks.
60832         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
60833         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
60834         gl_FUNC_STRERROR_SEPARATE.
60835         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
60836         * lib/strerror.c (rpl_strerror): Provide replacement.
60837         * modules/strerror (Depends-on): Add string.
60838         (configure.ac): Detect use of module.
60839         * tests/test-strerror.c: New file.
60840         * modules/strerror-tests: New test module.
60841         * modules/argp (Depends-on): Add strerror.
60842         * modules/error (Depends-on): Likewise.
60843         Reported by Martin Koeppe.
60844
60845 2007-09-24  Bruno Haible  <bruno@clisp.org>
60846
60847         * README: Update git instructions.
60848
60849 2007-09-24  Eric Blake  <ebb9@byu.net>
60850
60851         Revert fpending breakage from 2007-09-08.
60852         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
60853         __fpending.c.
60854
60855 2007-09-24  Jim Meyering  <jim@meyering.net>
60856
60857         filenamecat.c: Add a test.
60858         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
60859         showing how the function works when DIR is the empty string.
60860
60861 2007-09-21  Simon Josefsson  <simon@josefsson.org>
60862
60863         * tests/test-canonicalize.sh: Turn on executable bit.
60864
60865 2007-09-19  Eric Blake  <ebb9@byu.net>
60866
60867         * README: Update CVS instructions.
60868
60869 2007-09-18  Bruno Haible  <bruno@clisp.org>
60870
60871         * modules/areadlink: New file.
60872         * lib/areadlink.h (areadlink): New declaration.
60873         * lib/areadlink.c: New file, based on lib/xreadlink.c.
60874
60875 2007-09-17  Jim Meyering  <jim@meyering.net>
60876
60877         * lib/savewd.c (ESTALE) [!defined]: Define.
60878         Reported to be required on Interix by Martin Koeppe.
60879
60880 2007-09-17  Bruno Haible  <bruno@clisp.org>
60881
60882         * gnulib-tool (func_version): Use $version.
60883
60884 2007-09-16  Bruno Haible  <bruno@clisp.org>
60885
60886         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
60887         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
60888         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
60889         Reported by Greg Schafer <gschafer@zip.com.au>.
60890
60891 2007-09-15  Bruno Haible  <bruno@clisp.org>
60892
60893         * gnulib-tool (sed): Try a little harder to make bash understand the
60894         alias.
60895         Reported by Bruce Korb <bruce.korb@gmail.com>.
60896
60897 2007-09-13  Eric Blake  <ebb9@byu.net>
60898
60899         * ChangeLog: Remove conflict markers.
60900
60901 2007-09-13  Simon Josefsson  <simon@josefsson.org>
60902
60903         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
60904         Reported by Bruno Haible <bruno@clisp.org>.
60905
60906 2007-09-12  Bruno Haible  <bruno@clisp.org>
60907
60908         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
60909         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
60910         is not defined.
60911
60912 2007-09-12  Eric Blake  <ebb9@byu.net>
60913
60914         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
60915         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
60916         Autoconf definition.
60917         * modules/euidaccess (Depends-on): Add extensions, for
60918         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
60919         * modules/fnmatch (Depends-on): Likewise.
60920         * modules/getaddrinfo (Depends-on): Likewise.
60921         * modules/getdelim (Depends-on): Likewise.
60922         * modules/getline (Depends-on): Likewise.
60923         * modules/getsubopt (Depends-on): Likewise.
60924         * modules/gettext (Depends-on): Likewise.
60925         * modules/group-member (Depends-on): Likewise.
60926         * modules/mbchar (Depends-on): Likewise.
60927         * modules/memmem (Depends-on): Likewise.
60928         * modules/mempcpy (Depends-on): Likewise.
60929         * modules/memrchr (Depends-on): Likewise.
60930         * modules/pagealign_alloc (Depends-on): Likewise.
60931         * modules/readutmp (Depends-on): Likewise.
60932         * modules/stpcpy (Depends-on): Likewise.
60933         * modules/stpncpy (Depends-on): Likewise.
60934         * modules/strchrnul (Depends-on): Likewise.
60935         * modules/strndup (Depends-on): Likewise.
60936         * modules/strsep (Depends-on): Likewise.
60937         * modules/strverscmp (Depends-on): Likewise.
60938         * modules/vasprintf (Depends-on): Likewise.
60939         * modules/wcwidth (Depends-on): Likewise.
60940         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
60941         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
60942         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
60943         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
60944         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
60945         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
60946         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
60947         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
60948         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
60949         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
60950         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60951         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
60952         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
60953         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
60954         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
60955         * m4/readutmp.m4 (gl_READUTMP): Likewise.
60956         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
60957         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
60958         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
60959         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
60960         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60961         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
60962         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
60963         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
60964         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
60965         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
60966         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
60967         so that lock.m4 can be used in gettext without extensions module.
60968
60969 2007-09-11  Bruno Haible  <bruno@clisp.org>
60970
60971         * m4/isc-posix.m4: Remove file.
60972         Suggested by Eric Blake.
60973
60974 2007-09-11  Eric Blake  <ebb9@byu.net>
60975
60976         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
60977
60978 2007-09-10  Bruno Haible  <bruno@clisp.org>
60979
60980         * posix-modules: Fix typo in error message.
60981         Reported by Matt <mkraai@beckman.com>.
60982
60983 2007-09-09  Bruno Haible  <bruno@clisp.org>
60984
60985         * doc/functions/getdelim.texi: Update list of platforms lacking the
60986         function.
60987         * doc/functions/getline.texi: Likewise.
60988
60989 2007-09-09  Jim Meyering  <jim@meyering.net>
60990
60991         * lib/hash.c (hash_initialize): Detect calloc failure.
60992         Reported by Bruno Haible.
60993
60994 2007-09-09  Bruno Haible  <bruno@clisp.org>
60995
60996         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
60997         malloc or realloc fails.
60998
60999 2007-09-09  Bruno Haible  <bruno@clisp.org>
61000
61001         * modules/getcwd (Depends-on): Add malloc-posix.
61002         * modules/glob (Depends-on): Likewise.
61003         * modules/putenv (Depends-on): Likewise.
61004         * modules/strdup (Depends-on): Likewise.
61005         * modules/getdelim (Depends-on): Add realloc-posix.
61006         * modules/read-file (Depends-on): Likewise.
61007
61008 2007-09-09  Bruno Haible  <bruno@clisp.org>
61009
61010         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
61011         (gl_FUNC_MALLOC_POSIX): Require it.
61012         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
61013         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
61014         * modules/realloc (Files): Add m4/malloc.m4.
61015         * modules/calloc (Files): Likewise.
61016
61017 2007-09-09  Bruno Haible  <bruno@clisp.org>
61018
61019         * modules/malloc-posix: New file.
61020         * modules/malloc (Depends-on): Add malloc-posix.
61021         * lib/malloc.c: Include errno.h.
61022         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
61023         and a POSIX-compatible malloc into a single function. Set ENOMEM
61024         when returning NULL.
61025         * m4/malloc.m4: New file.
61026         * doc/functions/malloc.texi: Mention the malloc-posix module.
61027         * lib/stdlib_.h (malloc): New declaration.
61028         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61029         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
61030         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
61031         and HAVE_MALLOC_POSIX.
61032
61033 2007-09-09  Bruno Haible  <bruno@clisp.org>
61034
61035         * modules/realloc-posix: New file.
61036         * modules/realloc (Depends-on): Add realloc-posix.
61037         * lib/realloc.c: Include errno.h.
61038         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
61039         and a POSIX-compatible realloc into a single function. Set ENOMEM
61040         when returning NULL.
61041         * m4/realloc.m4: New file.
61042         * doc/functions/realloc.texi: Mention the realloc-posix module.
61043         * lib/stdlib_.h (realloc): New declaration.
61044         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61045         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
61046         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
61047         and HAVE_REALLOC_POSIX.
61048
61049 2007-09-09  Bruno Haible  <bruno@clisp.org>
61050
61051         * modules/calloc-posix: New file.
61052         * modules/calloc (Depends-on): Add calloc-posix.
61053         * lib/calloc.c: Include errno.h.
61054         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
61055         and a POSIX-compatible calloc into a single function. Set ENOMEM
61056         when returning NULL.
61057         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
61058         * doc/functions/calloc.texi: Mention the calloc-posix module.
61059         * lib/stdlib_.h (calloc): New declaration.
61060         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
61061         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
61062         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
61063         and HAVE_CALLOC_POSIX.
61064
61065 2007-09-09  Bruno Haible  <bruno@clisp.org>
61066
61067         Allow for modules to show an arbitrary notice.
61068         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
61069         * gnulib-tool: New option --extract-notice.
61070         (func_usage): Document it.
61071         (sed_extract_prog): Update.
61072         (func_get_notice): New function.
61073         (func_modules_notice): New function.
61074         (func_import, func_create_testdir): Invoke it.
61075         Suggested by Jim Meyering.
61076
61077 2007-09-09  Bruno Haible  <bruno@clisp.org>
61078
61079         * gnulib-tool: New options --verbose, --quiet.
61080         (func_usage): Document them.
61081         (verbose): New variable.
61082         (func_execute_command): New function.
61083         (func_import): Don't show the module list and the file list if
61084         $verbose < 0.
61085         (func_create_testdir): Likewise. Use func_execute_command.
61086         (func_create_megatestdir): Use func_execute_command.
61087
61088 2007-09-08  Bruno Haible  <bruno@clisp.org>
61089
61090         * gnulib-tool (func_import): Prefer rsync over wget when available,
61091         for fetching the PO files.
61092
61093 2007-09-08  Bruno Haible  <bruno@clisp.org>
61094
61095         * posix-modules: New file. Portions copied from gnulib-tool.
61096         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
61097
61098 2007-09-08  Jim Meyering  <jim@meyering.net>
61099
61100         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
61101         * lib/fpending.h: Rename from __fpending.h.
61102         * lib/fpending.c: Rename from __fpending.c.
61103         Include "fpending.h", not "__fpending.h".
61104         * lib/__fpending.h, lib/__fpending.c: Remove files.
61105         * modules/fpending (Files): Reflect new file names.
61106         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
61107
61108 2007-09-08  Bruno Haible  <bruno@clisp.org>
61109
61110         * m4/inttypes-h.m4: Remove stub file.
61111
61112 2007-09-07  Simon Josefsson  <simon@josefsson.org>
61113
61114         * doc/headers/stdint.texi: Discuss #include_next issue.
61115
61116 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
61117
61118         * build-aux/bootstrap: Remove obsolete comment about wget --help.
61119
61120 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61121
61122         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
61123         in variable name.
61124
61125 2007-09-03  Jim Meyering  <jim@meyering.net>
61126
61127         New module: git-version-gen.
61128         * modules/git-version-gen: New file.
61129
61130         Import changes from coreutils for bootstrap script.
61131
61132         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
61133
61134         bootstrap: uses rsync to download the .po files
61135         * build-aux/bootstrap (po_download_command_format): New global.
61136         (download_po_files): Use rsync.
61137         (update_po_files): Don't remove .po files after download,
61138         so future rsync runs can take advantage of the copies.
61139
61140         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
61141
61142         Solve the unnecessary-.po-file-regeneration problem once and for all.
61143         * build-aux/bootstrap (download_po_files): New function, renamed from
61144         get_translations.  Now, downloads, but doesn't update LINGUAS.
61145         (update_po_files): New function.
61146
61147         bootstrap: Ignore more.
61148         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
61149         uniwidth to e.g., lib/.gitignore.
61150         (slurp): Handle the sys_stat_.h -> sys mapping, too.
61151
61152         * build-aux/bootstrap: New setting: vc_ignore.
61153         (insert_sorted_if_absent): Create $file if absent.
61154         Adapt to new, possibly empty, list: $vc_ignore.
61155
61156         bootstrap: generate more ignorable names
61157         * build-aux/bootstrap (slurp): When generating ignorable names,
61158         also map .sin to .sed, .gperf to .c, and .y to .c.
61159
61160 2007-09-03  Jim Meyering  <jim@meyering.net>
61161
61162         * build-aux/git-version-gen: New file, from coreutils.  For details, see
61163         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
61164
61165 2007-09-02  Bruno Haible  <bruno@clisp.org>
61166
61167         Fix mis-recognition of 'mcs' on QNX 6.
61168         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
61169         output contains the string "Mono".
61170         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
61171         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
61172
61173 2007-09-01  Bruno Haible  <bruno@clisp.org>
61174
61175         Fix collision between uniwidth/* and linebreak modules.
61176         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
61177         u32_width): Remove declarations.
61178         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
61179         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
61180         streq3, streq2, streq1, streq0): Remove functions.
61181         (STREQ): Remove macro.
61182         (is_cjk_encoding): Remove function.
61183         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
61184         (uc_width, u8_width, u16_width, u32_width): Remove functions.
61185         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
61186         * NEWS: Document the change.
61187
61188 2007-09-01  Bruno Haible  <bruno@clisp.org>
61189
61190         * lib/streq.h: Add double-inclusion guard.
61191
61192 2007-09-01  Karl Berry  <karl@gnu.org>
61193
61194         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
61195
61196 2007-08-28  Jim Meyering  <jim@meyering.net>
61197
61198         Rename mreadlink_with_size to areadlink_with_size.
61199         * NEWS: Document the change.
61200         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
61201         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
61202         * lib/mreadlink.h: Rename this to...
61203         * lib/areadlink.h: ...this.
61204         * modules/mreadlink-with-size: Rename this to...
61205         * modules/areadlink-with-size: ...this.
61206         * lib/canonicalize.c: Reflect the renaming.
61207         * modules/canonicalize: Likewise.
61208
61209 2007-08-26  Bruno Haible  <bruno@clisp.org>
61210
61211         * gnulib-tool (func_import): When deciding which files to remove,
61212         consider also dangling symbolic links.
61213         Reported by Eric Blake.
61214
61215 2007-08-26  Bruno Haible  <bruno@clisp.org>
61216
61217         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
61218
61219 2007-08-23  Simon Josefsson  <simon@josefsson.org>
61220
61221         * lib/readline.c: Don't include getline.h, the prototype is now
61222         found in stdio.h.
61223
61224 2007-08-23  Jim Meyering  <jim@meyering.net>
61225
61226         Getdelim touchup.
61227         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
61228         around the funlockfile call, since funlockfile never sets errno.
61229         Don't set errno upon failed realloc.
61230
61231 2007-08-22  Eric Blake  <ebb9@byu.net>
61232
61233         Getline touchups.
61234         * lib/getdelim.c (getdelim): Revert regression that required *n to
61235         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
61236         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
61237         getdelim, rather than whether implementation is missing.
61238         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
61239         * lib/stdio_.h (getline): Also declare if replacement is
61240         required.
61241         * doc/functions/getdelim.texi: New file.
61242         * doc/functions/getline.texi: Likewise.
61243         * doc/gnulib.texi (Function Substitutes): Add new files.
61244         Reported by Bruno Haible.
61245
61246 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
61247
61248         * users.txt: Add Guile.
61249
61250 2007-08-22  Eric Blake  <ebb9@byu.net>
61251
61252         * tests/test-getdelim.c (main): Use remove, not unlink.
61253         * tests/test-getline.c (main): Likewise.
61254
61255         Move getline and getdelim into stdio.h, per POSIX 200x.
61256         * modules/getline (Files): Remove getline.h.
61257         (Depends-on): Add stdio.
61258         (configure.ac): Add module indicator.
61259         * modules/getdelim (Files): Remove getdelim.h.
61260         (Depends-on): Add stdio.
61261         (configure.ac): Add module indicator.
61262         * modules/stdio (Makefile.am): Work with new indicators.
61263         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
61264         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
61265         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
61266         * lib/getdelim.h: Delete.
61267         * lib/getline.h: Delete.
61268         * lib/stdio_.h (getdelim, getline): Declare.
61269         * modules/getdelim-tests: New module.
61270         * modules/getline-tests: Likewise.
61271         * tests/test-getdelim.c: New file.
61272         * tests/test-getline.c: Likewise.
61273         * NEWS: Document the change.
61274         * lib/getline.c: Update choice of header.
61275         * lib/csharpcomp.c: Likewise.
61276         * lib/getpass.c: Likewise.
61277         * lib/javacomp.c: Likewise.
61278         * lib/javaversion.c: Likewise.
61279         * lib/yesno.c: Likewise.
61280         * lib/getdelim.c: Likewise.
61281         (getdelim): Set errno on failure, and avoid memory leak.
61282
61283 2007-08-19  Bruno Haible  <bruno@clisp.org>
61284
61285         * modules/closein (Depends-on): Add freadahead.
61286         * lib/closein.c: Include freadahead.h.
61287         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
61288         is zero.
61289
61290 2007-08-19  Bruno Haible  <bruno@clisp.org>
61291
61292         * modules/freadahead-tests: New file.
61293         * tests/test-freadahead.sh: New file.
61294         * tests/test-freadahead.c: New file.
61295
61296         * modules/freadahead: New file.
61297         * lib/freadahead.h: New file.
61298         * lib/freadahead.c: New file.
61299         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
61300         fbufmode, fpurge, freadable, fwritable.
61301
61302 2007-08-19  Eric Blake  <ebb9@byu.net>
61303
61304         Test yesno in combination with closein.
61305         * lib/yesno.c (yesno): Document use of stdin.
61306         * modules/yesno-tests (Files): New module.
61307         * tests/test-yesno.c (main): New file.
61308         * tests/test-yesno.sh: Likewise.
61309
61310 2007-08-19  Bruno Haible  <bruno@clisp.org>
61311
61312         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
61313         * lib/fseeko.c (rpl_fseeko): Likewise.
61314         * lib/fseterr.c (fseterr): Likewise.
61315
61316 2007-08-19  Bruno Haible  <bruno@clisp.org>
61317
61318         * tests/test-lseek.c (main): Disable a test for BeOS.
61319         * doc/functions/lseek.texi: Document the BeOS bug.
61320
61321 2007-08-19  Bruno Haible  <bruno@clisp.org>
61322             Eric Blake  <ebb9@byu.net>
61323
61324         * lib/lseek.c: Include <sys/stat.h>.
61325         (rpl_lseek): Add workaround code also for Unix platforms.
61326         Needed for BeOS.
61327         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
61328         * doc/functions/lseek.texi: Document BeOS definiency.
61329
61330 2007-08-18  Bruno Haible  <bruno@clisp.org>
61331
61332         * modules/fstrcmp-tests: New file.
61333         * tests/test-fstrcmp.c: New file.
61334
61335 2007-08-18  Bruno Haible  <bruno@clisp.org>
61336
61337         * modules/fstrcmp: New file, from GNU gettext with modifications.
61338         * lib/fstrcmp.h: New file, from GNU gettext.
61339         * lib/fstrcmp.c: New file, from GNU gettext.
61340         * MODULES.html.sh (String handling): Add fstrcmp.
61341
61342 2007-08-18  Bruno Haible  <bruno@clisp.org>
61343
61344         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
61345         'bool'.
61346         (diag, compareseq): Remove const from the ctxt argument.
61347         (USE_HEURISTIC): Undefine at the end.
61348
61349 2007-08-18  Jim Meyering  <jim@meyering.net>
61350
61351         New file: lib/idcache.h
61352         * NEWS: Mention the addition.
61353         * modules/idcache (Files): Add lib/idcache.h
61354         * lib/idcache.c: Include "idcache.h".
61355         Don't include <sys/types.h>.
61356         Add a FIXME comment.
61357         Move file-scoped "static" declarations to the top.
61358         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
61359
61360 2007-08-17  Bruno Haible  <bruno@clisp.org>
61361         and Paul Eggert  <eggert@cs.ucla.edu>
61362
61363         * MODULES.html.sh: Add diffseq.
61364         * modules/diffseq: New file.
61365         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
61366         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
61367
61368 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
61369
61370         Import changes from coreutils for bootstrap script.
61371
61372         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
61373
61374         * build-aux/bootstrap (slurp): Work even in environments where
61375         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
61376         current code does not slurp files whose names start with ".", and
61377         this looks like it might be a troublesome area.
61378
61379         2007-07-11  Jim Meyering  <jim@meyering.net>
61380
61381         If there's a GPL vN copyright comment, require that N == 3.
61382
61383         2007-07-08  Jim Meyering  <jim@meyering.net>
61384
61385         Run the coreutils-specific code only if tests/Makefile.am.in exists.
61386         * build-aux/bootstrap (mam_template): Move definition out of loop.
61387
61388         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
61389
61390         * build-aux/bootstrap (symlink_to_dir): Rename function from
61391         symlink_to_gnulib.  Add a directory parameter.  Update all
61392         callers.
61393         (cp_mark_as_generated): Also check for -- and link to -- files in
61394         gl/.
61395
61396         2007-07-08  Jim Meyering  <jim@meyering.net>
61397
61398         Adapt to deeper hierarchy in gnulib.
61399         * build-aux/bootstrap (symlink_to_dir): If the destination
61400         directory doesn't exist, create it. This is required at least for
61401         "lib/uniwidth/cjk.h".
61402
61403         2007-05-15  Jim Meyering  <jim@meyering.net>
61404
61405         * build-aux/bootstrap: Now that generated Makefile.am files
61406         are no longer under version control, they must be created at
61407         bootstrap time.
61408
61409 2007-08-14  Ben Pfaff  <blp@gnu.org>
61410
61411         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
61412
61413 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
61414
61415         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
61416         given the changes below.
61417         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
61418         even on hosts that have padding bits beyond the supported 64.
61419
61420 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
61421
61422         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
61423         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
61424         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
61425         depends on it.
61426         (xstrtol_error): Remove.
61427         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
61428         but with a different signature.
61429         (ATTRIBUTE_NORETURN, __attribute__): New macros.
61430         * lib/xstrtol-error.c: Include exitfail.h.
61431         (xstrtol_fatal): New function, with a different signature from the
61432         old xstrtol_error, so that the caller need not worry about passing
61433         in an exit status, or about storage management of the option argument.
61434         (xstrtol_error): Now a static function.  Redo signature to
61435         implement xstrtol_fatal.  Output the correct number of hyphens in
61436         front of the option so that the caller need not worry about
61437         storage management.
61438         (N_): New macro.
61439         (_): Remove; not used now.
61440         * modules/xstrtol: Depend on getopt.
61441         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
61442         of old STRTOL_FATAL_ERROR macro.
61443         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
61444         of test program.
61445         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
61446         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
61447
61448 2007-08-08  Eric Blake  <ebb9@byu.net>
61449
61450         * lib/xstrtol-error.c: Add missing include.
61451
61452         Move xstrtol messages into gnulib domain, when --pobase is used.
61453         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
61454         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
61455         * modules/xstrtol (Files): Distribute new file.
61456         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
61457         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
61458         * tests/test-xstrtol.c: ...into new file.
61459         * tests/test-xstrtoul.c: Also test xstrtoul.
61460         * tests/test-xstrtoimax.c: Also test xstrtoimax.
61461         * tests/test-xstrtoumax.c: Also test xstrtoumax.
61462         * tests/test-xstrtol.sh: Drive the tests.
61463         * tests/test-xstrtoimax.sh: Likewise.
61464         * tests/test-xstrtoumax.sh: Likewise.
61465         * modules/xstrtol-tests: New module.
61466         * modules/xstrtoimax-tests: Likewise.
61467         * modules/xstrtoumax-tests: Likewise.
61468
61469 2007-08-08  Jim Meyering  <jim@meyering.net>
61470
61471         New function: mfile_name_concat.
61472         * lib/filenamecat.c (mfile_name_concat): New function, just like
61473         file_name_concat, but return NULL upon failure rather than exiting
61474         with a diagnostic.
61475         * lib/filenamecat.h: Declare it.
61476
61477 2007-08-07  Bruno Haible  <bruno@clisp.org>
61478
61479         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
61480         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
61481         warning from gcc.
61482         Reported by Eric Blake.
61483
61484 2007-08-07  Simon Josefsson  <simon@josefsson.org>
61485
61486         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
61487         * modules/crypto/arcfour (License): Likewise.
61488         * modules/crypto/des-tests (License): Likewise.
61489         * modules/crypto/gc-arctwo-tests (License): Likewise.
61490         * modules/crypto/gc-des-tests (License): Likewise.
61491         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
61492         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
61493         * modules/crypto/gc-md2-tests (License): Likewise.
61494         * modules/crypto/gc-md4-tests (License): Likewise.
61495         * modules/crypto/gc-md5-tests (License): Likewise.
61496         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
61497         * modules/crypto/gc-rijndael-tests (License): Likewise.
61498         * modules/crypto/gc-sha1-tests (License): Likewise.
61499         * modules/crypto/gc-tests (License): Likewise.
61500         * modules/crypto/hmac-md5 (License): Likewise.
61501         * modules/crypto/hmac-sha1 (License): Likewise.
61502         * modules/crypto/md2-tests (License): Likewise.
61503         * modules/crypto/md4-tests (License): Likewise.
61504         * modules/crypto/md5 (License): Likewise.
61505         * modules/crypto/rijndael (License): Likewise.
61506         * modules/crypto/sha1 (License): Likewise.
61507         * modules/memxor (License): Likewise.
61508
61509 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
61510         and Bruno Haible  <bruno@clisp.org>
61511
61512         * NEWS: Describe interface changes to human, xstrtol.
61513         * lib/human.h: Include <xstrtol.h>.
61514         (human_options): Return enum strtol_error, not int.  Remove
61515         bool arg; take int * instead.
61516         * lib/human.c: Don't include "gettext.h".
61517         (_): Remove; no longer used.
61518         Don't include <xstrtol.h>, since human.h does it.
61519         (human_options): Adjust to abovementioned interface changes.
61520         Do not report error to stderr; that's now the caller's
61521         responsibility.
61522         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
61523         interface change.
61524         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
61525         Str, Argument_type_string.  All uses changed.  Put " argument"
61526         in diagnostics to make them clearer.  Change wording of suffix
61527         message for clarity.
61528         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
61529         Argument_type_string.
61530         (STRTOL_FATAL_WARN): Remove; no longer used.
61531         * modules/human (Depends-on): Remove gettext-h.
61532
61533 2007-08-06  Simon Josefsson  <simon@josefsson.org>
61534
61535         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
61536
61537 2007-07-31  Bruno Haible  <bruno@clisp.org>
61538
61539         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
61540         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
61541         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
61542
61543 2007-07-31  Bruno Haible  <bruno@clisp.org>
61544
61545         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
61546         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
61547
61548 2007-07-30  Bruno Haible  <bruno@clisp.org>
61549
61550         * modules/base64 (License): Use the synonymous term "LGPLv2+".
61551         * modules/c-ctype (License): Likewise.
61552         * modules/c-strcase (License): Likewise.
61553         * modules/check-version (License): Likewise.
61554         * modules/iconv (License): Likewise.
61555         * modules/iconv_open (License): Likewise.
61556         * modules/read-file (License): Likewise.
61557         * modules/striconv (License): Likewise.
61558         * modules/strverscmp (License): Likewise.
61559         * modules/vasprintf (License): Likewise.
61560         * modules/crypto/des (License): Likewise.
61561         * modules/crypto/gc (License): Likewise.
61562         * modules/crypto/gc-arcfour (License): Likewise.
61563         * modules/crypto/gc-arctwo (License): Likewise.
61564         * modules/crypto/gc-des (License): Likewise.
61565         * modules/crypto/gc-hmac-md5 (License): Likewise.
61566         * modules/crypto/gc-hmac-sha1 (License): Likewise.
61567         * modules/crypto/gc-md2 (License): Likewise.
61568         * modules/crypto/gc-md4 (License): Likewise.
61569         * modules/crypto/gc-md5 (License): Likewise.
61570         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
61571         * modules/crypto/gc-random (License): Likewise.
61572         * modules/crypto/gc-rijndael (License): Likewise.
61573         * modules/crypto/gc-sha1 (License): Likewise.
61574         * modules/crypto/md2 (License): Likewise.
61575         * modules/crypto/md4 (License): Likewise.
61576
61577 2007-07-30  Jim Meyering  <jim@meyering.net>
61578
61579         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
61580         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
61581         it has valid stat data.  This bug would cause du not to count the
61582         sizes of inaccessible directories.
61583         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
61584         in <http://bugzilla.redhat.com/250077>.
61585
61586 2007-07-25  Peter O'Gorman  <peter@pogma.com>
61587             Bruno Haible  <bruno@clisp.org>
61588
61589         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
61590         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
61591         #include_next, gives a diagnostic about it, but reports no error in
61592         the exit code.
61593         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
61594
61595 2007-07-24  Ben Pfaff  <blp@gnu.org>
61596
61597         Improve name: "count-one-bits" is better than "popcount".
61598         * MODULES.html.sh: Update name.
61599         * lib/popcount.h: Renamed lib/count-one-bits.h.
61600         (popcount): Renamed count_one_bits.
61601         (popcountl): Renamed count_one_bits_l.
61602         (popcountll): Renamed count_one_bits_ll.
61603         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
61604         * modules/popcount: Renamed module/count-one-bits.
61605         * modules/popcount-tests: Renamed module/count-one-bits-tests.
61606         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
61607
61608 2007-07-23  Ben Pfaff  <blp@gnu.org>
61609
61610         * lib/popcount.h (popcount32): Reduce size of constants, to allow
61611         better code generation, and add U to large constants to avoid
61612         warnings, in non-GCC case.
61613         Suggested by Bruno Haible.
61614
61615 2007-07-23  Ben Pfaff  <blp@gnu.org>
61616
61617         * lib/popcount.h: Use verify_true instead of if...abort.
61618         * modules/popcount: Depend on verify module.
61619         Suggested by Jim Meyering.
61620
61621 2007-07-23  Bruno Haible  <bruno@clisp.org>
61622
61623         * gnulib-tool (func_import): Create a .cvsignore file also when the
61624         directory is not yet in CVS but the toplevel directory is. When
61625         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
61626         Reported by Karl Berry.
61627
61628 2007-07-22  Ben Pfaff  <blp@gnu.org>
61629
61630         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
61631         case.
61632         Suggested by Eric Blake.
61633
61634 2007-07-22  Ben Pfaff  <blp@gnu.org>
61635
61636         New module: popcount.
61637         * MODULES.html.sh: Add popcount.
61638         * modules/popcount: New file.
61639         * modules/popcount-tests: New file.
61640         * tests/test-popcount.c: New file.
61641         * lib/popcount.h: New file.
61642         * m4/popcount.m4: New file.
61643
61644 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
61645
61646         * build-aux/announce-gen: Update to GPLv3.
61647
61648         * build-aux/config.guess: Update from config.
61649
61650 2007-07-21  Bruno Haible  <bruno@clisp.org>
61651
61652         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
61653         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
61654
61655 2007-07-20  Jim Meyering  <jim@meyering.net>
61656
61657         * check-module: Diagnose a self-dependency.
61658
61659 2007-07-19  Bruno Haible  <bruno@clisp.org>
61660
61661         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
61662         empty.
61663         Reported by Eric Blake.
61664
61665 2007-07-18  Bruno Haible  <bruno@clisp.org>
61666
61667         * gnulib-tool: New options --po-base, --po-domain.
61668         (func_usage): Document them.
61669         (pobase, po_domain): New variables.
61670         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
61671         DEFAULT_TEXT_DOMAIN.
61672         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
61673         (func_import): Consider pobase and po_domain. Create a po/ directory.
61674         (func_create_testdir): Set pobase and po_domain to empty.
61675         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
61676         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
61677
61678 2007-07-18  Bruno Haible  <bruno@clisp.org>
61679
61680         * gnulib-tool (func_get_automake_snippet): Synthesize also an
61681         EXTRA_DIST augmentation for files in build-aux/.
61682
61683 2007-07-16  Bruno Haible  <bruno@clisp.org>
61684
61685         * modules/lseek (License): Use the synonymous term "LGPLv2+".
61686         * modules/getdelim (License): Likewise.
61687
61688 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
61689
61690         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
61691         * modules/d-type (License): Likewise.
61692         * modules/extensions (License): Likewise.
61693         * modules/fnmatch (License): Likewise.
61694         * modules/fseeko (License): Likewise.
61695         * modules/getaddrinfo (License): Likewise.
61696         * modules/getline (License): Likewise.
61697         * modules/getlogin_r (License): Likewise.
61698         * modules/getpass (License): Likewise.
61699         * modules/gettimeofday (License): Likewise.
61700         * modules/glob (License): Likewise.
61701         * modules/inet_ntop (License): Likewise.
61702         * modules/malloc (License): Likewise.
61703         * modules/malloca (License): Likewise.
61704         * modules/memmem (License): Likewise.
61705         * modules/mempcpy (License): Likewise.
61706         * modules/memset (License): Likewise.
61707         * modules/minmax (License): Likewise.
61708         * modules/mktime (License): Likewise.
61709         * modules/netinet_in (License): Likewise.
61710         * modules/pathmax (License): Likewise.
61711         * modules/poll (License): Likewise.
61712         * modules/regex (License): Likewise.
61713         * modules/snprintf (License): Likewise.
61714         * modules/stdbool (License): Likewise.
61715         * modules/stdint (License): Likewise.
61716         * modules/stdio (License): Likewise.
61717         * modules/strcase (License): Likewise.
61718         * modules/strcasestr (License): Likewise.
61719         * modules/strdup (License): Likewise.
61720         * modules/string (License): Likewise.
61721         * modules/strndup (License): Likewise.
61722         * modules/strnlen (License): Likewise.
61723         * modules/strpbrk (License): Likewise.
61724         * modules/strptime (License): Likewise.
61725         * modules/strsep (License): Likewise.
61726         * modules/sys_select (License): Likewise.
61727         * modules/sys_socket (License): Likewise.
61728         * modules/sys_stat (License): Likewise.
61729         * modules/sys_time (License): Likewise.
61730         * modules/time (License): Likewise.
61731         * modules/time_r (License): Likewise.
61732         * modules/timegm (License): Likewise.
61733         * modules/unistd (License): Likewise.
61734         * modules/vsnprintf (License): Likewise.
61735         * modules/wctype (License): Likewise.
61736
61737 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61738
61739         * modules/argz (License): LGPLv2+.
61740
61741 2007-07-15  Karl Berry  <karl@gnu.org>
61742
61743         * doc/gnulib.texi: revise node structure per new fdl.texi.
61744
61745 2007-07-14  Bruno Haible  <bruno@clisp.org>
61746
61747         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
61748         the output file.
61749         * lib/uniname/uninames.h: Regenerated.
61750
61751 2007-07-14  Karl Berry  <karl@gnu.org>
61752
61753         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
61754         omitting sectioning and index commands.
61755
61756 2007-07-13  Bruno Haible  <bruno@clisp.org>
61757
61758         New gnulib-tool option --more-symlinks.
61759         * gnulib-tool (func_usage): Document --more-symlinks.
61760         (do_copyrights): New variable.
61761         Recognize option --more-symlinks.
61762         (func_import): Don't add a copyright notice transform to
61763         sed_transform_lib_file if do_copyrights is empty.
61764
61765 2007-07-13  Bruno Haible  <bruno@clisp.org>
61766
61767         * lib/vasnprintf.c (decimal_point_char): Define also if
61768         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
61769         && !NEED_PRINTF_DIRECTIVE_A.
61770         Reported by Clemens Koller <clemens.koller@anagramm.de> via
61771         Gary V. Vaughan <gary@gnu.org>.
61772
61773 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
61774
61775         * lib/inttypes_.h: Undo previous change, since it was fixed
61776         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
61777
61778 2007-07-13  Bruno Haible  <bruno@clisp.org>
61779
61780         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
61781         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
61782
61783 2007-07-13  Jim Meyering  <jim@meyering.net>
61784
61785         df: Don't fail for Tru64's "file-on-file mount".
61786         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
61787         so we fall through and use statfs instead.  Details here:
61788         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
61789         Reported by Albert Chin.
61790
61791 2007-07-13  Bruno Haible  <bruno@clisp.org>
61792
61793         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
61794         * modules/configmake (License): Likewise.
61795         * modules/gettext (License): Likewise.
61796         * modules/gettext-h (License): Likewise.
61797         * modules/include_next (License): Likewise.
61798         * modules/link-warning (License): Likewise.
61799         * modules/localcharset (License): Likewise.
61800         * modules/localename (License): Likewise.
61801         * modules/lock (License): Likewise.
61802         * modules/relocatable-lib-lgpl (License): Likewise.
61803         * modules/size_max (License): Likewise.
61804         * modules/vasnprintf (License): Likewise.
61805         * modules/wchar (License): Likewise.
61806         * modules/xsize (License): Likewise.
61807
61808 2007-07-13  Bruno Haible  <bruno@clisp.org>
61809
61810         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
61811         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
61812
61813 2007-07-12  Bruno Haible  <bruno@clisp.org>
61814
61815         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
61816         in the modules files.
61817
61818 2007-07-11  Karl Berry  <karl@gnu.org>
61819
61820         * MODULES.html.sh (func_module): use
61821          sed -e '\|^'"${includefile}"'$|d'
61822          instead of /.../d, to avoid errors on $includefile's containing /.
61823
61824 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
61825
61826         * gnulib-tool (func_import): Avoid duplication of --avoid
61827         statements
61828         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
61829         names to `_' in variable names.
61830
61831 2007-07-10  Eric Blake  <ebb9@byu.net>
61832
61833         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
61834         * NEWS: Document this change.
61835
61836 2007-07-08  Bruno Haible  <bruno@clisp.org>
61837
61838         Update to Unicode 5.0.
61839         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
61840         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
61841         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
61842         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
61843         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
61844         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
61845         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
61846         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
61847         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
61848         U+10A3F, U+1D242..U+1D244.
61849         (nonspacing_table_ind): Update.
61850         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
61851         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
61852
61853 2007-07-08  Bruno Haible  <bruno@clisp.org>
61854
61855         Update to Unicode 5.0.
61856         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
61857         code transform. Extend the name index field of unicode_name_to_code and
61858         unicode_code_to_name from 16 to 24 bits.
61859         * lib/uniname/uniname.c (unicode_character_name,
61860         unicode_name_character): Add the range 0x12xxx to the code transform.
61861         * lib/uniname/uninames.h: Regenerated.
61862         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
61863
61864 2007-07-07  Bruno Haible  <bruno@clisp.org>
61865
61866         * modules/wcwidth-tests: New file.
61867         * tests/test-wcwidth.c: New file.
61868
61869         Work around MacOS X wcwidth() bug.
61870         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
61871         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
61872         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
61873         original wcwidth in non-UTF-8 locales.
61874         * modules/wcwidth (Depends-on): Add localcharset, streq,
61875         uniwidth/width.
61876         * doc/functions/wcwidth.texi: Update.
61877
61878 2007-07-07  Bruno Haible  <bruno@clisp.org>
61879
61880         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
61881         (wcwidth): New declaration.
61882         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
61883         macros.
61884         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
61885         here. Prepare for creating <wchar.h> unconditionally.
61886         * modules/wchar (Depends-on): Add link-warning.
61887         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
61888         REPLACE_WCWIDTH, and GL_LINK_WARNING.
61889         * lib/wcwidth.h: Remove file.
61890         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
61891         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
61892         * modules/wcwidth (Files): Remove lib/wcwidth.h.
61893         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
61894         (Include): Replace wcwidth.h with <wchar.h>.
61895         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
61896         * lib/mbchar.h: Don't include wcwidth.h.
61897         * lib/mbswidth.c: Likewise.
61898         * NEWS: Mention the change.
61899
61900 2007-07-07  Bruno Haible  <bruno@clisp.org>
61901
61902         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
61903         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
61904         definition with an external declaration.
61905         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
61906         defined as a function. Remove AC_C_INLINE requirement.
61907         * modules/wcwidth (Files): Add lib/wcwidth.c.
61908         (Makefile.am): Remove redundant statement.
61909
61910 2007-07-07  Bruno Haible  <bruno@clisp.org>
61911
61912         * MODULES.html.sh (Unicode string functions): Add the new modules.
61913
61914         * tests/uniwidth/test-u32-strwidth.c: New file.
61915         * modules/uniwidth/u32-strwidth-tests: New file.
61916
61917         * lib/uniwidth/u32-strwidth.c: New file.
61918         * modules/uniwidth/u32-strwidth: New file.
61919
61920         * tests/uniwidth/test-u16-strwidth.c: New file.
61921         * modules/uniwidth/u16-strwidth-tests: New file.
61922
61923         * lib/uniwidth/u16-strwidth.c: New file.
61924         * modules/uniwidth/u16-strwidth: New file.
61925
61926         * tests/uniwidth/test-u8-strwidth.c: New file.
61927         * modules/uniwidth/u8-strwidth-tests: New file.
61928
61929         * lib/uniwidth/u8-strwidth.c: New file.
61930         * modules/uniwidth/u8-strwidth: New file.
61931
61932         * tests/uniwidth/test-u32-width.c: New file.
61933         * modules/uniwidth/u32-width-tests: New file.
61934
61935         * lib/uniwidth/u32-width.c: New file.
61936         * modules/uniwidth/u32-width: New file.
61937
61938         * tests/uniwidth/test-u16-width.c: New file.
61939         * modules/uniwidth/u16-width-tests: New file.
61940
61941         * lib/uniwidth/u16-width.c: New file.
61942         * modules/uniwidth/u16-width: New file.
61943
61944         * tests/uniwidth/test-u8-width.c: New file.
61945         * modules/uniwidth/u8-width-tests: New file.
61946
61947         * lib/uniwidth/u8-width.c: New file.
61948         * modules/uniwidth/u8-width: New file.
61949
61950         * tests/uniwidth/test-uc_width.c: New file.
61951         * modules/uniwidth/width-tests: New file.
61952
61953         * lib/uniwidth/width.c: New file, from GNU libiconv.
61954         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
61955         * modules/uniwidth/width: New file.
61956
61957         * lib/uniwidth.h: New file, from GNU libiconv.
61958         * modules/uniwidth/base: New file.
61959
61960 2007-07-07  Bruno Haible  <bruno@clisp.org>
61961
61962         * lib/uniname.h: New file, from GNU gettext.
61963         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
61964         * lib/uniname/uninames.h: New file, from GNU gettext.
61965         * lib/uniname/uniname.c: New file, from GNU gettext.
61966         * tests/uniname/test-uninames.sh: New file.
61967         * tests/uniname/test-uninames.c: New file, from GNU gettext.
61968         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
61969         * modules/uniname/base: New file.
61970         * modules/uniname/uniname: New file.
61971         * modules/uniname/uniname-tests: New file.
61972         * MODULES.html.sh (Unicode string functions): Add the new modules.
61973
61974 2007-07-06  Bruno Haible  <bruno@clisp.org>
61975
61976         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
61977
61978 2007-07-06  Bruno Haible  <bruno@clisp.org>
61979
61980         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
61981         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
61982         includes <cygwin/sys_time.h> which includes <sys/select.h> which
61983         include <sys/time.h>.
61984         Reported by Eric Blake.
61985
61986 2007-07-06  Eric Blake  <ebb9@byu.net>
61987
61988         Fix testing canonicalize on cygwin.
61989         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
61990         Revert patch from 2007-06-19.
61991         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
61992         canonicalize module is also in use.
61993         * tests/test-canonicalize.c: New file.
61994         * tests/test-canonicalize.sh: Likewise.
61995         * modules/canonicalize-tests: Likewise.
61996
61997 2007-07-06  Jim Meyering  <jim@meyering.net>
61998
61999         * lib/getugroups.c (getugroups): Detect getgrent failure.
62000         Adjust comment to reflect reality: this function may return -1.
62001
62002 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
62003
62004         * build-aux/bootstrap (TP_URL,get_translations): Update to use
62005         the new TP address.
62006         (usage): Fix typo
62007         (gnulib_mk): New variable.
62008
62009 2007-07-05  Jim Meyering  <jim@meyering.net>
62010
62011         Don't let endgrent clobber errno, no matter how improbable.
62012         * lib/getugroups.c (getugroups): Save and restore errno around
62013         endgrent call.
62014
62015         Close the group DB even when failing with 2^31 or more members.
62016         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
62017
62018 2007-07-04  Jim Meyering  <jim@meyering.net>
62019
62020         * lib/getugroups.h: New file.
62021         * lib/getugroups.c: Include "getugroups.h".
62022         Remove uses of "register" keyword.
62023         Move local variable, "cp", down into scope where used.
62024         Give "username" parameter the "const" attribute.
62025         * modules/getugroups (Files): Add lib/getugroups.h
62026
62027 2007-07-04  Karl Berry  <karl@gnu.org>
62028
62029         * MODULES.html.sh (func_all_modules): Complete rename of
62030         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
62031
62032 2007-07-02  Bruno Haible  <bruno@clisp.org>
62033
62034         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
62035         mode, when inttypes.h comes from gnulib.
62036         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
62037
62038 2007-07-02  Simon Josefsson  <simon@josefsson.org>
62039
62040         * NEWS: Mention lgpl module name change.
62041
62042         * modules/lgpl-2.1: Renamed from lgpl.
62043
62044         * NEWS: Mention gpl module name change.
62045
62046         * modules/gpl-3.0: New file, based on gpl-2.0.
62047
62048         * modules/gpl-2.0: Renamed from gpl.
62049
62050         * modules/gpl: Fix filename, doc/gpl.texi is now found at
62051         doc/gpl-2.0.texi.
62052
62053 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
62054
62055         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
62056         #define __STDC_LIMIT_MACROS temporarily while including
62057         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
62058         Problem reported by Joel E. Denny in
62059         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
62060
62061 2007-07-01  Bruno Haible  <bruno@clisp.org>
62062
62063         * lib/unistdio.h: New file.
62064         * lib/unistdio/u-asnprintf.h: New file.
62065         * lib/unistdio/u-asprintf.h: New file.
62066         * lib/unistdio/u-printf-args.c: New file.
62067         * lib/unistdio/u-printf-args.h: New file.
62068         * lib/unistdio/u-printf-parse.h: New file.
62069         * lib/unistdio/u-snprintf.h: New file.
62070         * lib/unistdio/u-sprintf.h: New file.
62071         * lib/unistdio/u-vasprintf.h: New file.
62072         * lib/unistdio/u-vsnprintf.h: New file.
62073         * lib/unistdio/u-vsprintf.h: New file.
62074         * lib/unistdio/ulc-asnprintf.c: New file.
62075         * lib/unistdio/ulc-asprintf.c: New file.
62076         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
62077         * lib/unistdio/ulc-printf-parse.c: New file.
62078         * lib/unistdio/ulc-snprintf.c: New file.
62079         * lib/unistdio/ulc-sprintf.c: New file.
62080         * lib/unistdio/ulc-vasnprintf.c: New file.
62081         * lib/unistdio/ulc-vasprintf.c: New file.
62082         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
62083         * lib/unistdio/ulc-vsnprintf.c: New file.
62084         * lib/unistdio/ulc-vsprintf.c: New file.
62085         * lib/unistdio/u8-asnprintf.c: New file.
62086         * lib/unistdio/u8-asprintf.c: New file.
62087         * lib/unistdio/u8-printf-parse.c: New file.
62088         * lib/unistdio/u8-snprintf.c: New file.
62089         * lib/unistdio/u8-sprintf.c: New file.
62090         * lib/unistdio/u8-vasnprintf.c: New file.
62091         * lib/unistdio/u8-vasprintf.c: New file.
62092         * lib/unistdio/u8-vsnprintf.c: New file.
62093         * lib/unistdio/u8-vsprintf.c: New file.
62094         * lib/unistdio/u8-u8-asnprintf.c: New file.
62095         * lib/unistdio/u8-u8-asprintf.c: New file.
62096         * lib/unistdio/u8-u8-snprintf.c: New file.
62097         * lib/unistdio/u8-u8-sprintf.c: New file.
62098         * lib/unistdio/u8-u8-vasnprintf.c: New file.
62099         * lib/unistdio/u8-u8-vasprintf.c: New file.
62100         * lib/unistdio/u8-u8-vsnprintf.c: New file.
62101         * lib/unistdio/u8-u8-vsprintf.c: New file.
62102         * lib/unistdio/u16-asnprintf.c: New file.
62103         * lib/unistdio/u16-asprintf.c: New file.
62104         * lib/unistdio/u16-printf-parse.c: New file.
62105         * lib/unistdio/u16-snprintf.c: New file.
62106         * lib/unistdio/u16-sprintf.c: New file.
62107         * lib/unistdio/u16-vasnprintf.c: New file.
62108         * lib/unistdio/u16-vasprintf.c: New file.
62109         * lib/unistdio/u16-vsnprintf.c: New file.
62110         * lib/unistdio/u16-vsprintf.c: New file.
62111         * lib/unistdio/u16-u16-asnprintf.c: New file.
62112         * lib/unistdio/u16-u16-asprintf.c: New file.
62113         * lib/unistdio/u16-u16-snprintf.c: New file.
62114         * lib/unistdio/u16-u16-sprintf.c: New file.
62115         * lib/unistdio/u16-u16-vasnprintf.c: New file.
62116         * lib/unistdio/u16-u16-vasprintf.c: New file.
62117         * lib/unistdio/u16-u16-vsnprintf.c: New file.
62118         * lib/unistdio/u16-u16-vsprintf.c: New file.
62119         * lib/unistdio/u32-asnprintf.c: New file.
62120         * lib/unistdio/u32-asprintf.c: New file.
62121         * lib/unistdio/u32-printf-parse.c: New file.
62122         * lib/unistdio/u32-snprintf.c: New file.
62123         * lib/unistdio/u32-sprintf.c: New file.
62124         * lib/unistdio/u32-vasnprintf.c: New file.
62125         * lib/unistdio/u32-vasprintf.c: New file.
62126         * lib/unistdio/u32-vsnprintf.c: New file.
62127         * lib/unistdio/u32-vsprintf.c: New file.
62128         * lib/unistdio/u32-u32-asnprintf.c: New file.
62129         * lib/unistdio/u32-u32-asprintf.c: New file.
62130         * lib/unistdio/u32-u32-snprintf.c: New file.
62131         * lib/unistdio/u32-u32-sprintf.c: New file.
62132         * lib/unistdio/u32-u32-vasnprintf.c: New file.
62133         * lib/unistdio/u32-u32-vasprintf.c: New file.
62134         * lib/unistdio/u32-u32-vsnprintf.c: New file.
62135         * lib/unistdio/u32-u32-vsprintf.c: New file.
62136         * tests/unistdio/test-ulc-asnprintf1.c: New file.
62137         * tests/unistdio/test-ulc-asnprintf1.h: New file.
62138         * tests/unistdio/test-ulc-printf1.h: New file.
62139         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
62140         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
62141         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
62142         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
62143         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
62144         * tests/unistdio/test-ulc-vasprintf1.c: New file.
62145         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
62146         * tests/unistdio/test-ulc-vsprintf1.c: New file.
62147         * tests/unistdio/test-u8-asnprintf1.c: New file.
62148         * tests/unistdio/test-u8-asnprintf1.h: New file.
62149         * tests/unistdio/test-u8-printf1.h: New file.
62150         * tests/unistdio/test-u8-vasnprintf1.c: New file.
62151         * tests/unistdio/test-u8-vasnprintf2.c: New file.
62152         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
62153         * tests/unistdio/test-u8-vasnprintf3.c: New file.
62154         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
62155         * tests/unistdio/test-u8-vasprintf1.c: New file.
62156         * tests/unistdio/test-u8-vsnprintf1.c: New file.
62157         * tests/unistdio/test-u8-vsprintf1.c: New file.
62158         * tests/unistdio/test-u16-asnprintf1.c: New file.
62159         * tests/unistdio/test-u16-asnprintf1.h: New file.
62160         * tests/unistdio/test-u16-printf1.h: New file.
62161         * tests/unistdio/test-u16-vasnprintf1.c: New file.
62162         * tests/unistdio/test-u16-vasnprintf2.c: New file.
62163         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
62164         * tests/unistdio/test-u16-vasnprintf3.c: New file.
62165         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
62166         * tests/unistdio/test-u16-vasprintf1.c: New file.
62167         * tests/unistdio/test-u16-vsnprintf1.c: New file.
62168         * tests/unistdio/test-u16-vsprintf1.c: New file.
62169         * tests/unistdio/test-u32-asnprintf1.c: New file.
62170         * tests/unistdio/test-u32-asnprintf1.h: New file.
62171         * tests/unistdio/test-u32-printf1.h: New file.
62172         * tests/unistdio/test-u32-vasnprintf1.c: New file.
62173         * tests/unistdio/test-u32-vasnprintf2.c: New file.
62174         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
62175         * tests/unistdio/test-u32-vasnprintf3.c: New file.
62176         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
62177         * tests/unistdio/test-u32-vasprintf1.c: New file.
62178         * tests/unistdio/test-u32-vsnprintf1.c: New file.
62179         * tests/unistdio/test-u32-vsprintf1.c: New file.
62180         * modules/unistdio/base: New file.
62181         * modules/unistdio/u-printf-args: New file.
62182         * modules/unistdio/ulc-asnprintf: New file.
62183         * modules/unistdio/ulc-asprintf: New file.
62184         * modules/unistdio/ulc-fprintf: New file.
62185         * modules/unistdio/ulc-printf-parse: New file.
62186         * modules/unistdio/ulc-snprintf: New file.
62187         * modules/unistdio/ulc-sprintf: New file.
62188         * modules/unistdio/ulc-vasnprintf: New file.
62189         * modules/unistdio/ulc-vasprintf: New file.
62190         * modules/unistdio/ulc-vfprintf: New file.
62191         * modules/unistdio/ulc-vsnprintf: New file.
62192         * modules/unistdio/ulc-vsprintf: New file.
62193         * modules/unistdio/u8-asnprintf: New file.
62194         * modules/unistdio/u8-asprintf: New file.
62195         * modules/unistdio/u8-printf-parse: New file.
62196         * modules/unistdio/u8-snprintf: New file.
62197         * modules/unistdio/u8-sprintf: New file.
62198         * modules/unistdio/u8-vasnprintf: New file.
62199         * modules/unistdio/u8-vasprintf: New file.
62200         * modules/unistdio/u8-vsnprintf: New file.
62201         * modules/unistdio/u8-vsprintf: New file.
62202         * modules/unistdio/u8-u8-asnprintf: New file.
62203         * modules/unistdio/u8-u8-asprintf: New file.
62204         * modules/unistdio/u8-u8-snprintf: New file.
62205         * modules/unistdio/u8-u8-sprintf: New file.
62206         * modules/unistdio/u8-u8-vasnprintf: New file.
62207         * modules/unistdio/u8-u8-vasprintf: New file.
62208         * modules/unistdio/u8-u8-vsnprintf: New file.
62209         * modules/unistdio/u8-u8-vsprintf: New file.
62210         * modules/unistdio/u16-asnprintf: New file.
62211         * modules/unistdio/u16-asprintf: New file.
62212         * modules/unistdio/u16-printf-parse: New file.
62213         * modules/unistdio/u16-snprintf: New file.
62214         * modules/unistdio/u16-sprintf: New file.
62215         * modules/unistdio/u16-vasnprintf: New file.
62216         * modules/unistdio/u16-vasprintf: New file.
62217         * modules/unistdio/u16-vsnprintf: New file.
62218         * modules/unistdio/u16-vsprintf: New file.
62219         * modules/unistdio/u16-u16-asnprintf: New file.
62220         * modules/unistdio/u16-u16-asprintf: New file.
62221         * modules/unistdio/u16-u16-snprintf: New file.
62222         * modules/unistdio/u16-u16-sprintf: New file.
62223         * modules/unistdio/u16-u16-vasnprintf: New file.
62224         * modules/unistdio/u16-u16-vasprintf: New file.
62225         * modules/unistdio/u16-u16-vsnprintf: New file.
62226         * modules/unistdio/u16-u16-vsprintf: New file.
62227         * modules/unistdio/u32-asnprintf: New file.
62228         * modules/unistdio/u32-asprintf: New file.
62229         * modules/unistdio/u32-printf-parse: New file.
62230         * modules/unistdio/u32-snprintf: New file.
62231         * modules/unistdio/u32-sprintf: New file.
62232         * modules/unistdio/u32-vasnprintf: New file.
62233         * modules/unistdio/u32-vasprintf: New file.
62234         * modules/unistdio/u32-vsnprintf: New file.
62235         * modules/unistdio/u32-vsprintf: New file.
62236         * modules/unistdio/u32-u32-asnprintf: New file.
62237         * modules/unistdio/u32-u32-asprintf: New file.
62238         * modules/unistdio/u32-u32-snprintf: New file.
62239         * modules/unistdio/u32-u32-sprintf: New file.
62240         * modules/unistdio/u32-u32-vasnprintf: New file.
62241         * modules/unistdio/u32-u32-vasprintf: New file.
62242         * modules/unistdio/u32-u32-vsnprintf: New file.
62243         * modules/unistdio/u32-u32-vsprintf: New file.
62244         * modules/unistdio/ulc-asnprintf-tests: New file.
62245         * modules/unistdio/ulc-vasnprintf-tests: New file.
62246         * modules/unistdio/ulc-vasprintf-tests: New file.
62247         * modules/unistdio/ulc-vsnprintf-tests: New file.
62248         * modules/unistdio/ulc-vsprintf-tests: New file.
62249         * modules/unistdio/u8-asnprintf-tests: New file.
62250         * modules/unistdio/u8-vasnprintf-tests: New file.
62251         * modules/unistdio/u8-vasprintf-tests: New file.
62252         * modules/unistdio/u8-vsnprintf-tests: New file.
62253         * modules/unistdio/u8-vsprintf-tests: New file.
62254         * modules/unistdio/u16-asnprintf-tests: New file.
62255         * modules/unistdio/u16-vasnprintf-tests: New file.
62256         * modules/unistdio/u16-vasprintf-tests: New file.
62257         * modules/unistdio/u16-vsnprintf-tests: New file.
62258         * modules/unistdio/u16-vsprintf-tests: New file.
62259         * modules/unistdio/u32-asnprintf-tests: New file.
62260         * modules/unistdio/u32-vasnprintf-tests: New file.
62261         * modules/unistdio/u32-vasprintf-tests: New file.
62262         * modules/unistdio/u32-vsnprintf-tests: New file.
62263         * modules/unistdio/u32-vsprintf-tests: New file.
62264         * MODULES.html.sh (Unicode string functions): Add the new modules.
62265
62266 2007-07-01  Bruno Haible  <bruno@clisp.org>
62267
62268         * lib/sprintf.c (sprintf): Limit the available length estimation,
62269         to avoid address wraparound.
62270         * lib/vsprintf.c (vsprintf): Likewise.
62271         * modules/sprintf-posix (Dependencies): Add stdint.
62272         * modules/vsprintf-posix (Dependencies): Likewise.
62273
62274 2007-07-01  Bruno Haible  <bruno@clisp.org>
62275
62276         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
62277         Windows PATH as well. Conservative double-quoting. Comments.
62278
62279 2007-07-01  Bruno Haible  <bruno@clisp.org>
62280             Eric Blake  <ebb9@byu.net>
62281             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62282
62283         * gnulib-tool (self_abspathname): Fix algorithm to cope with
62284         empty components in $PATH, denoting '.'.
62285
62286 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62287
62288         * gnulib-tool: Fix indentation.
62289         (func_create_megatestdir): Likewise.
62290         Report by Bruno Haible.
62291
62292 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62293
62294         Sync from Automake.
62295         * build-aux/gnupload: Fix shell portability issues with for loops.
62296         Report by Karl Berry.
62297
62298 2007-06-29  Simon Josefsson  <simon@josefsson.org>
62299
62300         * build-aux/maint.mk (POURL): Use translationproject.org.
62301
62302 2007-06-27  Simon Josefsson  <simon@josefsson.org>
62303             Bruno Haible  <bruno@clisp.org>
62304
62305         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
62306         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
62307         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
62308         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
62309         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
62310
62311 2007-06-27  Bruno Haible  <bruno@clisp.org>
62312
62313         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
62314         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
62315
62316 2007-06-26  Karl Berry  <karl@gnu.org>
62317
62318         * MODULES.html.sh: remove xreadlink-with-size.
62319
62320 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62321
62322         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
62323         method that I hope also handles the double-include problem noted
62324         by Bruno Haible in
62325         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
62326
62327 2007-06-23  Bruno Haible  <bruno@clisp.org>
62328
62329         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
62330         Don't let the 'mostlyclean' target fail if the last subdirectory could
62331         not be removed.
62332         Reported by Karl Berry.
62333
62334 2007-06-23  Bruno Haible  <bruno@clisp.org>
62335
62336         * gnulib-tool (echo): Add a speedier workaround for ksh.
62337         * tests/test-echo.sh: Likewise.
62338
62339 2007-06-23  Bruno Haible  <bruno@clisp.org>
62340
62341         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
62342         * tests/test-echo.sh: Likewise.
62343
62344 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62345
62346         * gnulib-tool (IFS): Initialize early, so we don't set it to
62347         empty later.
62348         (self_abspathname): Rewrite algorithm to set it, reindent.
62349         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
62350         (func_create_megatestdir): Merge some sed scripts.
62351
62352 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
62353
62354         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
62355         exposed by Sun Studio 11 cc on Solaris 8.
62356
62357 2007-06-22  Bruno Haible  <bruno@clisp.org>
62358
62359         * gnulib-tool (echo): Ensure the echo primitive does not interpret
62360         backslashes.
62361         * tests/test-echo.sh: New file.
62362
62363 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62364
62365         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
62366         simplify `sed_replace_build_aux' scripts, they are portable but
62367         echoing them with `echo' is not.
62368         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
62369
62370 2007-06-21  Karl Berry  <karl@gnu.org>
62371
62372         * config/srclist.txt: guess we can't handle the licenses via
62373         srclist at the moment.
62374
62375 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
62376
62377         * MODULES.html.sh: Add include_next.
62378         * modules/include_next: New file.
62379
62380 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
62381
62382         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
62383         INCLUDE_NEXT.
62384         (gl_CHECK_NEXT_HEADERS): New macro.
62385         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
62386         the obsolescent gl_ABSOLUTE_HEADER.
62387         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
62388         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
62389         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
62390         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
62391         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
62392         * m4/math_h.m4 (gl_MATH_H): Likewise.
62393         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
62394         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
62395         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
62396         * m4/stdint.m4 (gl_STDINT_H): Likewise.
62397         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
62398         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
62399         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
62400         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
62401         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
62402         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
62403         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
62404         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
62405         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
62406         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
62407         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
62408         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
62409         * m4/inttypes.m4 (gl_INTTYPES_H): Define
62410         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
62411         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
62412         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
62413         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
62414         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
62415         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
62416         * lib/float_.h: Likewise.
62417         * lib/inttypes_.h: Likewise.
62418         * lib/math_.h: Likewise.
62419         * lib/search_.h: Likewise.
62420         * lib/signal_.h: Likewise.
62421         * lib/stdint_.h: Likewise.
62422         * lib/stdio_.h: Likewise.
62423         * lib/stdlib_.h: Likewise.
62424         * lib/string_.h: Likewise.
62425         * lib/sys_stat_.h: Likewise.
62426         * lib/sys_time_.h: Likewise.
62427         * lib/time_.h: Likewise.
62428         * lib/unistd_.h: Likewise.
62429         * lib/wchar_.h: Likewise.
62430         * lib/wctype_.h: Likewise.
62431         * lib/dirent_.h: Likewise.
62432         * lib/iconv_.h: Likewise.
62433         * lib/locale_.h: Likewise.
62434         * lib/netinet_in_.h: Likewise.
62435         * lib/sys_select_.h: Likewise.
62436         * lib/sys_socket_.h: Likewise.
62437         * lib/sysexits_.h: Likewise.
62438         * modules/fcntl (Depends-on): Depend on include_next, not
62439         absolute_header.
62440         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
62441         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
62442         * modules/fchdir: Likewise.
62443         * modules/float: Likewise.
62444         * modules/iconv_open: Likewise.
62445         * modules/inttypes: Likewise.
62446         * modules/locale: Likewise.
62447         * modules/math: Likewise.
62448         * modules/netinet_in: Likewise.
62449         * modules/search: Likewise.
62450         * modules/signal: Likewise.
62451         * modules/stdint: Likewise.
62452         * modules/stdio: Likewise.
62453         * modules/stdlib: Likewise.
62454         * modules/string: Likewise.
62455         * modules/sys_select: Likewise.
62456         * modules/sys_socket: Likewise.
62457         * modules/sys_stat: Likewise.
62458         * modules/sys_time: Likewise.
62459         * modules/sysexits: Likewise.
62460         * modules/time: Likewise.
62461         * modules/unistd: Likewise.
62462         * modules/wchar: Likewise.
62463         * modules/wctype: Likewise.
62464         * modules/sys_stat: Change maintainer to "all".
62465         * modules/unistd: Likewise.
62466
62467 2007-06-20  Karl Berry  <karl@gnu.org>
62468
62469         * config/srclist.txt: track www changes in license files.
62470
62471 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
62472
62473         * build-aux/bootstrap: Remove stray dot.
62474         Make sure build_aux settings are honored when linking
62475         gnulib_extra_files.
62476
62477 2007-06-19  Eric Blake  <ebb9@byu.net>
62478
62479         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
62480         Allow compilation on cygwin.
62481
62482 2007-06-19  Jim Meyering  <jim@meyering.net>
62483
62484         xreadlink-with-size: Remove module.  No longer used.
62485         Ex-callers now use xreadlink or mreadlink-with-size.
62486         * modules/xreadlink-with-size: Remove module.
62487         * lib/xreadlink-with-size.c: Remove file.
62488         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
62489         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
62490         just before the function definition *is* accurate.
62491
62492         Eliminate one way canonicalize_filename_mode could exit.
62493         * lib/canonicalize.c (canonicalize_filename_mode):
62494         Use mreadlink_with_size, not xreadlink_with_size.
62495
62496 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
62497
62498         Detect porting problems to FreeBSD/arm, which has time_t wider than
62499         long int.  Original problem reported for GNU diff by Xin Li in
62500         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
62501         * modules/getdate (Depends-on): Add intprops, verify.
62502         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
62503         is an integer type no wider than long int.
62504
62505 2007-06-18  Jim Meyering  <jim@meyering.net>
62506
62507         New module: mreadlink-with-size.
62508         * MODULES.html.sh: Add mreadlink-with-size.
62509         * modules/mreadlink-with-size: New module
62510         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
62511         not xreadlink-with-size.
62512         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
62513
62514 2007-06-16  Bruno Haible  <bruno@clisp.org>
62515
62516         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
62517         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
62518         Reported by Gary V. Vaughan <gary@gnu.org>.
62519
62520 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
62521
62522         Revamp lchown so that it lives in unistd.h where it belongs.
62523         * lib/lchown.h: Remove.
62524         * lib/dirchownmod.c: Don't include lib/lchown.h.
62525         * lib/fchownat.c: Likewise.
62526         * lib/openat.c: Likewise.
62527         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
62528         does not follow symlinks.
62529         (EOPNOTSUPP): Define if not defined.
62530         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
62531         is defined to 0.
62532         (lchown): New decl.
62533         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
62534         Do not check for lchown decl.
62535         Set REPLACE_LCHOWN.
62536         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
62537         REPLACE_LCHOWN.
62538         * modules/chown: Make it clear it follows symlinks.
62539         * modules/lchown: Make it clear it doesn't follow symlinks.
62540         (Files): Remove lib/lchown.h
62541         (Depends-on): Add unistd.
62542         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
62543         (Include): Include <unistd.h>, not "lchown.h".
62544         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
62545         REPLACE_LCHOWN.
62546
62547 2007-06-15  Jim Meyering  <jim@meyering.net>
62548
62549         Change license (GPL to LGPL) of fsusage and dependents.
62550         * modules/fsusage (License): Change to LGPL.
62551         * modules/full-read (License): Likewise.
62552         * modules/full-write (License): Likewise.
62553         * modules/safe-read (License): Likewise.
62554         * modules/safe-write (License): Likewise.
62555
62556 2007-06-14  Ben Pfaff  <blp@gnu.org>
62557
62558         Missing part of allocsa -> malloca transition.
62559         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
62560         gl_MALLOCA.
62561
62562 2007-06-12  Bruno Haible  <bruno@clisp.org>
62563
62564         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
62565         to ia64, x86_64, i386.
62566         Reported by Eric Blake.
62567
62568 2007-06-12  Bruno Haible  <bruno@clisp.org>
62569
62570         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
62571         cross-compiling to x86_64.
62572
62573 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
62574
62575         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
62576         glitch reported by Ralf Wildenhues in
62577         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
62578
62579         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
62580         Vin Shelton.
62581
62582 2007-06-11  Bruno Haible  <bruno@clisp.org>
62583
62584         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
62585         replacement string.
62586         Reported by Eric Blake.
62587
62588 2007-06-10  Bruno Haible  <bruno@clisp.org>
62589
62590         Prepare vasnprintf code for use with Unicode strings.
62591         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
62592         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
62593         TYPE_U32_STRING.
62594         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
62595         a_u32_string variants.
62596         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
62597         * lib/printf-args.c: Don't include config.h and the specification
62598         header if PRINTF_FETCHARGS is already defined.
62599         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
62600         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
62601         TYPE_U16_STRING, TYPE_U32_STRING.
62602         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
62603         u16_directive, u16_directives, u32_directive, u32_directives): New
62604         types.
62605         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
62606         New declarations.
62607         * lib/printf-parse.c: Don't include config.h and the specification
62608         header if PRINTF_PARSE is already defined. Eliminate the set of
62609         parameters for WIDE_CHAR_VERSION; the user of this file must provide
62610         them now. Include c-ctype.h.
62611         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
62612         directive and CHAR_T_ONLY_ASCII.
62613         * lib/vasnprintf.c: Don't include config.h and the specification header
62614         if VASNPRINTF is already defined.
62615         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
62616         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
62617         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
62618         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
62619         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
62620         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
62621         code accordingly.
62622         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
62623         pad_ourselves also in this case, with the 'c' and 's' directives, and
62624         with a different notion of "width".
62625         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
62626
62627 2007-06-10  Bruno Haible  <bruno@clisp.org>
62628
62629         * modules/unistr/u32-mbsnlen: New file.
62630         * lib/unistr/u32-mbsnlen.c: New file.
62631
62632         * modules/unistr/u16-mbsnlen: New file.
62633         * lib/unistr/u16-mbsnlen.c: New file.
62634
62635         * modules/unistr/u8-mbsnlen: New file.
62636         * lib/unistr/u8-mbsnlen.c: New file.
62637
62638         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
62639         declarations.
62640
62641 2007-06-10  Bruno Haible  <bruno@clisp.org>
62642
62643         * lib/string_.h (mbsnlen): New declaration.
62644         * lib/mbsnlen.c: New file.
62645         * m4/mbsnlen.m4: New file.
62646         * modules/mbsnlen: New file.
62647         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
62648         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
62649         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
62650
62651 2007-06-10  Bruno Haible  <bruno@clisp.org>
62652
62653         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
62654
62655 2007-06-10  Bruno Haible  <bruno@clisp.org>
62656
62657         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
62658         * lib/mbuiter.h: Likewise.
62659
62660 2007-06-10  Bruno Haible  <bruno@clisp.org>
62661
62662         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
62663         declaration.
62664
62665 2007-06-10  Karl Berry  <karl@gnu.org>
62666
62667         * config/srclist.txt: remove gettext entries, Bruno prefers
62668         to update individually.
62669
62670 2007-06-10  Bruno Haible  <bruno@clisp.org>
62671
62672         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
62673         'maxlen'. Ensure only length + width bytes are allocated, not
62674         length + 1 + width.
62675
62676 2007-06-09  Bruno Haible  <bruno@clisp.org>
62677
62678         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
62679         (CHAR_T): Remove macro.
62680         (VASNPRINTF): Update.
62681
62682 2007-06-09  Bruno Haible  <bruno@clisp.org>
62683
62684         * MODULES.html.sh (Unicode string functions): Add the new modules.
62685
62686         * modules/uniconv/u32-conv-to-enc: New file.
62687         * lib/uniconv/u32-conv-to-enc.c: New file.
62688         * modules/uniconv/u32-conv-to-enc-tests: New file.
62689         * tests/uniconv/test-u32-conv-to-enc.c: New file.
62690
62691         * modules/uniconv/u16-conv-to-enc: New file.
62692         * lib/uniconv/u16-conv-to-enc.c: New file.
62693         * lib/uniconv/u-conv-to-enc.h: New file.
62694         * modules/uniconv/u16-conv-to-enc-tests: New file.
62695         * tests/uniconv/test-u16-conv-to-enc.c: New file.
62696
62697         * modules/uniconv/u8-conv-to-enc: New file.
62698         * lib/uniconv/u8-conv-to-enc.c: New file.
62699         * modules/uniconv/u8-conv-to-enc-tests: New file.
62700         * tests/uniconv/test-u8-conv-to-enc.c: New file.
62701
62702         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
62703         u32_conv_to_encoding): New declarations.
62704
62705 2007-06-09  Bruno Haible  <bruno@clisp.org>
62706
62707         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
62708
62709 2007-06-09  Bruno Haible  <bruno@clisp.org>
62710
62711         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
62712         * modules/malloca: Renamed from modules/allocsa, updated.
62713         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
62714         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
62715         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
62716         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
62717         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
62718         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
62719         * modules/xmalloca: Renamed from modules/xallocsa, updated.
62720         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
62721         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
62722         * modules/c-strcasestr (Depends-on): Update.
62723         * lib/c-strcasestr.c: Update.
62724         * modules/c-strstr (Depends-on): Update.
62725         * lib/c-strstr.c: Update.
62726         * modules/canonicalize-lgpl (Depends-on): Update.
62727         * lib/canonicalize-lgpl.c: Update.
62728         * modules/clean-temp (Depends-on): Update.
62729         * lib/clean-temp.c: Update.
62730         * modules/csharpcomp (Depends-on): Update.
62731         * lib/csharpcomp.c: Update.
62732         * modules/csharpexec (Depends-on): Update.
62733         * lib/csharpexec.c: Update.
62734         * modules/javacomp (Depends-on): Update.
62735         * lib/javacomp.c: Update.
62736         * modules/javaexec (Depends-on): Update.
62737         * lib/javaexec.c: Update.
62738         * modules/mbscasestr (Depends-on): Update.
62739         * lib/mbscasestr.c: Update.
62740         * modules/mbsstr (Depends-on): Update.
62741         * lib/mbsstr.c: Update.
62742         * modules/setenv (Depends-on): Update.
62743         * lib/setenv.c: Update.
62744         * modules/strcasestr (Depends-on): Update.
62745         * lib/strcasestr.c: Update.
62746         * modules/striconveha (Depends-on): Update.
62747         * lib/striconveha.c: Update.
62748         * modules/relocatable-prog-wrapper (Files): Update.
62749         * lib/relocwrapper.c: Update.
62750         * build-aux/install-reloc: Update.
62751         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
62752
62753 2007-06-08  Bruno Haible  <bruno@clisp.org>
62754
62755         Port to uClibc.
62756         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
62757         * lib/fpurge.c (fpurge): Likewise.
62758         * lib/freading.c (freading): Likewise.
62759         * lib/fseeko.c (rpl_fseeko): Likewise.
62760         * lib/fseterr.c (fseterr): Likewise.
62761         * lib/fwriting.c (fwriting): Likewise.
62762         * tests/test-fflush.c (main): Avoid a failure on uClibc.
62763
62764 2007-06-08  Bruno Haible  <bruno@clisp.org>
62765
62766         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
62767         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
62768         * modules/gettext (Files): Add m4/intlmacosx.m4.
62769
62770 2007-06-07  Bruno Haible  <bruno@clisp.org>
62771
62772         * modules/localename-tests: New file.
62773         * tests/test-localename.c: New file.
62774
62775         New module 'localename'.
62776         * lib/localename.h: New file.
62777         * lib/localename.c: New file, from GNU gettext.
62778         * m4/localename.m4: New file.
62779         * modules/localename: New file.
62780
62781 2007-06-07  Bruno Haible  <bruno@clisp.org>
62782
62783         Work around the lack of <wchar.h> on some builds of uClibc.
62784         * doc/headers/wchar.texi: Update.
62785         * lib/wchar_.h: Include <wchar.h> only if it exists.
62786         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
62787         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
62788         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
62789         doesn't exist.
62790         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
62791         * modules/mbfile (Depends-on): Add wchar.
62792         * modules/mbiter (Depends-on): Likewise.
62793         * modules/mbuiter (Depends-on): Likewise.
62794         Reported by Simon Josefsson.
62795
62796 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
62797
62798         Work around problem reported by Steven M. Schweda in
62799         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
62800         Tru64 5.1B with the Compaq compiler environment installed declares
62801         an 'isblank' function but does not define it in the C library.
62802         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
62803         * lib/regex_internal.h (isblank): Likewise.
62804         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
62805         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
62806
62807 2007-06-05  Bruno Haible  <bruno@clisp.org>
62808
62809         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
62810         ia64.
62811         * modules/printf-safe: New file.
62812         * modules/fprintf-posix (Depends-on): Add printf-safe.
62813         * modules/printf-posix (Depends-on): Likewise.
62814         * modules/snprintf-posix (Depends-on): Likewise.
62815         * modules/sprintf-posix (Depends-on): Likewise.
62816         * modules/vasnprintf-posix (Depends-on): Likewise.
62817         * modules/vasprintf-posix (Depends-on): Likewise.
62818         * modules/vfprintf-posix (Depends-on): Likewise.
62819         * modules/vprintf-posix (Depends-on): Likewise.
62820         * modules/vsnprintf-posix (Depends-on): Likewise.
62821         * modules/vsprintf-posix (Depends-on): Likewise.
62822         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
62823         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
62824         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
62825         "no" on i386, x86_64, ia64.
62826         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
62827         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62828         on i386, x86_64, ia64.
62829         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
62830         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62831         on i386, x86_64, ia64.
62832         * tests/test-vasnprintf-posix.c: Include float.h.
62833         (LDBL80_WORDS): New macro.
62834         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62835         on i386, x86_64, ia64.
62836         * tests/test-vasprintf-posix.c: Include float.h.
62837         (LDBL80_WORDS): New macro.
62838         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
62839         on i386, x86_64, ia64.
62840         * tests/test-snprintf-posix.c: Include float.h.
62841         * tests/test-sprintf-posix.c: Likewise.
62842         * tests/test-vsnprintf-posix.c: Likewise.
62843         * tests/test-vsprintf-posix.c: Likewise.
62844
62845 2007-06-05  Bruno Haible  <bruno@clisp.org>
62846
62847         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
62848         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
62849         non-IEEE numbers on i386, x86_64, ia64.
62850         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
62851         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
62852         * tests/test-isnanl.h: Include float.h.
62853         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
62854
62855 2007-06-05  Bruno Haible  <bruno@clisp.org>
62856
62857         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
62858         also the %a / %A. Handle the %a / %A code before this extra handling.
62859
62860 2007-06-05  Bruno Haible  <bruno@clisp.org>
62861
62862         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
62863         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
62864
62865 2007-06-05  Bruno Haible  <bruno@clisp.org>
62866
62867         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
62868         typo in variable name.
62869
62870 2007-06-05  Eric Blake  <ebb9@byu.net>
62871
62872         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
62873         Reported by Simon Josefsson.
62874
62875 2007-06-04  Bruno Haible  <bruno@clisp.org>
62876
62877         Avoid test failures on some PowerPC platforms.
62878         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
62879         Define differently for PowerPC.
62880         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
62881         Reported by Gary V. Vaughan <gary@gnu.org>.
62882
62883 2007-06-02  Bruno Haible  <bruno@clisp.org>
62884
62885         Fix test-stdint failure on FreeBSD/ia64.
62886         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
62887         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
62888         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
62889         * doc/headers/stdint.texi: Update.
62890
62891 2007-06-01  Bruno Haible  <bruno@clisp.org>
62892
62893         * tests/test-binary-io.c (main): Pass a third argument to open().
62894         Reported by Gary V. Vaughan <gary@gnu.org>.
62895
62896 2007-06-01  Bruno Haible  <bruno@clisp.org>
62897
62898         * doc/functions/frexpl.texi: Update for mingw.
62899
62900 2007-06-01  Bruno Haible  <bruno@clisp.org>
62901
62902         * tests/test-lseek.c (main): Disable test of errno for invalid third
62903         argument.
62904         * doc/functions/lseek.texi: Update.
62905         Reported by Gary V. Vaughan <gary@gnu.org>.
62906
62907 2007-05-28  Bruno Haible  <bruno@clisp.org>
62908
62909         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
62910
62911 2007-05-31  Eric Blake  <ebb9@byu.net>
62912
62913         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
62914         cross compiling.
62915
62916 2007-05-30  Eric Blake  <ebb9@byu.net>
62917         and Bruno Haible  <bruno@clisp.org>
62918
62919         Work around mingw test failures exposed by m4-1.4.9b.
62920         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
62921         * tests/test-unistd.c: Disable uid_t and git_t tests for the
62922         moment.
62923
62924 2007-05-30  Bruno Haible  <bruno@clisp.org>
62925
62926         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
62927         assuming that they are closed. Needed on HP-UX 11.
62928
62929 2007-05-29  Bruno Haible  <bruno@clisp.org>
62930
62931         Fix a problem with #include_next.
62932         * lib/dirent_.h: Split the double-inclusion guard.
62933         * lib/fcntl_.h: Likewise.
62934         * lib/float_.h: Likewise.
62935         * lib/iconv_.h: Likewise.
62936         * lib/inttypes_.h: Likewise.
62937         * lib/locale_.h: Likewise.
62938         * lib/math_.h: Likewise.
62939         * lib/netinet_in_.h: Likewise.
62940         * lib/search_.h: Likewise.
62941         * lib/signal_.h: Likewise.
62942         * lib/stdint_.h: Likewise.
62943         * lib/stdio_.h: Likewise.
62944         * lib/stdlib_.h: Likewise.
62945         * lib/string_.h: Likewise.
62946         * lib/sys_select_.h: Likewise.
62947         * lib/sys_socket_.h: Likewise.
62948         * lib/sys_stat_.h: Likewise.
62949         * lib/sys_time_.h: Likewise.
62950         * lib/sysexits_.h: Likewise.
62951         * lib/time_.h: Likewise.
62952         * lib/unistd_.h: Likewise.
62953         * lib/wchar_.h: Likewise.
62954         * lib/wctype_.h: Likewise.
62955
62956 2007-05-29  Bruno Haible  <bruno@clisp.org>
62957
62958         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
62959         for the moment.
62960
62961 2007-05-29  Bruno Haible  <bruno@clisp.org>
62962
62963         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
62964         invocation.
62965         Reported by Eric Blake.
62966
62967 2007-05-29  Bruno Haible  <bruno@clisp.org>
62968
62969         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
62970         compiling case.
62971
62972 2007-05-29  Eric Blake  <ebb9@byu.net>
62973             Bruno Haible  <bruno@clisp.org>
62974
62975         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
62976         cross compiles.
62977
62978 2007-05-28  Eric Blake  <ebb9@byu.net>
62979
62980         * modules/closein-tests (test_closein_LDADD): Support test on
62981         cygwin with libtool.
62982
62983 2007-05-28  Bruno Haible  <bruno@clisp.org>
62984
62985         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
62986         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
62987         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
62988         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
62989         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
62990         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
62991         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
62992         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
62993         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
62994
62995 2007-05-28  Eric Blake  <ebb9@byu.net>
62996
62997         Unconditionally include <config.h> in unit tests.
62998         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
62999         * tests/test-allocsa.c, tests/test-arcfour.c,
63000         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
63001         tests/test-array_list.c, tests/test-array_oset.c,
63002         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
63003         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
63004         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
63005         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
63006         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
63007         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
63008         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
63009         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
63010         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
63011         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
63012         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
63013         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
63014         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
63015         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
63016         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
63017         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
63018         test-md5.c, test-memmem.c, test-printf-posix.c,
63019         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
63020         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
63021         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
63022         test-strcasestr.c, test-striconv.c, test-striconveh.c,
63023         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
63024         test-vasnprintf-posix2.c, test-vasnprintf.c,
63025         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
63026         test-vfprintf-posix.c, test-vprintf-posix.c,
63027         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
63028         test-xvasprintf.c: Likewise.
63029
63030 2007-05-28  Bruno Haible  <bruno@clisp.org>
63031
63032         * gnulib-tool (func_import): Remember the --with-tests command-line
63033         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
63034         Reported by Eric Blake.
63035
63036 2007-05-28  Bruno Haible  <bruno@clisp.org>
63037
63038         * modules/ftell-tests: New file.
63039         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
63040         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
63041
63042         * lib/ftell.c: New file.
63043         * modules/ftell: New file.
63044         * m4/ftell.m4: New file.
63045         * doc/functions/ftell.texi: Update.
63046         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
63047         REPLACE_FTELL.
63048         * lib/stdio_.h (rpl_ftell): New declaration.
63049         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
63050         REPLACE_FTELL.
63051
63052 2007-05-28  Eric Blake  <ebb9@byu.net>
63053
63054         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
63055
63056 2007-05-28  Bruno Haible  <bruno@clisp.org>
63057
63058         * modules/fseek-tests: New file.
63059         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
63060         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
63061
63062         * lib/fseek.c: New file.
63063         * modules/fseek: New file.
63064         * m4/fseek.m4: New file.
63065         * doc/functions/fseek.texi: Update.
63066         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
63067         REPLACE_FSEEK.
63068         * lib/stdio_.h (rpl_fseek): New declaration.
63069         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
63070         REPLACE_FSEEK.
63071
63072 2007-05-28  Bruno Haible  <bruno@clisp.org>
63073
63074         * lib/stdio_.h (fflush): More comments.
63075
63076 2007-05-28  Bruno Haible  <bruno@clisp.org>
63077
63078         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
63079         runtime test.
63080
63081 2007-05-28  Eric Blake  <ebb9@byu.net>
63082
63083         Improve lseek module.
63084         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
63085         * lib/unistd_.h (lseek): Scale back link warning message.
63086         * tests/test-lseek.c: Beef up test.
63087         * tests/test-lseek.sh: Exercise more facets of lseek.
63088         Reported by Bruno Haible.
63089
63090 2007-05-28  Bruno Haible  <bruno@clisp.org>
63091
63092         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
63093         to define.
63094
63095 2007-05-27  Bruno Haible  <bruno@clisp.org>
63096
63097         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
63098
63099 2007-05-27  Bruno Haible  <bruno@clisp.org>
63100
63101         * modules/openmp: New file.
63102         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
63103         Noah Misch.
63104
63105 2007-05-26  Bruno Haible  <bruno@clisp.org>
63106
63107         * modules/chdir-long (Depends-on): Add fchdir.
63108         * modules/chdir-safer (Depends-on): Likewise.
63109         * modules/fts (Depends-on): Likewise.
63110         * modules/fts-lgpl (Depends-on): Likewise.
63111         * modules/openat (Depends-on): Likewise.
63112         * modules/savewd (Depends-on): Likewise.
63113
63114 2007-05-24  Eric Blake  <ebb9@byu.net>
63115
63116         Fix lseek on mingw.
63117         * modules/lseek: New module.
63118         * m4/lseek.m4: New file.
63119         * lib/lseek.c: New file.
63120         * modules/lseek-tests: New file.
63121         * tests/test-lseek.c: New file.
63122         * tests/test-lseek.sh: New file.
63123         * MODULES.html.sh: Document lseek module.
63124         * modules/fflush (Depends-on): Add lseek, fseeko.
63125         * modules/fseeko (Depends-on): Likewise.
63126         * modules/ftello (Depends-on): Likewise.
63127         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
63128         broken.
63129         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
63130         broken.
63131         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
63132         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
63133         * lib/ftello.c (rpl_ftello): Likewise.
63134         * tests/test-fseeko.c (main): Test this.
63135         * tests/test-fseeko.sh: Likewise.
63136         * tests/test-ftello.c (main): Likewise.
63137         * tests/test-ftello.sh: Likewise.
63138         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
63139         implies replacing fseek.
63140         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
63141         HAVE_FTELLO.
63142         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
63143         * modules/unistd (Makefile.am): Likewise.
63144         * lib/unistd_.h (lseek): Declare a replacement.
63145         * doc/functions/lseek.texi (lseek): Document this fix.
63146         * doc/functions/fseek.texi (fseek): Likewise.
63147         * doc/functions/ftell.texi (ftell): Likewise.
63148
63149 2007-05-24  Bruno Haible  <bruno@clisp.org>
63150
63151         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
63152         in the printed representation of a NaN.
63153         * tests/test-vasprintf-posix.c (test_function): Likewise.
63154         * tests/test-snprintf-posix.h (test_function): Likewise.
63155         * tests/test-sprintf-posix.h (test_function): Likewise.
63156         Reported by Eric Blake.
63157
63158 2007-05-23  Eric Blake  <ebb9@byu.net>
63159
63160         Fix fseeko/ftello on cygwin 1.5.24.
63161         * doc/functions/fseeko.texi (fseeko): Document the fix.
63162         * doc/functions/ftello.texi (ftello): Document the fix.
63163         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
63164         * doc/functions/stdout.text (stdout): New file.
63165         * doc/functions/stderr.text (stderr): New file.
63166         * doc/gnulib.texi (Function Substitutes): Use new files.
63167         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
63168         prior to 1.7.0.
63169         * tests/test-ftello.c (main): Likewise for ftello.
63170         * tests/test-fseeko.sh: New file.
63171         * tests/test-ftello.sh: New file.
63172         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
63173         with seekable stdin.
63174         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
63175         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
63176         (gl_REPLACE_FSEEKO): New macro.
63177         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
63178         * modules/fseeko (Files): Distribute fseeko.c.
63179         * modules/ftello (Files): Distribute ftello.c.
63180         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
63181         mode.
63182         * lib/ftello.c (rpl_ftello): New file.
63183         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
63184         fseeko, ftello.
63185         (gl_STDIN_LARGE_OFFSET): New macro.
63186         * modules/stdio (Makefile.am): Perform the replacement.
63187         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
63188
63189 2007-05-23  Bruno Haible  <bruno@clisp.org>
63190
63191         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
63192         GNULIB_POSIXCHECK is defined.
63193
63194 2007-05-21  Bruno Haible  <bruno@clisp.org>
63195
63196         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
63197         Check also the output for NaN arguments. When cross-compiling, guess
63198         no on IRIX.
63199         * lib/vasnprintf.c: Update comments.
63200         * tests/test-vasnprintf-posix.c (strisnan): New function.
63201         (test_function): Use it.
63202         * tests/test-vasprintf-posix.c (strisnan): New function.
63203         (test_function): Use it.
63204         * tests/test-snprintf-posix.h (strisnan): New function.
63205         (test_function): Use it.
63206         * tests/test-sprintf-posix.h (strisnan): New function.
63207         (test_function): Use it.
63208         Reported by Eric Blake.
63209
63210 2007-05-20  Bruno Haible  <bruno@clisp.org>
63211
63212         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
63213         numbers that fails on BeOS.
63214         * doc/functions/frexpl.texi: Update.
63215
63216 2007-05-20  Jim Meyering  <jim@meyering.net>
63217
63218         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
63219         forced upon us by glibc-2.6.
63220
63221 2007-05-20  Bruno Haible  <bruno@clisp.org>
63222
63223         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
63224         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
63225         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
63226         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
63227         NEED_PRINTF_INFINITE.
63228         (is_infinitel): New function.
63229         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
63230         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
63231         gl_PREREQ_VASNPRINTF_INFINITE.
63232         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
63233         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63234         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
63235         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
63236         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
63237         gl_PREREQ_VASNPRINTF_INFINITE.
63238         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63239         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63240         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63241         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63242         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63243         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63244         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63245         * doc/functions/fprintf.texi: Update.
63246         * doc/functions/printf.texi: Update.
63247         * doc/functions/snprintf.texi: Update.
63248         * doc/functions/sprintf.texi: Update.
63249         * doc/functions/vfprintf.texi: Update.
63250         * doc/functions/vprintf.texi: Update.
63251         * doc/functions/vsnprintf.texi: Update.
63252         * doc/functions/vsprintf.texi: Update.
63253
63254 2007-05-20  Bruno Haible  <bruno@clisp.org>
63255
63256         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
63257         was not found in libc.
63258         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
63259
63260 2007-05-20  Bruno Haible  <bruno@clisp.org>
63261
63262         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63263         printed as "-nan" instead of "nan".
63264         * tests/test-vasprintf-posix.c (test_function): Likewise.
63265         * tests/test-snprintf-posix.h (test_function): Likewise.
63266         * tests/test-sprintf-posix.h (test_function): Likewise.
63267         Needed for HP-UX 11.
63268
63269 2007-05-20  Jim Meyering  <jim@meyering.net>
63270
63271         Fix buggy test for the fchownat-deref bug.
63272         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
63273         symlink required for the run-test.  Without it, this test would
63274         always declare that fchownat doesn't work, and client code would
63275         unnecessarily use the replacement function with fixed libc.
63276         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
63277         Reported by Greg Schafer.
63278
63279 2007-05-19  Bruno Haible  <bruno@clisp.org>
63280
63281         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
63282         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
63283         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
63284         Needed for IRIX 6.5 and Solaris 2.5.1.
63285
63286 2007-05-19  Bruno Haible  <bruno@clisp.org>
63287
63288         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
63289         (test_function): Skip tests involving -0.0 on platforms where
63290         -0.0 = 0.0.
63291         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
63292         (test_function): Skip tests involving -0.0 on platforms where
63293         -0.0 = 0.0.
63294         * tests/test-snprintf-posix.h (have_minus_zero): New function.
63295         (test_function): Skip tests involving -0.0 on platforms where
63296         -0.0 = 0.0.
63297         * tests/test-sprintf-posix.h (have_minus_zero): New function.
63298         (test_function): Skip tests involving -0.0 on platforms where
63299         -0.0 = 0.0.
63300         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
63301         tests.
63302         * tests/test-printf-posix.h (test_function): Likewise.
63303         * tests/test-printf-posix.output: Remove all -0.0 related results.
63304         Needed for IRIX 6.5.
63305
63306 2007-05-19  Bruno Haible  <bruno@clisp.org>
63307
63308         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
63309         printed as "nan0x7fffffff" instead of "nan".
63310         * tests/test-vasprintf-posix.c (test_function): Likewise.
63311         * tests/test-snprintf-posix.h (test_function): Likewise.
63312         * tests/test-sprintf-posix.h (test_function): Likewise.
63313         * tests/test-fprintf-posix.h (NaN): Remove macro.
63314         (test_function): Remove all NaN related tests.
63315         * tests/test-printf-posix.h (NaN): Remove macro.
63316         (test_function): Remove all NaN related tests.
63317         * tests/test-printf-posix.output: Remove all NaN related results.
63318         Needed for IRIX 6.5.
63319
63320 2007-05-19  Bruno Haible  <bruno@clisp.org>
63321
63322         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
63323         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
63324
63325 2007-05-19  Bruno Haible  <bruno@clisp.org>
63326
63327         * lib/float_.h: New file.
63328         * m4/float_h.m4: New file.
63329         * modules/float: New file.
63330         * modules/isnanl (Dependencies): Add float.
63331         * modules/isnanl-nolibm (Dependencies): Likewise.
63332         * modules/mathl (Dependencies): Likewise.
63333         * modules/printf-frexpl (Dependencies): Likewise.
63334         * modules/signbit (Dependencies): Likewise.
63335         * modules/vasnprintf (Dependencies): Likewise.
63336         * doc/headers/float.texi: Update.
63337
63338 2007-05-19  Jim Meyering  <jim@meyering.net>
63339
63340         * lib/utimens.c (gl_futimens): Rename from futimens,
63341         now that glibc-2.6 declares futimens.
63342         * lib/utimens.h: Likewise.
63343
63344 2007-05-19  Bruno Haible  <bruno@clisp.org>
63345
63346         Avoid test failures on mingw.
63347         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
63348         * tests/test-printf-posix.sh: Likewise.
63349         * tests/test-vfprintf-posix.sh: Likewise.
63350         * tests/test-vprintf-posix.sh: Likewise.
63351
63352 2007-05-19  Bruno Haible  <bruno@clisp.org>
63353
63354         Fix *printf result for NaN, Inf, -0.0 on mingw.
63355         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
63356         * lib/vasnprintf.c: Include math.h and isnan.h.
63357         (is_infinite_or_zero): New function.
63358         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
63359         values in the %f, %F, %e, %E, %g, %G directives.
63360         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
63361         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63362         gl_PRINTF_INFINITE and test its result. Invoke
63363         gl_PREREQ_VASNPRINTF_INFINITE.
63364         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63365         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63366         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63367         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63368         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63369         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63370         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63371         * doc/functions/fprintf.texi: Update.
63372         * doc/functions/printf.texi: Update.
63373         * doc/functions/snprintf.texi: Update.
63374         * doc/functions/sprintf.texi: Update.
63375         * doc/functions/vfprintf.texi: Update.
63376         * doc/functions/vprintf.texi: Update.
63377         * doc/functions/vsnprintf.texi: Update.
63378         * doc/functions/vsprintf.texi: Update.
63379
63380 2007-05-19  Bruno Haible  <bruno@clisp.org>
63381
63382         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
63383         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
63384         Instead of multiplying with 10^k, set extra_zeroes to k.
63385         (scale10_round_long_double): Remove function.
63386
63387 2007-05-18  Bruno Haible  <bruno@clisp.org>
63388
63389         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
63390         introduced on 2007-05-06.
63391
63392 2007-05-18  Bruno Haible  <bruno@clisp.org>
63393
63394         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
63395         %g directives.
63396         * tests/test-vasprintf-posix.c (test_function): Likewise.
63397         * tests/test-snprintf-posix.h (test_function): Likewise.
63398         * tests/test-sprintf-posix.h (test_function): Likewise.
63399
63400 2007-05-18  Bruno Haible  <bruno@clisp.org>
63401
63402         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
63403         (strmatch): New function.
63404         (test_function): Test the %f directive on numbers of various exponents.
63405         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
63406         (strmatch): New function.
63407         (test_function): Test the %f directive on numbers of various exponents.
63408         * tests/test-snprintf-posix.h (strmatch): New function.
63409         (test_function): Test the %f directive on numbers of various exponents.
63410         * tests/test-sprintf-posix.h (strmatch): New function.
63411         (test_function): Test the %f directive on numbers of various exponents.
63412         * tests/test-snprintf-posix.c (SIZEOF): New macro.
63413         * tests/test-sprintf-posix.c (SIZEOF): New macro.
63414         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
63415         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
63416
63417 2007-05-18  Bruno Haible  <bruno@clisp.org>
63418
63419         Add support for 'long double' number output.
63420         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
63421         * lib/vasnprintf.c: Include math.h and float+.h.
63422         (mp_limb_t): New type.
63423         (GMP_LIMB_BITS): New macro.
63424         (mp_twolimb_t): New type.
63425         (GMP_TWOLIMB_BITS): New macro.
63426         (mpn_t): New type.
63427         (multiply, divide, convert_to_decimal, decode_long_double,
63428         scale10_round_long_double, scale10_round_decimal_long_double,
63429         floorlog10l): New functions.
63430         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
63431         for the %f, %F, %e, %E, %g, %G directives.
63432         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
63433         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
63434         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
63435         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
63436         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
63437         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63438         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63439         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63440         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63441         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63442         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63443         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
63444         * modules/snprintf-posix (Depends-on): Likewise.
63445         * modules/sprintf-posix (Depends-on): Likewise.
63446         * modules/vasnprintf-posix (Depends-on): Likewise.
63447         * modules/vasprintf-posix (Depends-on): Likewise.
63448         * modules/vfprintf-posix (Depends-on): Likewise.
63449         * modules/vsnprintf-posix (Depends-on): Likewise.
63450         * modules/vsprintf-posix (Depends-on): Likewise.
63451         * modules/vasnprintf (Files): Add lib/float+.h.
63452         * doc/functions/fprintf.texi: Update.
63453         * doc/functions/printf.texi: Update.
63454         * doc/functions/snprintf.texi: Update.
63455         * doc/functions/sprintf.texi: Update.
63456         * doc/functions/vfprintf.texi: Update.
63457         * doc/functions/vprintf.texi: Update.
63458         * doc/functions/vsnprintf.texi: Update.
63459         * doc/functions/vsprintf.texi: Update.
63460
63461 2007-05-18  Bruno Haible  <bruno@clisp.org>
63462
63463         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
63464
63465 2007-05-18  Bruno Haible  <bruno@clisp.org>
63466
63467         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
63468         for printing 64-bit integers. Needed for mingw.
63469
63470 2007-05-18  Bruno Haible  <bruno@clisp.org>
63471
63472         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
63473         gl_FUNC_FREXPL_WORKS.
63474         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
63475
63476 2007-05-18  Bruno Haible  <bruno@clisp.org>
63477
63478         * modules/frexpl-nolibm-tests: New file.
63479
63480         * modules/frexpl-nolibm: New file.
63481         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
63482
63483 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
63484
63485         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
63486         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63487         GCC 4.2, which otherwise issues a lot of warnings.
63488         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
63489         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
63490         Likewise.
63491         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
63492         * modules/iconv_open (iconv.h): Likewise.
63493         * modules/locale (locale.h): Likewise.
63494         * modules/netinet_in (netinet/in.h): Likewise.
63495         * modules/sys_select (sys_select.h): Likewise.
63496         * modules/sys_socket (sys/socket.h): Likewise.
63497         * modules/sys_stat (sys/stat.h): Likewise.
63498         * modules/sysexits (sysexits.h): Likewise.
63499         * modules/unistd (unistd.h): Likewise.
63500
63501 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63502
63503         * modules/closein-tests (Makefile.am): Distribute
63504         `test-closein.sh'.
63505
63506 2007-05-17  Bruno Haible  <bruno@clisp.org>
63507
63508         * tests/test-printf-posix.output: Renamed from
63509         tests/test-fprintf-posix.out.
63510         * modules/fprintf-posix-tests: Update.
63511         * modules/printf-posix-tests: Update.
63512         * modules/vfprintf-posix-tests: Update.
63513         * modules/vprintf-posix-tests: Update.
63514         * tests/test-fprintf-posix.sh: Update.
63515         * tests/test-printf-posix.sh: Update.
63516         * tests/test-vfprintf-posix.sh: Update.
63517         * tests/test-vprintf-posix.sh: Update.
63518         Reported by Ralf Wildenhues.
63519
63520 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
63521
63522         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
63523         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
63524         GCC 4.2, which otherwise issues a lot of warnings.
63525         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
63526         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
63527         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
63528         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
63529         it should no longer be needed.
63530         * lib/string_.h: Likewise.
63531         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
63532         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
63533         * modules/inttypes (inttypes.h): Likewise.
63534         * modules/math (math.h): Likewise.
63535         * modules/search (search.h): Likewise.
63536         * modules/signal (signal.h): Likewise.
63537         * modules/stdint (stdint.h): Likewise.
63538         * modules/stdio (stdio.h): Likewise.
63539         * modules/stdlib (stdlib.h): Likewise.
63540         * modules/string (string.h): Likewise.
63541         * modules/sys_time (sys/time.h): Likewise.
63542         * modules/time (time.h): Likewise.
63543         * modules/wchar (wchar.h): Likewise.
63544         * modules/wctype (wtype.h): Likewise.
63545
63546 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
63547
63548         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
63549
63550 2007-05-13  Bruno Haible  <bruno@clisp.org>
63551
63552         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
63553         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
63554         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
63555         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
63556         (gl_PREREQ_STRTOK_R): Don't require it here.
63557
63558 2007-05-13  Bruno Haible  <bruno@clisp.org>
63559
63560         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
63561         when used in C++ mode.
63562
63563 2007-05-12  Bruno Haible  <bruno@clisp.org>
63564
63565         * lib/linebuffer.h: Tweak doc.
63566         * lib/linebuffer.c: Likewise.
63567
63568 2007-05-12  James Youngman  <jay@gnu.org>
63569
63570         * lib/linebuffer.c (readlinebuffer_delim): New function,
63571         like readlinebuffer, but use a caller-specified delimiter.
63572         (readlinebuffer): Just call readlinebuffer_delim with '\n'
63573         as the delimiter.
63574         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
63575
63576 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
63577
63578         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
63579         * modules/openat (Files): Remove openat-die.c.
63580         (Depends-on): Add openat-die.
63581         * modules/openat-die: New module.
63582
63583 2007-05-06  Bruno Haible  <bruno@clisp.org>
63584
63585         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
63586         Update with info about Cygwin.
63587         * doc/functions/fprintf.texi: Update.
63588         * doc/functions/printf.texi: Update.
63589         * doc/functions/snprintf.texi: Update.
63590         * doc/functions/sprintf.texi: Update.
63591         * doc/functions/vfprintf.texi: Update.
63592         * doc/functions/vprintf.texi: Update.
63593         * doc/functions/vsnprintf.texi: Update.
63594         * doc/functions/vsprintf.texi: Update.
63595         Reported by Eric Blake.
63596
63597 2007-05-06  Bruno Haible  <bruno@clisp.org>
63598
63599         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
63600         padding ourselves for the floating-point directives.
63601         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
63602         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
63603         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63604         gl_PRINTF_FLAG_ZERO and test its result. Invoke
63605         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
63606         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63607         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
63608         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63609         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63610         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63611         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63612         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63613         * tests/test-snprintf-posix.h (test_function): Also check the width
63614         and some flags in the %f directive.
63615         * tests/test-sprintf-posix.h (test_function): Likewise.
63616         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63617         * tests/test-vasprintf-posix.c (test_function): Likewise.
63618         * doc/functions/fprintf.texi: Update.
63619         * doc/functions/printf.texi: Update.
63620         * doc/functions/snprintf.texi: Update.
63621         * doc/functions/sprintf.texi: Update.
63622         * doc/functions/vfprintf.texi: Update.
63623         * doc/functions/vprintf.texi: Update.
63624         * doc/functions/vsnprintf.texi: Update.
63625         * doc/functions/vsprintf.texi: Update.
63626
63627 2007-05-06  Bruno Haible  <bruno@clisp.org>
63628
63629         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
63630         pass the ' flag character to sprintf or snprintf.
63631         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
63632         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
63633         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63634         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
63635         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
63636         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
63637         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
63638         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
63639         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
63640         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
63641         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63642         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
63643         * tests/test-snprintf-posix.h (test_function): Also check the grouping
63644         flag.
63645         * tests/test-sprintf-posix.h (test_function): Likewise.
63646         * tests/test-vasnprintf-posix.c (test_function): Likewise.
63647         * tests/test-vasprintf-posix.c (test_function): Likewise.
63648         * doc/functions/fprintf.texi: Update.
63649         * doc/functions/printf.texi: Update.
63650         * doc/functions/snprintf.texi: Update.
63651         * doc/functions/sprintf.texi: Update.
63652         * doc/functions/vfprintf.texi: Update.
63653         * doc/functions/vprintf.texi: Update.
63654         * doc/functions/vsnprintf.texi: Update.
63655         * doc/functions/vsprintf.texi: Update.
63656
63657 2007-05-01  Bruno Haible  <bruno@clisp.org>
63658
63659         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
63660
63661 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
63662
63663         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
63664         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
63665
63666 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
63667
63668         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
63669         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
63670         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
63671
63672 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
63673
63674         * lib/argp-help.c (struct hol_entry): New member `ord'.
63675         (HOL_ENTRY_PTRCMP): Use ord for comparison
63676         (hol_sort): Initialize ord.
63677
63678 2007-05-01  Bruno Haible  <bruno@clisp.org>
63679
63680         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
63681         Reported by Eric Blake.
63682         * doc/gnulib.texi (Function Substitutes): Update.
63683
63684 2007-05-01  Bruno Haible  <bruno@clisp.org>
63685
63686         * doc/functions.texi: Remove file, now redundant through
63687         doc/functions/*.texi.
63688
63689 2007-05-01  Bruno Haible  <bruno@clisp.org>
63690
63691         * modules/argp (Depends-on): Add sleep.
63692
63693 2007-05-01  Bruno Haible  <bruno@clisp.org>
63694
63695         * modules/sleep-tests: New file.
63696         * tests/test-sleep.c: New file.
63697
63698         * modules/sleep: New file.
63699         * lib/sleep.c: New file.
63700         * m4/sleep.m4: New file.
63701         * lib/unistd_.h (sleep): New declaration.
63702         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
63703         HAVE_SLEEP.
63704         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
63705         * doc/functions/sleep.texi: Document the sleep module.
63706
63707 2007-05-01  Bruno Haible  <bruno@clisp.org>
63708
63709         * lib/sigprocmask.h: Remove file.
63710         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
63711         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
63712         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
63713         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
63714         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
63715         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
63716         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
63717         HAVE_SIGSET_T as a shell variable.
63718         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
63719         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
63720         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
63721         (Depends-on): Add signal. Remove verify.
63722         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
63723         (Include): Mention <signal.h> instead of sigprocmask.h.
63724         * NEWS: Mention the change.
63725         * lib/fatal-signal.c: Don't include sigprocmask.h.
63726
63727 2007-05-01  Bruno Haible  <bruno@clisp.org>
63728
63729         * modules/signal: New file.
63730         * lib/signal_.h: New file.
63731         * m4/signal_h.m4: New file.
63732
63733 2007-05-01  Bruno Haible  <bruno@clisp.org>
63734
63735         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
63736         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
63737         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
63738         HAVE_WCTYPE_CTMP_BUG into wctype.h.
63739
63740 2007-05-01  Bruno Haible  <bruno@clisp.org>
63741
63742         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
63743         configure time.
63744         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
63745         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
63746         * modules/sys_stat (Makefile.am): Substitute their values into
63747         sys/stat.h.
63748
63749 2007-05-01  Bruno Haible  <bruno@clisp.org>
63750
63751         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
63752         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
63753         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
63754
63755 2007-05-01  Bruno Haible  <bruno@clisp.org>
63756
63757         * doc/header/assert.texi: Undo last change: don't mention the gnulib
63758         'assert' module here.
63759
63760 2007-05-01  Bruno Haible  <bruno@clisp.org>
63761
63762         * doc/functions/*.texi: New files.
63763         * doc/functions/google-ranking.txt: New file.
63764         * doc/gnulib.texi (Function Substitutes): New chapter.
63765         (ctime, inet_ntoa): Remove sections.
63766         * doc/ctime.texi: Remove file.
63767         * doc/inet_ntoa.texi: Remove file.
63768         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
63769         dependencies.
63770         (%.info): New rule, specifying a --reference-limit.
63771
63772 2007-05-01  Bruno Haible  <bruno@clisp.org>
63773
63774         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
63775
63776 2007-05-01  Bruno Haible  <bruno@clisp.org>
63777
63778         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
63779         the portability of 'mkdir' to mingw systems.
63780
63781 2007-05-01  Bruno Haible  <bruno@clisp.org>
63782
63783         * doc/headers/google-ranking.txt: New file.
63784
63785 2007-04-30  Eric Blake  <ebb9@byu.net>
63786
63787         Prefer fseeko to fseek.
63788         * modules/getpass (Depends-on): Add fseeko.
63789         * lib/getpass.c (getpass): Use fseeko, not fseek.
63790
63791 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
63792
63793         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
63794         assumes the sorting is stable, while most qsort implementations
63795         are not.  Use argument addresses to ensure they never compare as
63796         equal.
63797
63798         * tests/test-argp-2.sh (usage-indent test): Fix output
63799         (func_compare): Restore diff options
63800         * tests/test-argp.c: Restore #include "progname.h"
63801
63802 2007-04-29  Bruno Haible  <bruno@clisp.org>
63803
63804         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
63805         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
63806         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
63807         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
63808         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
63809         (configure.ac): Define CHECK_SNPRINTF_POSIX.
63810         (TESTS, check_PROGRAMS): Add test-snprintf.
63811         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
63812         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
63813         (TESTS, check_PROGRAMS): Add test-vsnprintf.
63814         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
63815         assertions that fail on HP-UX, OSF/1, or IRIX.
63816         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
63817
63818 2007-04-29  Bruno Haible  <bruno@clisp.org>
63819
63820         * MODULES.html.sh (posix_functions): Remove 'contents'.
63821
63822 2007-04-29  Karl Berry  <karl@gnu.org>
63823
63824         * config/srclist.txt (gendocs_template_min): new entry.
63825
63826 2007-04-29  Bruno Haible  <bruno@clisp.org>
63827
63828         Work around fpurge bug on BSD systems.
63829         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
63830         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
63831         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
63832         fpurge to rpl_fpurge if the system already has this function.
63833         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
63834         the case where the system already has this function. Correct invariants
63835         on BSD systems.
63836         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
63837         BSD systems.
63838
63839 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
63840
63841         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
63842         proposed by Sven Verdoolaege.
63843
63844         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
63845         options.
63846         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
63847         (usage and help tests): Update
63848
63849 2007-04-29  Bruno Haible  <bruno@clisp.org>
63850
63851         * tests/test-fflush.c (main): Use a file of size 17, not 10.
63852         Print more information in case of failure. Disable a test on BeOS.
63853
63854 2007-04-29  Bruno Haible  <bruno@clisp.org>
63855
63856         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
63857         This helps debugging on systems on which no gdb is available.
63858
63859 2007-04-29  Bruno Haible  <bruno@clisp.org>
63860
63861         * lib/freading.h: Improve comments.
63862         * lib/fwriting.h: Likewise.
63863         * tests/test-freading.c (main): Don't check freading immediately after
63864         repositioning. Needed for glibc.
63865
63866 2007-04-29  Bruno Haible  <bruno@clisp.org>
63867
63868         * lib/freading.c (freading): Trivial simplification.
63869
63870 2007-04-28  Bruno Haible  <bruno@clisp.org>
63871
63872         * tests/test-fwriting.c (main): Also test the interaction between
63873         fflush and fwriting.
63874         * modules/fwriting-tests (Depends-on): Add fflush.
63875
63876         * tests/test-freading.c (main): Also test the interaction between
63877         fflush and freading.
63878         * modules/freading-tests (Depends-on): Add fflush.
63879
63880 2007-04-28  Bruno Haible  <bruno@clisp.org>
63881
63882         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
63883         fseeko and ftello.
63884         Suggested by Eric Blake.
63885
63886 2007-04-28  Jim Meyering  <jim@meyering.net>
63887
63888         Avoid false-negative in gl_STDINT_H's C99 conformance test.
63889         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
63890         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
63891
63892 2007-04-27  Eric Blake  <ebb9@byu.net>
63893
63894         * doc/headers/assert.texi (assert.h): Document assert module use.
63895
63896 2007-04-27  Bruno Haible  <bruno@clisp.org>
63897
63898         * doc/headers/*.texi: New files.
63899         * doc/gnulib.texi (Header File Substitutes): New chapter.
63900         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
63901         dependencies.
63902         (standards.info ,standards.html, standards.dvi): Update dependencies.
63903         (mostlyclean, clean): New targets.
63904
63905 2007-04-27  Bruno Haible  <bruno@clisp.org>
63906
63907         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
63908         * modules/sysexits (Files, Makefile.am): Update.
63909
63910         * lib/sys_socket_.h: Renamed from lib/socket_.h.
63911         * modules/sys_socket (Files, Makefile.am): Update.
63912
63913         * lib/sys_stat_.h: Renamed from lib/stat_.h.
63914         * modules/sys_stat (Files, Makefile.am): Update.
63915
63916 2007-04-27  Eric Blake  <ebb9@byu.net>
63917
63918         * lib/freading.h: Improve comments.
63919         * lib/fwriting.h: Likewise.
63920         * lib/fflush.c: Likewise.
63921
63922         Fix closein for mingw.
63923         * modules/closein-tests: Add tests for closein.
63924         * tests/test-closein.c: New file.
63925         * tests/test-closein.sh: Likewise.
63926         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
63927         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
63928
63929 2007-04-27  Bruno Haible  <bruno@clisp.org>
63930
63931         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
63932         version is < 6.
63933         * lib/math_.h [__DECC]: Likewise.
63934         * lib/stdio_.h [__DECC]: Likewise.
63935         * lib/stdlib_.h [__DECC]: Likewise.
63936         * lib/string_.h [__DECC]: Likewise.
63937         * lib/time_.h [__DECC]: Likewise.
63938         * lib/wchar_.h [__DECC]: Likewise.
63939         * lib/wctype_.h [__DECC]: Likewise.
63940
63941 2007-04-27  Bruno Haible  <bruno@clisp.org>
63942
63943         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
63944
63945 2007-04-27  Bruno Haible  <bruno@clisp.org>
63946
63947         * lib/fflush.c: Add comments.
63948         * modules/fpurge-tests (Depends-on): Add fflush.
63949         * modules/freadable-tests (Depends-on): Likewise.
63950         * modules/fwritable-tests (Depends-on): Likewise.
63951
63952 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
63953
63954         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
63955         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
63956         Report by Bruno Haible <bruno@clisp.org>.
63957
63958 2007-04-26  Eric Blake  <ebb9@byu.net>
63959
63960         Fix fflush on mingw.
63961         * modules/fflush (Depends-on): Add freading.
63962         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
63963         but unread data.
63964
63965 2007-04-26  Eric Blake  <ebb9@byu.net>
63966         and Bruno Haible  <bruno@clisp.org>
63967
63968         Implement freading and fwriting.
63969         * lib/freading.c: New file.
63970         * lib/freading.h: Likewise.
63971         * m4/freading.m4: Likewise.
63972         * modules/freading: Likewise.
63973         * modules/freading-tests: Likewise.
63974         * tests/test-freading.c: Likewise.
63975         * lib/fwriting.c: New file.
63976         * lib/fwriting.h: Likewise.
63977         * m4/fwriting.m4: Likewise.
63978         * modules/fwriting: Likewise.
63979         * modules/fwriting-tests: Likewise.
63980         * tests/test-fwriting.c: Likewise.
63981         * MODULES.html.sh (File stream based Input/Output): Mention them.
63982
63983 2007-04-26  Bruno Haible  <bruno@clisp.org>
63984
63985         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
63986         'long' when we assume it.
63987         Suggested by Eric Blake.
63988
63989 2007-04-26  Bruno Haible  <bruno@clisp.org>
63990
63991         Ensure fseeko, ftello are declared on glibc systems.
63992         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
63993         * modules/fseeko (configure.ac-early): Likewise.
63994         * modules/ftello (configure.ac-early): Likewise.
63995         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
63996         AC_FUNC_FSEEKO for this.
63997         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
63998         (gl_CHECK_FSEEKO): Remove macro.
63999
64000 2007-04-26  Bruno Haible  <bruno@clisp.org>
64001
64002         * tests/test-fflush.c (main): Also check the ftell result after
64003         fflush and fseek/fseeko.
64004         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
64005         file descriptor position cache in the stream.
64006         * lib/fseeko.c (rpl_fseeko): Likewise.
64007
64008 2007-04-26  Bruno Haible  <bruno@clisp.org>
64009
64010         * modules/fflush-tests (Depends-on): Add fseeko.
64011
64012 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
64013             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64014
64015         * lib/argz_.h: ensure error_t definition is obtained in same
64016         mechanism system argz.h would have.
64017         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
64018         argz facilities are known bad.  Err on the side of caution if
64019         cross-compiling.
64020
64021 2007-04-25  Eric Blake  <ebb9@byu.net>
64022
64023         * lib/fpurge.c (includes): Use stdlib.h for free.
64024         * tests/test-fflush.c (main): Also test fflush-fseeko.
64025
64026 2007-04-25  Bruno Haible  <bruno@clisp.org>
64027
64028         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
64029         * lib/fseeko.c: New file.
64030         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
64031         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
64032         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
64033         gl_FUNC_FSEEKO.
64034         (gl_FUNC_FSEEKO): Invoke it.
64035         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
64036         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
64037         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
64038
64039 2007-04-25  Bruno Haible  <bruno@clisp.org>
64040
64041         * modules/fflush (Depends-on): Add ftello.
64042
64043 2007-04-25  Bruno Haible  <bruno@clisp.org>
64044
64045         * modules/ftello-tests: New file.
64046         * tests/test-ftello.c: New file.
64047
64048         * modules/ftello: New file.
64049         * m4/ftello.m4: New file.
64050         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
64051         HAVE_FTELLO.
64052         * lib/stdio_.h (ftello): New declaration.
64053         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
64054         HAVE_FTELLO.
64055
64056 2007-04-25  Bruno Haible  <bruno@clisp.org>
64057
64058         * modules/fseeko-tests: New file.
64059         * tests/test-fseeko.c: New file.
64060
64061         * modules/fseeko: New file.
64062         * m4/fseeko.m4: New file.
64063         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
64064         HAVE_FSEEKO.
64065         * lib/stdio_.h (fseeko): New declaration.
64066         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
64067         HAVE_FSEEKO.
64068
64069 2007-04-25  Bruno Haible  <bruno@clisp.org>
64070
64071         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
64072
64073 2007-04-25  Bruno Haible  <bruno@clisp.org>
64074
64075         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
64076         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
64077         * tests/test-unistd.c: Likewise.
64078         * tests/test-fcntl.c: Likewise.
64079
64080 2007-04-23  Eric Blake  <ebb9@byu.net>
64081
64082         * lib/fflush.c: Fix missing include.
64083         Reported by Bruno Haible.
64084
64085 2007-04-23  Bruno Haible  <bruno@clisp.org>
64086
64087         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
64088         Reported by Eric Blake.
64089
64090 2007-04-23  Bruno Haible  <bruno@clisp.org>
64091
64092         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
64093
64094 2007-04-23  Bruno Haible  <bruno@clisp.org>
64095
64096         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
64097
64098 2007-04-23  Bruno Haible  <bruno@clisp.org>
64099
64100         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
64101         Needed on HP-UX 11.
64102
64103 2007-04-16  Eric Blake  <ebb9@byu.net>
64104
64105         Make fflush rely on fpurge.
64106         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
64107         open coding all variants.
64108         * modules/fflush (Depends-on): Add fpurge and unistd.
64109         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
64110         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
64111
64112         Fix --with-tests compilation on cygwin.
64113         * modules/argmatch-tests (Makefile.am): List gnulib library first
64114         in LDADD.
64115         * modules/argp-tests (Makefile.am): Likewise.
64116         * modules/array-list-tests (Makefile.am): Likewise.
64117         * modules/array-oset-tests (Makefile.am): Likewise.
64118         * modules/avltree-list-tests (Makefile.am): Likewise.
64119         * modules/avltree-oset-tests (Makefile.am): Likewise.
64120         * modules/avltreehash-list-tests (Makefile.am): Likewise.
64121         * modules/carray-list-tests (Makefile.am): Likewise.
64122         * modules/dirname-tests (Makefile.am): Likewise.
64123         * modules/frexp-tests (Makefile.am): Likewise.
64124         * modules/isnanl-tests (Makefile.am): Likewise.
64125         * modules/linked-list-tests (Makefile.am): Likewise.
64126         * modules/linkedhash-list-tests (Makefile.am): Likewise.
64127         * modules/lock-tests (Makefile.am): Likewise.
64128         * modules/rbtree-list-tests (Makefile.am): Likewise.
64129         * modules/rbtree-oset-tests (Makefile.am): Likewise.
64130         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
64131         * modules/tls-tests (Makefile.am): Likewise.
64132         * modules/tsearch-tests (Makefile.am): Likewise.
64133         * modules/xvasprintf-tests (Makefile.am): Likewise.
64134
64135         Fix fpurge for cygwin.
64136         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
64137         value.
64138         * modules/fpurge-tests (Depends-on): Clean up trash.
64139
64140 2007-04-16  Simon Josefsson  <simon@josefsson.org>
64141
64142         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
64143
64144         * m4/autobuild.m4: Re-indent.
64145
64146 2007-04-13  Bruno Haible  <bruno@clisp.org>
64147
64148         * modules/fpurge-tests: New file.
64149         * tests/test-fpurge.c: New file.
64150
64151         * modules/fpurge: New file.
64152         * lib/fpurge.h: New file.
64153         * lib/fpurge.c: New file.
64154         * m4/fpurge.m4: New file.
64155
64156 2007-04-13  Bruno Haible  <bruno@clisp.org>
64157
64158         * modules/fbufmode-tests: New file.
64159         * tests/test-fbufmode.c: New file.
64160
64161         * modules/fbufmode: New file.
64162         * lib/fbufmode.h: New file.
64163         * lib/fbufmode.c: New file.
64164         * m4/fbufmode.m4: New file.
64165
64166 2007-04-13  Bruno Haible  <bruno@clisp.org>
64167
64168         * modules/fwritable-tests: New file.
64169         * tests/test-fwritable.c: New file.
64170
64171         * modules/fwritable: New file.
64172         * lib/fwritable.h: New file.
64173         * lib/fwritable.c: New file.
64174         * m4/fwritable.m4: New file.
64175
64176 2007-04-13  Bruno Haible  <bruno@clisp.org>
64177
64178         * modules/freadable-tests: New file.
64179         * tests/test-freadable.c: New file.
64180
64181         * modules/freadable: New file.
64182         * lib/freadable.h: New file.
64183         * lib/freadable.c: New file.
64184         * m4/freadable.m4: New file.
64185
64186 2007-04-13  Bruno Haible  <bruno@clisp.org>
64187
64188         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
64189         MOSTLYCLEANFILES.
64190
64191 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
64192
64193         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
64194         gzip bootstrap.conf to avoid dragging in i18n machinery.
64195         (gnulib_tool_option): Use it.
64196
64197 2007-04-13  Bruno Haible  <bruno@clisp.org>
64198
64199         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
64200         %F directives.
64201         * tests/test-vasprintf-posix.c (test_function): Likewise.
64202         * tests/test-snprintf-posix.h (test_function): Likewise.
64203         * tests/test-sprintf-posix.h (test_function): Likewise.
64204         * tests/test-fprintf-posix.h (test_function): Likewise.
64205         * tests/test-printf-posix.h (test_function): Likewise.
64206         * tests/test-fprintf-posix.out: Likewise.
64207
64208 2007-04-13  Bruno Haible  <bruno@clisp.org>
64209
64210         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
64211         * modules/tls-tests (configure.ac): Likewise.
64212         Reported by Arto C. Nirkko <anirkko@insel.ch>.
64213
64214 2007-04-13  Bruno Haible  <bruno@clisp.org>
64215
64216         * lib/tls.c (glthread_tls_get): Fix return type.
64217         Patch by Arto C. Nirkko <anirkko@insel.ch>.
64218
64219 2007-04-12  Eric Blake  <ebb9@byu.net>
64220
64221         * modules/gettime (Depends-on): Remove gettime.
64222         Reported by Dmitry V. Levin.
64223
64224 2007-04-12  Bruno Haible  <bruno@clisp.org>
64225
64226         * modules/fflush (Include): Mention <stdio.h>.
64227         * modules/strtoimax (Include): Mention <inttypes.h>.
64228         * modules/strtoumax (Include): Likewise.
64229
64230 2007-04-12  Eric Blake  <ebb9@byu.net>
64231
64232         * .cvsignore: New file.
64233         * .gitignore: Likewise.
64234
64235 2007-04-12  Bruno Haible  <bruno@clisp.org>
64236
64237         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
64238         not before, since $(LDADD) often contains libgnu.a.
64239         * modules/striconv-tests (test_striconv_LDADD): Likewise.
64240         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
64241         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
64242         Needed on Cygwin.
64243
64244 2007-04-12  Eric Blake  <ebb9@byu.net>
64245
64246         Work around glibc's failure to flush stdin on fclose.
64247         * lib/closein.c (close_stdin): Flush stdin before closing.
64248
64249         Work around glibc's failure to reset seekable stdin on exit.
64250         * modules/closein: New module.
64251         * lib/closein.c: New file.
64252         * lib/closein.h: Likewise.
64253         * m4/closein.m4: Likewise.
64254         * MODULES.html.sh (File stream based Input/Output): Document it.
64255
64256 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64257
64258         * gnulib-tool: Rename generated 'autobuild' script to
64259         'do-autobuild' in --create-megatestdir output.
64260
64261         * doc/gnulib.texi (Build robot for gnulib): Fix.
64262
64263 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64264
64265         * modules/sysexits (Depends-on): Add absolute-header.
64266
64267 2007-04-12  Eric Blake  <ebb9@byu.net>
64268
64269         No need to preserve errno on success.
64270         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
64271         Reported by Bruno Haible.
64272
64273 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64274
64275         * MODULES.html.sh (Support for maintaining and releasing
64276         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
64277
64278 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64279
64280         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
64281
64282 2007-04-12  Simon Josefsson  <simon@josefsson.org>
64283
64284         * modules/autobuild: New module.
64285
64286         * m4/autobuild.m4: New file.
64287
64288 2007-04-11  Bruno Haible  <bruno@clisp.org>
64289
64290         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
64291         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
64292         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
64293         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
64294         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64295         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64296         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64297         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
64298         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64299         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64300         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
64301         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64302         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64303         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
64304         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64305         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64306         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
64307         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64308         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64309         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
64310         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64311         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64312         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
64313         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64314         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64315         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
64316         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
64317         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
64318         Reported by Eric Blake.
64319
64320 2007-04-11  Bruno Haible  <bruno@clisp.org>
64321
64322         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
64323
64324 2007-04-10  Bruno Haible  <bruno@clisp.org>
64325
64326         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
64327         for NaN and Infinity. Needed on FreeBSD 6.1.
64328         * tests/test-vasnprintf-posix.c (test_function): Undo last change
64329         regarding results for "%010a" of Infinity and NaN.
64330         * tests/test-vasprintf-posix.c (test_function): Likewise.
64331         * tests/test-snprintf-posix.h (test_function): Likewise.
64332         * tests/test-sprintf-posix.h (test_function): Likewise.
64333         * tests/test-fprintf-posix.h (test_function): Likewise.
64334         * tests/test-printf-posix.h (test_function): Likewise.
64335         * tests/test-fprintf-posix.out: Likewise.
64336
64337 2007-04-10  Bruno Haible  <bruno@clisp.org>
64338
64339         * modules/locale-tests: New file.
64340         * tests/test-locale.c: New file.
64341
64342         * modules/locale: New file.
64343         * lib/locale_.h: New file.
64344         * m4/locale_h.m4: New file.
64345
64346 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
64347             Bruno Haible  <bruno@clisp.org>
64348
64349         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
64350         be determined, test for availability of the copysignf, copysign,
64351         copysignl functions.
64352         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
64353         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
64354         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
64355
64356 2007-04-09  Eric Blake  <ebb9@byu.net>
64357
64358         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
64359         * modules/stdio (Makefile.am): Support fflush.
64360         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
64361         * modules/fflush: New file.
64362         * lib/fflush.c: Likewise.
64363         * m4/fflush.m4: Likewise.
64364         * modules/fflush-tests: New test.
64365         * tests/test-fflush.c: Likewise.
64366         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
64367
64368 2007-04-06  Bruno Haible  <bruno@clisp.org>
64369
64370         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
64371         (VASNPRINTF): Use signbit for faster determination whether to print a
64372         minus sign.
64373         * modules/vasnprintf (Files): Remove lib/float+.h.
64374         * modules/fprintf-posix (Depends-on): Add signbit.
64375         * modules/snprintf-posix (Depends-on): Likewise.
64376         * modules/sprintf-posix (Depends-on): Likewise.
64377         * modules/vasnprintf-posix (Depends-on): Likewise.
64378         * modules/vasprintf-posix (Depends-on): Likewise.
64379         * modules/vfprintf-posix (Depends-on): Likewise.
64380         * modules/vsnprintf-posix (Depends-on): Likewise.
64381         * modules/vsprintf-posix (Depends-on): Likewise.
64382
64383 2007-04-06  Bruno Haible  <bruno@clisp.org>
64384
64385         * tests/test-frexp.c (main): Test also the sign bit of zero results.
64386         * tests/test-frexpl.c (main): Likewise.
64387         * tests/test-ldexpl.c (main): Likewise.
64388         * modules/frexp-tests (Depends-on): Add signbit.
64389         * modules/frexpl-tests (Depdends-on): Likewise.
64390         * modules/ldexpl-tests (Depdends-on): Likewise.
64391
64392 2007-04-06  Bruno Haible  <bruno@clisp.org>
64393
64394         * modules/signbit-tests: New file.
64395         * tests/test-signbit.c: New file.
64396
64397         * modules/signbit: New file.
64398         * lib/signbitf.c: New file.
64399         * lib/signbitd.c: New file.
64400         * lib/signbitl.c: New file.
64401         * m4/signbit.m4: New file.
64402         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
64403         (signbit): New macro.
64404         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
64405         REPLACE_SIGNBIT.
64406         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
64407         REPLACE_FREXPL into math.h.
64408
64409 2007-04-06  Bruno Haible  <bruno@clisp.org>
64410
64411         * modules/isnanf-nolibm-tests: New file.
64412         * tests/test-isnanf.c: New file.
64413
64414         * modules/isnanf-nolibm: New file.
64415         * lib/isnanf.h: New file.
64416         * lib/isnanf.c: New file.
64417         * lib/isnan.c: Consider the USE_FLOAT macro.
64418         * m4/isnanf.m4: New file.
64419
64420 2007-04-06  Bruno Haible  <bruno@clisp.org>
64421
64422         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
64423         (Link): New section.
64424
64425         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
64426
64427 2007-04-06  Bruno Haible  <bruno@clisp.org>
64428
64429         Assume the 'long double' type.
64430         * m4/longdouble.m4: Remove file.
64431         * config/srclist.txt: Don't mention longdouble.m4.
64432         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
64433         * lib/float+.h: Likewise.
64434         * lib/frexp.c: Likewise.
64435         * lib/printf-args.h: Likewise.
64436         * lib/printf-args.c: Likewise.
64437         * lib/printf-frexp.c: Likewise.
64438         * lib/printf-parse.c: Likewise.
64439         * lib/vasnprintf.c: Likewise.
64440         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
64441         * m4/intl.m4: Likewise.
64442         * m4/isnanl.m4: Likewise.
64443         * m4/printf.m4: Likewise.
64444         * m4/printf-frexpl.m4: Likewise.
64445         * m4/vasnprintf.m4: Likewise.
64446         * modules/allocsa (Files): Remove m4/longdouble.m4.
64447         * modules/gettext (Files): Likewise.
64448         * modules/relocatable-prog-wrapper (Files): Likewise.
64449         * modules/vasnprintf (Files): Likewise.
64450         * modules/isnanl (Files): Likewise.
64451         (Include): Simplify.
64452         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
64453         (Include): Simplify.
64454         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
64455         (Include): Simplify.
64456         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
64457         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64458         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
64459         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64460         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64461         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64462         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
64463         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64464         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
64465         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64466         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
64467         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
64468         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
64469         * tests/test-isnanl.c: Likewise.
64470         * tests/test-snprintf-posix.h: Likewise.
64471         * tests/test-sprintf-posix.h: Likewise.
64472         * tests/test-vasnprintf-posix.c: Likewise.
64473         * tests/test-vasnprintf-posix2.c: Likewise.
64474         * tests/test-vasprintf-posix.c: Likewise.
64475
64476 2007-04-06  Bruno Haible  <bruno@clisp.org>
64477
64478         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
64479         * lib/math_.h [__DECC]: Include the overridden include file through
64480         #include_next, outside the double-inclusion guard.
64481         * lib/stdio_.h [__DECC]: Likewise.
64482         * lib/stdlib_.h [__DECC]: Likewise.
64483         * lib/string_.h [__DECC]: Likewise.
64484         * lib/time_.h [__DECC]: Likewise.
64485         * lib/wchar_.h [__DECC]: Likewise.
64486         * lib/wctype_.h [__DECC]: Likewise.
64487         * lib/inttypes_.h [__DECC]: Likewise.
64488         Reported by Albert Chin <china@thewrittenword.com> in
64489         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
64490
64491 2007-04-04  Eric Blake  <ebb9@byu.net>
64492
64493         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
64494         1.5.x.
64495
64496 2007-04-04  Bruno Haible  <bruno@clisp.org>
64497
64498         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
64499         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
64500
64501 2007-04-04  Bruno Haible  <bruno@clisp.org>
64502
64503         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
64504         results for "%010a" of Infinity and NaN.
64505         * tests/test-vasprintf-posix.c (test_function): Likewise.
64506         * tests/test-snprintf-posix.h (test_function): Likewise.
64507         * tests/test-sprintf-posix.h (test_function): Likewise.
64508         * tests/test-fprintf-posix.h (test_function): Remove these tests.
64509         * tests/test-printf-posix.h (test_function): Likewise.
64510         * tests/test-fprintf-posix.out: Update.
64511         Needed for FreeBSD 6.1.
64512
64513 2007-04-04  Bruno Haible  <bruno@clisp.org>
64514
64515         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
64516         directly used by the gnulib modules nor by gnulib-tool.
64517
64518 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
64519
64520         * DEPENDENCIES: Give overall description of version dependency
64521         desirability.  Use more-typical names for apps.
64522         Add shell, coreutils, diffutils, grep, tar, gzip.
64523
64524 2007-04-04  Simon Josefsson  <simon@josefsson.org>
64525
64526         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
64527
64528 2007-04-04  Karl Berry  <karl@gnu.org>
64529
64530         * MODULES.html.sh (func_module): missing '.
64531
64532 2007-04-03  Bruno Haible  <bruno@clisp.org>
64533
64534         * modules/argmatch-tests (Makefile.am): New variable
64535         test_argmatch_LDADD.
64536         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
64537         * modules/array-list-tests (Makefile.am): New variable
64538         test_array_list_LDADD.
64539         * modules/array-oset-tests (Makefile.am): New variable
64540         test_array_oset_LDADD.
64541         * modules/avltree-list-tests (Makefile.am): New variable
64542         test_avltree_list_LDADD.
64543         * modules/avltree-oset-tests (Makefile.am): New variable
64544         test_avltree_oset_LDADD.
64545         * modules/avltreehash-list-tests (Makefile.am): New variable
64546         test_avltreehash_list_LDADD.
64547         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
64548         test_canonicalize_lgpl_LDADD.
64549         * modules/carray-list-tests (Makefile.am): New variable
64550         test_carray_list_LDADD.
64551         * modules/dirname-tests (Makefile.am): New variable
64552         test_dirname_LDADD.
64553         * modules/linked-list-tests (Makefile.am): New variable
64554         test_linked_list_LDADD.
64555         * modules/linkedhash-list-tests (Makefile.am): New variable
64556         test_linkedhash_list_LDADD.
64557         * modules/rbtree-list-tests (Makefile.am): New variable
64558         test_rbtree_list_LDADD.
64559         * modules/rbtree-oset-tests (Makefile.am): New variable
64560         test_rbtree_oset_LDADD.
64561         * modules/rbtreehash-list-tests (Makefile.am): New variable
64562         test_rbtreehash_list_LDADD.
64563         * modules/xvasprintf-tests (Makefile.am): New variable
64564         test_xvasprintf_LDADD.
64565         Reported by Eric Blake.
64566
64567 2007-04-03  Eric Blake  <ebb9@byu.net>
64568
64569         * DEPENDENCIES: Weaken m4 requirements.
64570
64571 2007-04-03  Bruno Haible  <bruno@clisp.org>
64572
64573         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
64574         * modules/isnanl-tests (configure.ac): Likewise.
64575
64576 2007-04-03  Ben Pfaff  <blp@gnu.org>
64577
64578         * modules/iconv_open: Add $(srcdir)/ to source directory
64579         references in Makefile fragments that call gperf, to fix VPATH
64580         builds.
64581
64582 2007-04-03  Bruno Haible  <bruno@clisp.org>
64583
64584         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
64585         * lib/ldexpl.c: Undo last change.
64586
64587 2007-04-03  Bruno Haible  <bruno@clisp.org>
64588
64589         * modules/printf-frexpl (Depends-on): Undo last change.
64590         (Files): Add m4/ldexpl.m4.
64591
64592 2007-04-03  Bruno Haible  <bruno@clisp.org>
64593
64594         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
64595         * modules/isnanl (Link): New section.
64596
64597         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
64598         * modules/frexp (Link): New section.
64599
64600         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
64601         * modules/frexpl (Link): New section.
64602
64603         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
64604         * modules/ldexpl (Link): New section.
64605
64606 2007-04-03  Bruno Haible  <bruno@clisp.org>
64607
64608         * modules/TEMPLATE-EXTENDED: New file.
64609         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
64610
64611 2007-04-03  Bruno Haible  <bruno@clisp.org>
64612
64613         * DEPENDENCIES: New file.
64614         Suggested by Simon Josefsson.
64615
64616 2007-04-03  Bruno Haible  <bruno@clisp.org>
64617
64618         * doc/gnulib.texi: Escape @.
64619
64620 2007-04-03  James Youngman  <jay@gnu.org>
64621         and Paul Eggert  <eggert@cs.ucla.edu>
64622
64623         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
64624         birthtime on all systems that have birthtime, not just those which
64625         use st_birthtimensec rather than st_birthtim.  Putting zero in
64626         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
64627         that the birth time is not available for files on an NFS mount.
64628
64629 2007-04-03  Simon Josefsson  <simon@josefsson.org>
64630
64631         * modules/memxor: Move back from crypto/, suggested by Bruno.
64632         * modules/crypto/hmac-sha1: Fix memxor dependency.
64633
64634         * modules/crypto/gc: Moved from ../.
64635
64636 2007-04-02  Eric Blake  <ebb9@byu.net>
64637
64638         * lib/ldexpl.c (includes): Avoid libm.
64639
64640         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
64641
64642 2007-04-02  Bruno Haible  <bruno@clisp.org>
64643
64644         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
64645         on IRIX.
64646
64647 2007-04-02  Bruno Haible  <bruno@clisp.org>
64648
64649         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
64650         x86 or x86_64 platforms running MacOS X.
64651         Reported by Ryan Schmidt <@ryandesign.com>.
64652
64653 2007-04-02  Bruno Haible  <bruno@clisp.org>
64654
64655         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
64656         i386.
64657
64658 2007-04-01  Simon Josefsson  <simon@josefsson.org>
64659
64660         * modules/crypto/arcfour: Moved from ../.
64661         * modules/crypto/arcfour-tests: Moved from ../.
64662         * modules/crypto/arctwo: Moved from ../.
64663         * modules/crypto/arctwo-tests: Moved from ../.
64664         * modules/crypto/des: Moved from ../.
64665         * modules/crypto/des-tests: Moved from ../.
64666         * modules/crypto/gc-arcfour: Moved from ../.
64667         * modules/crypto/gc-arcfour-tests: Moved from ../.
64668         * modules/crypto/gc-arctwo: Moved from ../.
64669         * modules/crypto/gc-arctwo-tests: Moved from ../.
64670         * modules/crypto/gc-des: Moved from ../.
64671         * modules/crypto/gc-des-tests: Moved from ../.
64672         * modules/crypto/gc-hmac-md5: Moved from ../.
64673         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
64674         * modules/crypto/gc-hmac-sha1: Moved from ../.
64675         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
64676         * modules/crypto/gc-md2: Moved from ../.
64677         * modules/crypto/gc-md2-tests: Moved from ../.
64678         * modules/crypto/gc-md4: Moved from ../.
64679         * modules/crypto/gc-md4-tests: Moved from ../.
64680         * modules/crypto/gc-md5: Moved from ../.
64681         * modules/crypto/gc-md5-tests: Moved from ../.
64682         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
64683         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
64684         * modules/crypto/gc-random: Moved from ../.
64685         * modules/crypto/gc-rijndael: Moved from ../.
64686         * modules/crypto/gc-rijndael-tests: Moved from ../.
64687         * modules/crypto/gc-sha1: Moved from ../.
64688         * modules/crypto/gc-sha1-tests: Moved from ../.
64689         * modules/crypto/gc-tests: Moved from ../.
64690         * modules/crypto/hmac-md5: Moved from ../.
64691         * modules/crypto/hmac-md5-tests: Moved from ../.
64692         * modules/crypto/hmac-sha1: Moved from ../.
64693         * modules/crypto/hmac-sha1-tests: Moved from ../.
64694         * modules/crypto/md2: Moved from ../.
64695         * modules/crypto/md2-tests: Moved from ../.
64696         * modules/crypto/md4: Moved from ../.
64697         * modules/crypto/md4-tests: Moved from ../.
64698         * modules/crypto/md5: Moved from ../.
64699         * modules/crypto/md5-tests: Moved from ../.
64700         * modules/crypto/memxor: Moved from ../.
64701         * modules/crypto/rijndael: Moved from ../.
64702         * modules/crypto/rijndael-tests: Moved from ../.
64703         * modules/crypto/sha1: Moved from ../.
64704
64705 2007-03-30  James Youngman  <jay@gnu.org>
64706
64707         * tests/test-stat-time.c (prepare_test): use chmod() rather than
64708         rename() to change the ctime of a file (because ctime is unaffected
64709         by rename on jfs2 on AIX 5.1).
64710         (main): Start by doing cleanup, in case a previous run failed leaving
64711         test files behind.
64712
64713 2007-03-31  Bruno Haible  <bruno@clisp.org>
64714
64715         Support old proprietary implementations of iconv.
64716         * modules/iconv_open: New file.
64717         * lib/iconv_.h: New file.
64718         * m4/iconv_h.m4: New file.
64719         * lib/iconv_open.c: New file.
64720         * lib/iconv_open-aix.gperf: New file.
64721         * lib/iconv_open-hpux.gperf: New file.
64722         * lib/iconv_open-irix.gperf: New file.
64723         * lib/iconv_open-osf.gperf: New file.
64724         * m4/iconv_open.m4: New file.
64725         * modules/linebreak (Depends-on): Add iconv_open.
64726         * modules/striconv (Depends-on): Likewise.
64727         * modules/striconveh (Depends-on): Likewise.
64728         * modules/unicodeio (Depends-on): Likewise.
64729         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
64730         (iconv_t)(-1).
64731         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
64732         conversion if cd is (iconv_t)(-1).
64733         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
64734         is not possible.
64735
64736 2007-03-31  Bruno Haible  <bruno@clisp.org>
64737
64738         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
64739         work on Solaris either. Protect also second use of "autodetect_jp".
64740
64741 2007-03-31  Bruno Haible  <bruno@clisp.org>
64742
64743         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
64744         the function is not present.
64745
64746 2007-03-31  Bruno Haible  <bruno@clisp.org>
64747
64748         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
64749         the function is not present.
64750
64751 2007-03-31  Bruno Haible  <bruno@clisp.org>
64752
64753         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
64754         a bug in HP-UX iconv_open().
64755
64756 2007-03-31  Bruno Haible  <bruno@clisp.org>
64757
64758         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
64759         (Mathematics <math.h>): New section, add fpieee.
64760         (Input/output <stdio.h>): Add fseterr.
64761         (Mathematics <math.h>): New section, add printf-frexp.
64762         (Container data structures): Add sublist.
64763         (Core language properties): Add fpucw, inline.
64764         (Functions for greatest-width integer types <inttypes.h>): Add
64765         imaxabs, imaxdiv, inttypes.
64766         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
64767         isnanl-nolibm, ldexp.
64768         (Mathematics <math.h>): New section, add printf-frexpl.
64769         (Support for systems lacking POSIX:2001): Add fprintf-posix,
64770         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
64771         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
64772         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
64773         (Unicode string functions): Add unistr/u*-mbtoucr.
64774         (Java): Add javacomp-script, javaexec-script.
64775         (C#): Add csharpcomp-script, csharpexec-script.
64776         (Support for building libraries and executables): Add havelib,
64777         relocatable-*.
64778         (Support for maintaining and releasing projects): Renamed from
64779         'Support for maintaining and release projects'. Add announce-gen.
64780
64781 2007-03-31  Bruno Haible  <bruno@clisp.org>
64782
64783         * README: Talk primarily about git.
64784         (git and CVS): Renamed from CVS.
64785         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
64786         gnulib is available through git.
64787         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
64788
64789 2007-03-30  Bruno Haible  <bruno@clisp.org>
64790
64791         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
64792         * lib/poll_.h: Likewise.
64793         * lib/stat_.h: Likewise.
64794         * lib/sys_time_.h: Likewise.
64795         * lib/sysexit_.h: Likewise.
64796         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
64797         * lib/stdbool_.h: Likewise.
64798         * lib/byteswap_.h: Add double-inclusion guard.
64799
64800 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
64801
64802         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
64803
64804 2007-03-30  Karl Berry  <karl@gnu.org>
64805
64806         * config/srclist-update: double space after USA in the license
64807         substitution, since that's how it's usually (?) written.
64808
64809 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
64810
64811         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
64812         reported by Bruno Haible.
64813
64814 2007-03-29  Bruno Haible  <bruno@clisp.org>
64815
64816         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
64817         a bug in AIX iconv().
64818
64819 2007-03-29  Bruno Haible  <bruno@clisp.org>
64820
64821         * modules/ldexpl-tests: New file.
64822         * tests/test-ldexpl.c: New file.
64823
64824 2007-03-29  Bruno Haible  <bruno@clisp.org>
64825
64826         * lib/ldexpl.c: Include fpucw.h.
64827         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
64828         multiplication.
64829         * modules/ldexpl (Depends-on): Add fpucw.
64830
64831 2007-03-29  Bruno Haible  <bruno@clisp.org>
64832
64833         * modules/ldexpl: New file.
64834         * m4/ldexpl.m4: New file.
64835         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
64836         set.
64837         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
64838         REPLACE_LDEXPL.
64839         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
64840         REPLACE_LDEXPL.
64841         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
64842         gl_FUNC_LDEXPL_WORKS.
64843         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
64844         * modules/mathl (Files): Remove lib/ldexpl.c.
64845         (Depends-on): Add ldexpl.
64846
64847 2007-03-29  Bruno Haible  <bruno@clisp.org>
64848
64849         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
64850
64851 2007-03-29  Bruno Haible  <bruno@clisp.org>
64852
64853         * tests/test-striconveh.c (main): Don't assume that a direct conversion
64854         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
64855         and possibly also HP-UX.
64856         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
64857         work on AIX, IRIX, HP-UX, OSF/1.
64858         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
64859         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
64860         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
64861         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
64862         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
64863         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
64864
64865 2007-03-29  Bruno Haible  <bruno@clisp.org>
64866
64867         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
64868
64869 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
64870
64871         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
64872         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
64873
64874 2007-03-29  Eric Blake  <ebb9@byu.net>
64875
64876         * lib/acl-internal.h: Remove redundant include.
64877         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
64878         Cygwin when a file is locked.
64879
64880 2007-03-29  Bruno Haible  <bruno@clisp.org>
64881
64882         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
64883         file.
64884         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
64885
64886 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
64887
64888         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
64889         try to remove a parent directory if the child couldn't be removed
64890         (except for the first rmdir, which could fail because the child
64891         doesn't exist).  Problem reported by Jeff Blaine in
64892         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
64893
64894 2007-03-28  Bruno Haible  <bruno@clisp.org>
64895
64896         * lib/striconveh.c (utf8conv_carefully): New function.
64897         (mem_cd_iconveh_internal): Invoke it.
64898
64899 2007-03-28  Bruno Haible  <bruno@clisp.org>
64900
64901         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
64902         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
64903         input.
64904         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
64905         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
64906         unistr/u8-uctomb.
64907
64908 2007-03-28  Bruno Haible  <bruno@clisp.org>
64909
64910         * modules/unistr/u8-mbtoucr: New file.
64911         * lib/unistr/u8-mbtoucr.c: New file.
64912         * modules/unistr/u16-mbtoucr: New file.
64913         * lib/unistr/u16-mbtoucr.c: New file.
64914         * modules/unistr/u16-mbtoucr: New file.
64915         * lib/unistr/u16-mbtoucr.c: New file.
64916         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
64917
64918 2007-03-27  Simon Josefsson  <simon@josefsson.org>
64919             Bruno Haible  <bruno@clisp.org>
64920
64921         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
64922         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
64923         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
64924
64925         * m4/stdio_h.m4: Add stubs for vasprintf too.
64926
64927         * modules/stdio: Support vasprintf in sed command.
64928
64929         * modules/vasprintf: Depend on stdio for prototypes.  Remove
64930         vasprintf.h.  Add stdio module indicator.
64931
64932         * lib/stdio_.h: Declare asprintf and vasprintf, based on
64933         vasprintf.h.
64934
64935         * lib/vasprintf.h: File removed.
64936
64937         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
64938         * lib/vasprintf.c: Ditto.
64939         * lib/xvasprintf.c: Ditto.
64940         * tests/test-vasprintf-posix.c: Ditto.
64941         * tests/test-vasprintf.c: Ditto.
64942
64943 2007-03-27  Bruno Haible  <bruno@clisp.org>
64944
64945         Make vasnprintf multithread-safe.
64946         * lib/vasnprintf.c (decimal_point_char): New function.
64947         (VASNPRINTF): Use it.
64948         Suggested by Simon Josefsson.
64949
64950 2007-03-27  Eric Blake  <ebb9@byu.net>
64951
64952         Support sub-second birthtime on cygwin.
64953         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
64954         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
64955         (get_stat_birthtime): Also work with st_birthtim.
64956
64957 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
64958
64959         * lib/stat-time.h (USE_BIRTHTIME): Remove.
64960         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
64961         (get_stat_birthtime_ns): Do not try to use "spare" fields.
64962         (get_stat_birthtime_ns): Simplify compile-time tests.
64963         (get_stat_birthtime): Change the API to look like
64964         get_stat_mtime etc., except return a negative tv_nsec on error.
64965         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
64966         Don't check for "spare" fields.
64967         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
64968         or for struct stat.st_birthtime, as these tests aren't used.
64969         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
64970
64971 2007-03-27  Bruno Haible  <bruno@clisp.org>
64972
64973         * lib/stat-time.h: Include <sys/stat.h>.
64974
64975 2007-03-27  James Youngman  <jay@gnu.org>
64976
64977         * lib/stat-time.h (get_stat_birthtime): New function for
64978           retrieving st_birthtime as provided by UFS2 (hence *BSD).
64979         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
64980           and its variants.
64981         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
64982         * modules/stat-time-test: New file.
64983         * tests/test-stat-time.c: New test, devised by Bruno Haible.
64984
64985 2007-03-26  Bruno Haible  <bruno@clisp.org>
64986
64987         Better support of signalling NaNs.
64988         * lib/atanl.c: Include isnanl.h.
64989         (atanl): Perform test for NaN at the beginning of the function and
64990         through a call to isnanl.
64991         * lib/cosl.c: Include isnanl.h.
64992         (cosl): Perform test for NaN at the beginning of the function and
64993         through a call to isnanl.
64994         * lib/ldexpl.c: Include isnanl.h.
64995         (ldexpl): Perform test for NaN through a call to isnanl.
64996         * lib/logl.c: Include isnanl.h.
64997         (logl): Perform test for NaN at the beginning of the function and
64998         through a call to isnanl.
64999         * lib/sinl.c: Include isnanl.h.
65000         (sinl): Perform test for NaN at the beginning of the function and
65001         through a call to isnanl.
65002         * lib/sqrtl.c: Include isnanl.h.
65003         (sqrtl): Perform test for NaN at the beginning of the function and
65004         through a call to isnanl.
65005         * lib/tanl.c: Include isnanl.h.
65006         (tanl): Perform test for NaN at the beginning of the function and
65007         through a call to isnanl.
65008         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
65009         * modules/mathl (Depends-on): Add isnanl.
65010
65011 2007-03-26  Eric Blake  <ebb9@byu.net>
65012
65013         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
65014         regression in logic sense of previous patch.
65015
65016 2007-03-26  Bruno Haible  <bruno@clisp.org>
65017
65018         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
65019         unportable shell command "if ! ...".
65020         Reported by Ralf Wildenhues.
65021
65022 2007-03-25  Bruno Haible  <bruno@clisp.org>
65023
65024         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
65025         <sysexits.h> file, and only add EX_CONFIG.
65026         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
65027         absolute file name and whether it is sufficient. Substitute also
65028         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
65029         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
65030         ABSOLUTE_SYSEXITS_H into sysexits.h.
65031
65032 2007-03-25  Bruno Haible  <bruno@clisp.org>
65033
65034         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
65035         hints is NULL.
65036
65037 2007-03-25  Bruno Haible  <bruno@clisp.org>
65038
65039         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
65040         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
65041
65042 2007-03-25  Bruno Haible  <bruno@clisp.org>
65043
65044         * lib/vasnprintf.c: Include langinfo.h.
65045         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
65046         multithread-safe.
65047         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
65048         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
65049         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
65050         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65051         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65052         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65053         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
65054         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
65055         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65056         Reported by Simon Josefsson.
65057
65058 2007-03-25  Bruno Haible  <bruno@clisp.org>
65059
65060         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
65061         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
65062         * modules/vasnprintf (Depends-on): Add stdint.
65063
65064 2007-03-25  Bruno Haible  <bruno@clisp.org>
65065
65066         * modules/fpieee: New file.
65067         * m4/fpieee.m4: New file.
65068         * modules/isnan-nolibm (Depends-on): Add fpieee.
65069         * modules/isnanl-nolibm (Depends-on): Add fpieee.
65070         * modules/isnanl (Depends-on): Add fpieee.
65071
65072 2007-03-25  Bruno Haible  <bruno@clisp.org>
65073
65074         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
65075
65076 2007-03-25  Bruno Haible  <bruno@clisp.org>
65077
65078         Avoid test failures on IRIX 6.5.
65079         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
65080         (main): Use it.
65081         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
65082         macros.
65083         (main): Use them.
65084
65085 2007-03-25  Bruno Haible  <bruno@clisp.org>
65086
65087         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
65088         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
65089         exists but doesn't work.
65090         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
65091         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
65092         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
65093         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
65094         math.h.
65095
65096 2007-03-25  Bruno Haible  <bruno@clisp.org>
65097
65098         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
65099         returns inf. Needed on IRIX 6.5.
65100
65101 2007-03-25  Bruno Haible  <bruno@clisp.org>
65102
65103         * tests/test-frexpl.c: Include isnanl-nolibm.h.
65104         (main): Use isnanl instead of x != x idiom.
65105         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
65106
65107         * tests/test-frexp.c: Include isnan.h.
65108         (main): Use isnan instead of x != x idiom.
65109         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
65110
65111 2007-03-25  Bruno Haible  <bruno@clisp.org>
65112
65113         * tests/test-frexp.c (NaN): New function/macro.
65114         (main): Use it instead of 0.0 / 0.0.
65115         * tests/test-isnan.c (NaN): New function/macro.
65116         (main): Use it instead of 0.0 / 0.0.
65117         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
65118         (test_function): Use it instead of 0.0 / 0.0.
65119         * tests/test-vasprintf-posix.c (NaN): New function/macro.
65120         (test_function): Use it instead of 0.0 / 0.0.
65121         * tests/test-snprintf-posix.h (NaN): New function/macro.
65122         (test_function): Use it instead of 0.0 / 0.0.
65123         * tests/test-sprintf-posix.h (NaN): New function/macro.
65124         (test_function): Use it instead of 0.0 / 0.0.
65125         * tests/test-fprintf-posix.h (NaN): New function/macro.
65126         (test_function): Use it instead of 0.0 / 0.0.
65127         * tests/test-printf-posix.h (NaN): New function/macro.
65128         (test_function): Use it instead of 0.0 / 0.0.
65129
65130         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
65131
65132 2007-03-25  Bruno Haible  <bruno@clisp.org>
65133
65134         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
65135
65136 2007-03-25  Bruno Haible  <bruno@clisp.org>
65137
65138         * lib/regexec.c (merge_state_with_log): Make static.
65139
65140 2007-03-25  Bruno Haible  <bruno@clisp.org>
65141
65142         * lib/trigl.c (kernel_rem_pio2): Make static.
65143
65144 2007-03-25  Bruno Haible  <bruno@clisp.org>
65145
65146         * lib/sincosl.c (sincosl_table): Make static.
65147
65148 2007-03-25  Bruno Haible  <bruno@clisp.org>
65149
65150         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
65151         if the compiler does not support C99.
65152
65153 2007-03-25  Bruno Haible  <bruno@clisp.org>
65154
65155         * modules/time (Makefile.am): Ensure all rule action lines start with a
65156         tab.
65157
65158 2007-03-24  Bruno Haible  <bruno@clisp.org>
65159
65160         * modules/tsearch-tests: New file.
65161         * tests/test-tsearch.sh: New file.
65162         * tests/test-tsearch.c: New file, mostly copied from glibc.
65163
65164         * modules/search-tests: New file.
65165         * tests/test-search.c: New file.
65166
65167         * modules/search: New file.
65168         * lib/search_.h: New file, incorporating lib/tsearch.h.
65169         * m4/search_h.m4: New file.
65170         * lib/tsearch.h: Remove file.
65171         * lib/tsearch.c: Include search.h instead of tsearch.h.
65172         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
65173         HAVE_TSEARCH.
65174         * modules/tsearch (Files): Remove lib/tsearch.h.
65175         (Depends-on): Add search.
65176         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
65177         (Include): Change tsearch.h into search.h.
65178
65179 2007-03-24  Bruno Haible  <bruno@clisp.org>
65180
65181         * modules/fpucw: New file.
65182         * lib/fpucw.h: New file.
65183         * lib/frexp.c: Include fpucw.h.
65184         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65185         (FUNC): Use them.
65186         * lib/printf-frexp.c: Include fpucw.h.
65187         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
65188         (FUNC): Use them.
65189         * lib/vasnprintf.c: Include fpucw.h.
65190         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
65191         'long double' calculations.
65192         * tests/test-frexpl.c: Include fpucw.h.
65193         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65194         * tests/test-printf-frexpl.c: Include fpucw.h.
65195         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
65196         * modules/frexpl (Depends-on): Add fpucw.
65197         * modules/printf-frexpl (Depends-on): Likewise.
65198         * modules/fprintf-posix (Depends-on): Likewise.
65199         * modules/snprintf-posix (Depends-on): Likewise.
65200         * modules/sprintf-posix (Depends-on): Likewise.
65201         * modules/vasnprintf-posix (Depends-on): Likewise.
65202         * modules/vasprintf-posix (Depends-on): Likewise.
65203         * modules/vfprintf-posix (Depends-on): Likewise.
65204         * modules/vsnprintf-posix (Depends-on): Likewise.
65205         * modules/vsprintf-posix (Depends-on): Likewise.
65206         * modules/frexpl-tests (Depends-on): Likewise.
65207         * modules/printf-frexpl-tests (Depends-on): Likewise.
65208
65209 2007-03-24  Bruno Haible  <bruno@clisp.org>
65210
65211         * lib/float+.h: New file.
65212         * lib/isnan.c: Include float+.h.
65213         (SIZE): New macro.
65214         (FUNC): Compare only SIZE bytes of the value.
65215         * lib/vasnprintf.c: Include float+.h.
65216         (VASNPRINTF): When comparing agains +0.0L or +0.0, compare only
65217         SIZEOF_LDBL or SIZEOF_DBL bytes.
65218         * modules/isnan-nolibm (Files): Add lib/float+.h.
65219         * modules/isnanl-nolibm (Files): Add lib/float+.h.
65220         * modules/isnanl (Files): Add lib/float+.h.
65221         * modules/vasnprintf (Files): Add lib/float+.h.
65222
65223 2007-03-24  Bruno Haible  <bruno@clisp.org>
65224
65225         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
65226         include isnanl-nolibm.h.
65227
65228 2007-03-24  Bruno Haible  <bruno@clisp.org>
65229
65230         * tests/test-read-file.c (main): Don't produce spurious output for
65231         expected situations. Make the test fail if it encountered unexpected
65232         results.
65233
65234 2007-03-24  Bruno Haible  <bruno@clisp.org>
65235
65236         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
65237         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
65238
65239 2007-03-24  Bruno Haible  <bruno@clisp.org>
65240
65241         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
65242
65243 2007-03-24  Bruno Haible  <bruno@clisp.org>
65244
65245         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
65246         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
65247
65248         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
65249         * modules/utf8-ucs4: Turn into a symbolic link to module
65250         unistr/u8-mbtouc.
65251
65252         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
65253         utf8-ucs4-unsafe.
65254         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
65255         unistr/u8-mbtouc-unsafe.
65256
65257         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
65258         * modules/utf16-ucs4: Turn into a symbolic link to module
65259         unistr/u16-mbtouc.
65260
65261         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
65262         utf16-ucs4-unsafe.
65263         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
65264         unistr/u16-mbtouc-unsafe.
65265
65266         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
65267         * modules/ucs4-utf8: Turn into a symbolic link to module
65268         unistr/u8-ubtomb.
65269
65270         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
65271         * modules/ucs4-utf16: Turn into a symbolic link to module
65272         unistr/u16-ubtomb.
65273
65274 2007-03-24  Bruno Haible  <bruno@clisp.org>
65275
65276         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
65277         Enable the function only if HAVE_INLINE.
65278         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
65279         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65280         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
65281         Enable the function only if HAVE_INLINE.
65282         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
65283         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
65284         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
65285         Enable the function only if HAVE_INLINE.
65286         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
65287         Enable the function only if HAVE_INLINE.
65288         * modules/utf8-ucs4: Update.
65289         * modules/utf8-ucs4-unsafe: Update.
65290         * modules/utf16-ucs4: Update.
65291         * modules/utf16-ucs4-unsafe: Update.
65292         * modules/ucs4-utf8: Update.
65293         * modules/ucs4-utf16: Update.
65294
65295 2007-03-24  Bruno Haible  <bruno@clisp.org>
65296
65297         * lib/utf8-ucs4.h: Remove file.
65298         * lib/utf8-ucs4-unsafe.h: Remove file.
65299         * lib/utf16-ucs4.h: Remove file.
65300         * lib/utf16-ucs4-unsafe.h: Remove file.
65301         * lib/ucs4-utf8.h: Remove file.
65302         * lib/ucs4-utf16.h: Remove file.
65303         * lib/unistr.h: Include their previous contents.
65304         * m4/utf-ucs4.m4: Remove file.
65305         * m4/ucs4-utf.m4: Remove file.
65306         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
65307         (Depends-on): Add unistr/base.
65308         (configure.ac): Remove gl_UTF_UCS4.
65309         (Makefile.am): Update.
65310         (Include): Change to unistr.h.
65311         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
65312         (Depends-on): Add unistr/base.
65313         (configure.ac): Remove gl_UTF_UCS4.
65314         (Makefile.am): Update.
65315         (Include): Change to unistr.h.
65316         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
65317         (Depends-on): Add unistr/base.
65318         (configure.ac): Remove gl_UTF_UCS4.
65319         (Makefile.am): Update.
65320         (Include): Change to unistr.h.
65321         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
65322         (Depends-on): Add unistr/base.
65323         (configure.ac): Remove gl_UTF_UCS4.
65324         (Makefile.am): Update.
65325         (Include): Change to unistr.h.
65326         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
65327         (Depends-on): Add unistr/base.
65328         (configure.ac): Remove gl_UCS4_UTF.
65329         (Makefile.am): Update.
65330         (Include): Change to unistr.h.
65331         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
65332         (Depends-on): Add unistr/base.
65333         (configure.ac): Remove gl_UCS4_UTF.
65334         (Makefile.am): Update.
65335         (Include): Change to unistr.h.
65336         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
65337         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
65338         utf8-ucs4-unsafe.h.
65339         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
65340         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
65341         utf16-ucs4-unsafe.h.
65342         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
65343         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
65344         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
65345         * lib/unistr/u8-strchr.c: Likewise.
65346         * lib/unistr/u8-strrchr.c: Likewise.
65347         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
65348         * lib/unistr/u16-strchr.c: Likewise.
65349         * lib/unistr/u16-strrchr.c: Likewise.
65350         * lib/striconveh.c: Update.
65351         * lib/linebreak.c: Update.
65352
65353 2007-03-24  Bruno Haible  <bruno@clisp.org>
65354
65355         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
65356         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
65357
65358 2007-03-22  Bruno Haible  <bruno@clisp.org>
65359
65360         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
65361
65362 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
65363
65364         * MODULES.html.sh (File system functions): New module write-any-file.
65365         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
65366         * m4/write-any-file.m4: New files.
65367
65368 2007-03-23  Eric Blake  <ebb9@byu.net>
65369
65370         * gnulib-tool: Rearrange space-tab sequences, since some editors
65371         like to eat them.
65372
65373 2007-03-23  Eric Blake  <ebb9@byu.net>
65374
65375         * lib/version-etc.c (version_etc_va): Update license wording to
65376         be more concise.  Recommended by Richard Stallman.
65377
65378 2007-03-22  Bruno Haible  <bruno@clisp.org>
65379
65380         * lib/poll.c (MSG_PEEK): New fallback definition.
65381
65382 2007-03-22  Bruno Haible  <bruno@clisp.org>
65383
65384         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
65385         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
65386         (main): Update.
65387         Fixes a compilation error on BeOS.
65388
65389 2007-03-22  Bruno Haible  <bruno@clisp.org>
65390
65391         * modules/frexpl-tests: New file.
65392         * tests/test-frexpl.c: New file.
65393
65394         * modules/frexpl: New file.
65395         * m4/frexpl.m4: New file.
65396         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
65397         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
65398         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
65399         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
65400         (Depends-on): Add frexpl. Remove isnanl-nolibm.
65401         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
65402
65403 2007-03-22  Bruno Haible  <bruno@clisp.org>
65404
65405         * lib/frexpl.c: Share code with lib/frexp.c.
65406         * modules/mathl (Files): Add lib/frexp.c.
65407         (Depends-on): Add isnanl-nolibm.
65408
65409 2007-03-22  Bruno Haible  <bruno@clisp.org>
65410
65411         * modules/printf-frexp (Files): Add m4/frexp.m4.
65412         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
65413         only if the found frexp function actually works.
65414
65415 2007-03-22  Bruno Haible  <bruno@clisp.org>
65416
65417         * lib/frexp.c: Remove older implementation that uses divisions.
65418
65419 2007-03-21  Bruno Haible  <bruno@clisp.org>
65420
65421         * modules/frexp-tests: New file.
65422         * tests/test-frexp.c: New file.
65423
65424         * modules/frexp: New file.
65425         * lib/frexp.c: New file.
65426         * m4/frexp.m4: New file.
65427         * lib/math_.h (frexp): New declaration.
65428         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
65429         REPLACE_FREXP.
65430         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
65431
65432 2007-03-21  Bruno Haible  <bruno@clisp.org>
65433
65434         * modules/isnanl-tests: New file.
65435         * tests/test-isnanl.c: New file.
65436
65437         * modules/isnanl: New file.
65438         * lib/isnanl.h: New file.
65439         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
65440         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
65441         gl_FUNC_ISNANL_WORKS.
65442         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
65443         New macros.
65444
65445 2007-03-21  Bruno Haible  <bruno@clisp.org>
65446
65447         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
65448         lib/isnanl.h.
65449         (Include): Update.
65450         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
65451         * lib/vasnprintf.c: Update.
65452         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
65453         tests/test-isnanl.h, remove tests/test-isnanl.c.
65454         (Makefile.am): Update.
65455         * tests/test-isnanl-nolibm.c: New file.
65456         * tests/test-isnanl.h: New file.
65457         * tests/test-isnanl.c: Remove file.
65458
65459 2007-03-21  Jim Meyering  <jim@meyering.net>
65460
65461         When trying to open ".", treat ESTALE like EACCES.
65462         * lib/savewd.c (savewd_save): Resort to forking not just upon
65463         failure with EACCES, but also when errno is ESTALE.
65464
65465 2007-03-20  Bruno Haible  <bruno@clisp.org>
65466
65467         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
65468         Needed on AIX 5.1. Reported by Matthew Woehlke.
65469
65470 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65471
65472         Suggestions by Bruno Haible:
65473         * lib/acl-internal.h: Include "gettext.h" rather than rolling
65474         our own.
65475         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
65476         * modules/acl (Depends-on): Add gettext.
65477
65478 2007-03-19  Bruno Haible  <bruno@clisp.org>
65479
65480         * modules/iconvme: Remove file.
65481         * lib/iconvme.h: Remove file.
65482         * lib/iconvme.c: Remove file.
65483         * m4/iconvme.m4: Remove file.
65484
65485 2007-03-19  Bruno Haible  <bruno@clisp.org>
65486
65487         * doc/relocatable-maint.texi: Break long shell script line.
65488         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65489
65490 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65491
65492         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
65493         handle file_has_acl.
65494         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
65495         * lib/acl.c: Move header inclusions and related macro defns into
65496         lib/acl-internal.h.
65497         (S_ISLNK): Remove defn, since that's now done for us.
65498         (file_has_acl): Move to lib/file-has-acl.c.
65499         Call acl_trivial if available.  This is the crucial part of the fix.
65500         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
65501         shared within the library.  Rewrite a bit, partly to make it compatible
65502         with the GNU coding style.
65503         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
65504         Remove unnecessary double-quotes.
65505         Don't test for acl_to_text; the build will catch that.
65506         Replace acl_entries if it doesn't exist and it is needed.
65507         Check for -lsec and acl_trivial (as used on Solaris 10).
65508         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
65509         lib/file-has-acl.c.
65510         (Depends-on): Add sys_stat, for S_ISLNK.
65511
65512 2007-03-19  Ben Pfaff  <blp@gnu.org>
65513
65514         * doc/gnulib.texi: Fix typos.
65515         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
65516
65517 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
65518
65519         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
65520         If size is zero here, buf must be zero.
65521
65522 2007-03-19  Simon Josefsson  <simon@josefsson.org>
65523
65524         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
65525         <bruno@clisp.org>.
65526
65527 2007-03-18  Bruno Haible  <bruno@clisp.org>
65528
65529         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
65530         Suggested by Eric Blake.
65531
65532 2007-03-18  Ben Pfaff  <blp@gnu.org>
65533
65534         * doc/relocatable.texi: Recommend using as prefix a directory
65535         that does not exist and will never be created.  Based on
65536         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
65537         and others.
65538
65539 2007-03-17  Bruno Haible  <bruno@clisp.org>
65540
65541         * lib/fchownat.c: Include lchown.h.
65542
65543 2007-03-17  Bruno Haible  <bruno@clisp.org>
65544
65545         Fix endless loop when the given allocated size was > INT_MAX.
65546         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
65547         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
65548         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
65549         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
65550         * lib/sprintf.c (sprintf): Likewise.
65551
65552 2007-03-17  Bruno Haible  <bruno@clisp.org>
65553
65554         * tests/test-argp-2.sh (func_compare): Output a context diff.
65555
65556 2007-03-17  Bruno Haible  <bruno@clisp.org>
65557
65558         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
65559         locale's decimal-point character.
65560
65561 2007-03-17  Bruno Haible  <bruno@clisp.org>
65562
65563         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
65564         before comparing it. Needed because on some platforms (e.g. x86) a
65565         'long double' occupies less bytes than sizeof (long double).
65566
65567 2007-03-17  Bruno Haible  <bruno@clisp.org>
65568
65569         * tests/test-crc.c (main): Make printf statements 64-bit clean.
65570         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
65571         * tests/test-getaddrinfo.c (simple): Likewise.
65572         * tests/test-read-file.c (main): Likewise.
65573
65574 2007-03-17  Bruno Haible  <bruno@clisp.org>
65575
65576         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
65577
65578 2007-03-17  Bruno Haible  <bruno@clisp.org>
65579
65580         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
65581         unused variable.
65582
65583 2007-03-17  Bruno Haible  <bruno@clisp.org>
65584
65585         * tests/test-c-strcasecmp.c: Include c-strcase.h.
65586         * tests/test-c-strncasecmp.c: Likewise.
65587
65588 2007-03-17  Bruno Haible  <bruno@clisp.org>
65589
65590         * modules/stdlib (Depends-on): Add unistd.
65591         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
65592         Needed for MacOS X 10.3.
65593
65594 2007-03-17  Bruno Haible  <bruno@clisp.org>
65595
65596         * lib/unistr/u-strdup.h: Include <stdlib.h>.
65597
65598 2007-03-17  Bruno Haible  <bruno@clisp.org>
65599
65600         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
65601
65602 2007-03-17  Bruno Haible  <bruno@clisp.org>
65603
65604         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
65605         to reflect files copied from gnulib (with or without modifications).
65606         Suggested by Jim Meyering.
65607
65608 2007-03-17  Eric Blake  <ebb9@byu.net>
65609
65610         * NEWS: Document stdlib change from 2007-02-18.
65611
65612 2007-03-17  Jim Meyering  <jim@meyering.net>
65613
65614         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
65615         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
65616         someone uses a name containing shell meta-characters.
65617         Reported by Alfred M. Szmidt.
65618
65619         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
65620
65621 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65622
65623         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
65624         and copy gettext configuration files only if configure.ac contains
65625         a use of AM_GNU_GETTEXT_VERSION.
65626
65627 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
65628
65629         * build-aux/bootstrap (gnulib_name): New variable.
65630         (gnulib_tool_options): Use it.
65631
65632 2007-03-13  Simon Josefsson  <simon@josefsson.org>
65633
65634         * tests/test-des.c: Use new namespace.
65635
65636 2007-03-15  Bruno Haible  <bruno@clisp.org>
65637
65638         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
65639         Reported by James Youngman <jay@gnu.org>.
65640
65641 2007-03-15  Bruno Haible  <bruno@clisp.org>
65642
65643         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
65644         declared prototype. Needed with cc on OSF/1 5.1.
65645
65646 2007-03-15  Bruno Haible  <bruno@clisp.org>
65647
65648         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
65649         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
65650         (struct gl_list_implementation): Add dispose_fn argument to the
65651         'create_empty', 'create' methods.
65652         (struct gl_list_impl_base): Add field 'dispose_fn'.
65653         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
65654         argument.
65655         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
65656         dispose_fn argument.
65657         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
65658         dispose_fn on the dropped values.
65659         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
65660         dispose_fn argument.
65661         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
65662         dropped values.
65663         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
65664         (gl_tree_remove_node): Call dispose_fn on the dropped value.
65665         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
65666         (gl_tree_remove_node): Call dispose_fn on the dropped value.
65667         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
65668         argument.
65669         (gl_tree_list_free): Call dispose_fn on the dropped values.
65670         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
65671         the dropped values.
65672         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
65673         Add dispose_fn argument.
65674         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
65675         Call dispose_fn on the dropped values.
65676         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
65677         Add dispose_fn argument.
65678         (gl_sublist_create): Initialize the 'dispose_fn' field.
65679         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
65680         * tests/test-array_list.c (main): Update.
65681         * tests/test-carray_list.c (main): Update.
65682         * tests/test-avltree_list.c (main): Update.
65683         * tests/test-rbtree_list.c (main): Update.
65684         * tests/test-avltreehash_list.c (main): Update.
65685         * tests/test-rbtreehash_list.c (main): Update.
65686         * tests/test-linked_list.c (main): Update.
65687         * tests/test-linkedhash_list.c (main): Update.
65688         * tests/test-array_oset.c (main): Update.
65689
65690 2007-03-15  Bruno Haible  <bruno@clisp.org>
65691
65692         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
65693         (gl_oset_create_empty): Add dispose_fn argument.
65694         (struct gl_oset_implementation): Add dispose_fn argument to
65695         'create_empty' method.
65696         (struct gl_oset_impl_base): Add dispose_fn field.
65697         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
65698         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
65699         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
65700         values.
65701         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
65702         (gl_tree_oset_free): Call dispose_fn on the dropped values.
65703         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
65704         dropped value.
65705         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
65706         dropped value.
65707         * tests/test-array_oset.c (main): Update.
65708         * tests/test-avltree_oset.c (main): Update.
65709         * tests/test-rbtree_oset.c (main): Update.
65710         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
65711
65712 2007-03-13  Bruno Haible  <bruno@clisp.org>
65713
65714         * tests/test-stdbool.c (i): Update after last patch.
65715
65716 2007-03-12  Bruno Haible  <bruno@clisp.org>
65717
65718         * lib/quotearg.c: Include <wctype.h> early, before the definition of
65719         the iswprint macro. Needed on Solaris 2.5.1.
65720
65721 2007-03-12  Bruno Haible  <bruno@clisp.org>
65722
65723         * tests/test-printf-frexp.c (main): Declare x as volatile.
65724
65725 2007-03-12  Simon Josefsson  <simon@josefsson.org>
65726
65727         * doc/gnulib.texi (Build robot for gnulib): New section.
65728
65729 2007-03-12  Jim Meyering  <jim@meyering.net>
65730
65731         * build-aux/bootstrap: New file.
65732         * build-aux/bootstrap.conf: New file, from coreutils.
65733
65734 2007-03-11  Bruno Haible  <bruno@clisp.org>
65735
65736         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
65737
65738 2007-03-12  Simon Josefsson  <simon@josefsson.org>
65739
65740         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
65741         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
65742         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
65743
65744 2007-03-11  Bruno Haible  <bruno@clisp.org>
65745
65746         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
65747         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
65748
65749 2007-03-11  Bruno Haible  <bruno@clisp.org>
65750
65751         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
65752         formula. Needed for SunPRO C 5.0.
65753
65754 2007-03-11  Bruno Haible  <bruno@clisp.org>
65755
65756         * modules/long-options (Depends-on): Add getopt.
65757
65758 2007-03-11  Bruno Haible  <bruno@clisp.org>
65759
65760         * modules/modechange (Depends-on): Add stdbool.
65761
65762 2007-03-11  Bruno Haible  <bruno@clisp.org>
65763
65764         * modules/i-ring (Depends-on): Add stdbool.
65765
65766 2007-03-11  Bruno Haible  <bruno@clisp.org>
65767
65768         * modules/gc-des (Depends-on): Add stdbool.
65769
65770 2007-03-11  Bruno Haible  <bruno@clisp.org>
65771
65772         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
65773
65774 2007-03-11  Bruno Haible  <bruno@clisp.org>
65775
65776         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
65777
65778 2007-03-11  Bruno Haible  <bruno@clisp.org>
65779
65780         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
65781
65782 2007-03-11  Bruno Haible  <bruno@clisp.org>
65783
65784         * lib/vasnprintf.c (sprintf): Undefine.
65785
65786 2007-03-11  Bruno Haible  <bruno@clisp.org>
65787
65788         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
65789         initializers in SunPRO C and Compaq C compilers.
65790
65791 2007-03-11  Bruno Haible  <bruno@clisp.org>
65792
65793         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
65794         decrementing code ANSI C compliant.
65795
65796 2007-03-11  Bruno Haible  <bruno@clisp.org>
65797
65798         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
65799         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
65800
65801 2007-03-11  Bruno Haible  <bruno@clisp.org>
65802
65803         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
65804         <stdbool.h> substitute doesn't pass.
65805
65806 2007-03-11  Bruno Haible  <bruno@clisp.org>
65807
65808         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
65809
65810 2007-03-11  Bruno Haible  <bruno@clisp.org>
65811
65812         * gnulib-tool (func_create_megatestdir): Create also an autobuild
65813         script, for submission to autobuild.josefsson.org.
65814
65815 2007-03-10  Bruno Haible  <bruno@clisp.org>
65816
65817         * modules/canonicalize-lgpl-tests: New file.
65818         * tests/test-canonicalize-lgpl.sh: New file.
65819         * tests/test-canonicalize-lgpl.c: New file.
65820
65821         * modules/c-strcase-tests: New file.
65822         * tests/test-c-strcase.sh: New file.
65823         * tests/test-c-strcasecmp.c: New file.
65824         * tests/test-c-strncasecmp.c: New file.
65825
65826         * modules/atexit-tests: New file.
65827         * tests/test-atexit.sh: New file.
65828         * tests/test-atexit.c: New file.
65829
65830 2007-03-10  Bruno Haible  <bruno@clisp.org>
65831
65832         * tests/test-binary-io.sh: Use temporary filenames that are not so
65833         likely to clash with those of other tests (in a parallel make).
65834         * tests/test-binary-io.c: Likewise.
65835
65836 2007-03-10  Bruno Haible  <bruno@clisp.org>
65837
65838         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
65839         fallback; use #error instead.
65840         Suggested by Simon Josefsson.
65841
65842 2007-03-10  Bruno Haible  <bruno@clisp.org>
65843
65844         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
65845         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
65846         first and the last.
65847
65848 2007-03-10  Bruno Haible  <bruno@clisp.org>
65849
65850         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
65851
65852 2007-03-10  Bruno Haible  <bruno@clisp.org>
65853
65854         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
65855         "make distcheck".
65856         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
65857         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
65858         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
65859
65860 2007-03-10  Bruno Haible  <bruno@clisp.org>
65861
65862         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
65863         variable.
65864         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
65865         variable.
65866
65867 2007-03-09  Eric Blake  <ebb9@byu.net>
65868         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
65869
65870         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
65871         types are not being provided by gnulib.
65872         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
65873         types are supported.
65874
65875 2007-03-10  Bruno Haible  <bruno@clisp.org>
65876
65877         * lib/stdio_.h (__attribute__): New macro.
65878         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
65879         vsprintf): Specify __attribute__ __format__ for GCC.
65880         Suggested by Eric Blake.
65881
65882 2007-03-09  Bruno Haible  <bruno@clisp.org>
65883
65884         * modules/printf-posix-tests: New file.
65885         * tests/test-printf-posix.sh: New file.
65886         * tests/test-printf-posix.c: New file.
65887
65888         * modules/printf-posix: New file.
65889         * lib/printf.c: New file.
65890         * m4/printf-posix-rpl.m4: New file.
65891         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
65892         REPLACE_PRINTF.
65893         * lib/stdio_.h (printf): New declaration.
65894         (format, __format__, ____printf____, ____scanf____, ____strftime____,
65895         ____strfmon____): New macros.
65896         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
65897         REPLACE_PRINTF.
65898
65899 2007-03-09  Bruno Haible  <bruno@clisp.org>
65900
65901         * tests/test-vasnprintf-posix2.sh: New file.
65902         * tests/test-vasnprintf-posix2.c: New file.
65903         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
65904         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
65905         (Makefile.am): Activate test-vasnprintf-posix2.sh.
65906
65907         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
65908         a locale dependent decimal point, rather than always '.'.
65909
65910 2007-03-09  Eric Blake  <ebb9@byu.net>
65911
65912         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
65913         spite of platforms like Tandem/NSK that define it to -1.
65914
65915 2007-03-08  Bruno Haible  <bruno@clisp.org>
65916
65917         * modules/vprintf-posix-tests: New file.
65918         * tests/test-vprintf-posix.sh: New file.
65919         * tests/test-vprintf-posix.c: New file.
65920         * tests/test-printf-posix.h: New file.
65921
65922         * modules/vprintf-posix: New file.
65923         * lib/vprintf.c: New file.
65924         * m4/vprintf-posix.m4: New file.
65925         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
65926         REPLACE_VPRINTF.
65927         * lib/stdio_.h (vprintf): New declaration.
65928         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
65929         REPLACE_VPRINTF.
65930
65931 2007-03-08  Bruno Haible  <bruno@clisp.org>
65932
65933         * modules/fprintf-posix-tests: New file.
65934         * tests/test-fprintf-posix.sh: New file.
65935         * tests/test-fprintf-posix.c: New file.
65936
65937         * modules/fprintf-posix: New file.
65938         * lib/fprintf.c: New file.
65939         * m4/fprintf-posix.m4: New file.
65940         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
65941         REPLACE_FPRINTF.
65942         * lib/stdio_.h (fprintf): New declaration.
65943         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
65944         REPLACE_FPRINTF.
65945
65946 2007-03-08  Bruno Haible  <bruno@clisp.org>
65947
65948         * modules/vfprintf-posix-tests: New file.
65949         * tests/test-vfprintf-posix.sh: New file.
65950         * tests/test-vfprintf-posix.c: New file.
65951         * tests/test-fprintf-posix.h: New file.
65952         * tests/test-fprintf-posix.out: New file.
65953
65954         * modules/vfprintf-posix: New file.
65955         * lib/vfprintf.c: New file.
65956         * m4/vfprintf-posix.m4: New file.
65957         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
65958         REPLACE_VFPRINTF.
65959         * lib/stdio_.h (vfprintf): New declaration.
65960         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
65961         REPLACE_VFPRINTF.
65962
65963 2007-03-08  Bruno Haible  <bruno@clisp.org>
65964
65965         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
65966
65967 2007-03-08  Bruno Haible  <bruno@clisp.org>
65968
65969         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
65970         instead of 'expr' invocations.
65971         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
65972         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
65973         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
65974         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
65975         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
65976         Suggested by Paul Eggert.
65977
65978 2007-03-08  Bruno Haible  <bruno@clisp.org>
65979
65980         * modules/fseterr-tests: New file.
65981         * tests/test-fseterr.c: New file.
65982
65983         * modules/fseterr: New file.
65984         * lib/fseterr.h: New file.
65985         * lib/fseterr.c: New file.
65986
65987 2007-03-08  Bruno Haible  <bruno@clisp.org>
65988
65989         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
65990         * lib/getopt_.h: Likewise.
65991         * lib/mbswidth.h: Likewise.
65992         * lib/setenv.h: Likewise.
65993         * lib/vasnprintf.h: Likewise.
65994         * lib/vasprintf.h: Likewise.
65995         * lib/verror.h: Likewise.
65996         * lib/xsetenv.h: Likewise.
65997         * lib/xvasprintf.h: Likewise.
65998
65999 2007-03-08  Jim Meyering  <jim@meyering.net>
66000
66001         * users.txt: Add parted.
66002
66003         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
66004
66005 2007-03-07  Bruno Haible  <bruno@clisp.org>
66006
66007         * m4/printf.m4: Make the shell script snippets copy&pastable.
66008
66009 2007-03-02  Bruno Haible  <bruno@clisp.org>
66010
66011         * lib/netinet_in_.h: New file.
66012         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
66013         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
66014         * modules/netinet_in (Files): Add lib/netinet_in_.h.
66015         (Depends-on): Add absolute-header.
66016         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
66017         into netinet/in.h.
66018
66019 2007-03-03  Bruno Haible  <bruno@clisp.org>
66020
66021         * lib/sys_select_.h: New file.
66022         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
66023         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
66024         * modules/sys_select (Files): Add lib/sys_select_.h.
66025         (Depends-on): Add absolute-header.
66026         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
66027         into sys/select.h.
66028
66029 2007-03-02  Bruno Haible  <bruno@clisp.org>
66030
66031         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
66032         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
66033         values.
66034         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
66035         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
66036         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
66037         * modules/sys_socket (Depends-on): Add absolute-header.
66038         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
66039         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
66040         (Include): Remove requirement of inclusion of <sys/types.h>.
66041
66042 2007-03-02  Bruno Haible  <bruno@clisp.org>
66043
66044         * lib/byteswap_.h (bswap_32): Fix formula.
66045
66046 2007-03-06  Bruno Haible  <bruno@clisp.org>
66047
66048         * modules/sprintf-posix-tests: New file.
66049         * tests/test-sprintf-posix.c: New file.
66050
66051         * modules/sprintf-posix: New file.
66052         * lib/sprintf.c: New file.
66053         * m4/sprintf-posix.m4: New file.
66054         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
66055         REPLACE_SPRINTF.
66056         * lib/stdio_.h (sprintf): New declaration.
66057         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
66058         REPLACE_SPRINTF.
66059
66060 2007-03-06  Bruno Haible  <bruno@clisp.org>
66061
66062         * modules/vsprintf-posix-tests: New file.
66063         * tests/test-vsprintf-posix.c: New file.
66064         * tests/test-sprintf-posix.h: New file.
66065
66066         * modules/vsprintf-posix: New file.
66067         * lib/vsprintf.c: New file.
66068         * m4/vsprintf-posix.m4: New file.
66069         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
66070         REPLACE_VSPRINTF.
66071         * lib/stdio_.h (vsprintf): New declaration.
66072         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
66073         REPLACE_VSPRINTF.
66074
66075 2007-03-06  Bruno Haible  <bruno@clisp.org>
66076
66077         * modules/vsnprintf (Depend-on): Remove minmax.
66078
66079 2007-03-06  Bruno Haible  <bruno@clisp.org>
66080
66081         * modules/snprintf-posix-tests: New file.
66082         * tests/test-snprintf-posix.c: New file.
66083
66084         * modules/snprintf-posix: New file.
66085         * m4/snprintf-posix.m4: New file.
66086         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
66087         gl_FUNC_SNPRINTF.
66088         (gl_FUNC_SNPRINTF): Invoke it.
66089         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
66090         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
66091         is set.
66092         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
66093
66094 2007-03-06  Bruno Haible  <bruno@clisp.org>
66095
66096         * modules/vsnprintf-posix-tests: New file.
66097         * tests/test-vsnprintf-posix.c: New file.
66098         * tests/test-snprintf-posix.h: New file.
66099
66100         * modules/vsnprintf-posix: New file.
66101         * m4/vsnprintf-posix.m4: New file.
66102         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
66103         gl_FUNC_VSNPRINTF.
66104         (gl_FUNC_VSNPRINTF): Invoke it.
66105         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
66106         * lib/stdio_.h (vsnprintf): Define as a replacement if
66107         REPLACE_VSNPRINTF is set.
66108         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
66109
66110 2007-03-06  Bruno Haible  <bruno@clisp.org>
66111
66112         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
66113         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
66114
66115 2007-03-06  Bruno Haible  <bruno@clisp.org>
66116
66117         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
66118         (asinl): Declare also if HAVE_DECL_ASINL is set.
66119         (atanl): Declare also if HAVE_DECL_ATANL is set.
66120         (ceill): Declare also if HAVE_DECL_CEILL is set.
66121         (cosl): Declare also if HAVE_DECL_COSL is set.
66122         (expl): Declare also if HAVE_DECL_EXPL is set.
66123         (floorl): Declare also if HAVE_DECL_FLOORL is set.
66124         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
66125         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
66126         (logl): Declare also if HAVE_DECL_LOGL is set.
66127         (sinl): Declare also if HAVE_DECL_SINL is set.
66128         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
66129         (tanl): Declare also if HAVE_DECL_TANL is set.
66130         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
66131         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
66132         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
66133         declaration of frexpl, ldexpl.
66134         * modules/printf-frexpl (Depends-on): Add math.
66135         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
66136
66137 2007-03-05  Bruno Haible  <bruno@clisp.org>
66138
66139         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
66140         frexpl and ldexpl are declared.
66141         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
66142
66143 2007-03-05  Bruno Haible  <bruno@clisp.org>
66144
66145         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
66146         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
66147
66148 2007-03-05  Bruno Haible  <bruno@clisp.org>
66149
66150         * lib/stdio_.h: Include <stddef.h>.
66151
66152 2007-03-05  Bruno Haible  <bruno@clisp.org>
66153
66154         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
66155
66156 2007-03-05  Bruno Haible  <bruno@clisp.org>
66157
66158         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
66159         NetBSD 4, from Ralf Wildenhues.
66160
66161 2007-03-04  Bruno Haible  <bruno@clisp.org>
66162
66163         * lib/vasprintf.h: Update #if logic for the case when the functions
66164         exist but are overridden.
66165
66166 2007-03-04  Bruno Haible  <bruno@clisp.org>
66167
66168         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
66169         implementations: glibc-2.4 and MacOS X 10.3.
66170         * tests/test-vasnprintf-posix.c (test_function): Test also the case
66171         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
66172         * tests/test-vasprintf-posix.c (test_function): Likewise.
66173
66174 2007-03-04  Bruno Haible  <bruno@clisp.org>
66175
66176         * modules/vasprintf-posix-tests: New file.
66177         * tests/test-vasprintf-posix.c: New file.
66178
66179         * modules/vasprintf-posix: New file.
66180         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
66181         defined.
66182         * m4/vasprintf-posix.m4: New file.
66183         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
66184         gl_FUNC_VASPRINTF.
66185         (gl_FUNC_VASPRINTF): Invoke it.
66186         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
66187         here.
66188         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
66189
66190 2007-03-04  Bruno Haible  <bruno@clisp.org>
66191
66192         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
66193         REPLACE_GETTIMEOFDAY.
66194         * modules/sys_time (Makefile.am): Likewise.
66195         * m4/sys_time_h.m4: Likewise.
66196         * m4/gettimeofday.m4: Likewise.
66197
66198 2007-03-04  Bruno Haible  <bruno@clisp.org>
66199
66200         * modules/vasnprintf-posix-tests: New file.
66201         * tests/test-vasnprintf-posix.c: New file.
66202
66203         * modules/vasnprintf-posix: New file.
66204         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
66205         printf-frexpl.h.
66206         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
66207         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
66208         REPLACE_VASNPRINTF is defined.
66209         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
66210         gl_FUNC_VASNPRINTF.
66211         (gl_FUNC_VASNPRINTF): Invoke it.
66212         * m4/vasnprintf-posix.m4: New file.
66213         * m4/printf.m4: New file.
66214
66215 2007-03-04  Bruno Haible  <bruno@clisp.org>
66216
66217         Compile progreloc.c only if --enable-relocatable is specified.
66218         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
66219         if --enable-relocatable was specified.
66220         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
66221         lib_SOURCES.
66222
66223 2007-03-04  Jim Meyering  <jim@meyering.net>
66224
66225         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
66226         Use it consistently, rather than enumerating errno constants.
66227
66228 2007-03-04  Bruno Haible  <bruno@clisp.org>
66229
66230         * modules/xvasprintf-tests: New file.
66231         * tests/test-xvasprintf.c: New file.
66232
66233         * modules/vasprintf-tests: New file.
66234         * tests/test-vasprintf.c: New file.
66235
66236         * modules/vasnprintf-tests: New file.
66237         * tests/test-vasnprintf.c: New file.
66238
66239         * modules/vsnprintf-tests: New file.
66240         * tests/test-vsnprintf.c: New file.
66241
66242         * modules/snprintf-tests: New file.
66243         * tests/test-snprintf.c: New file.
66244
66245 2007-03-04  Bruno Haible  <bruno@clisp.org>
66246
66247         Compile relocatable.c only if --enable-relocatable is specified.
66248         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
66249         gl_RELOCATABLE_LIBRARY.
66250         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
66251         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
66252         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
66253         gl_RELOCATABLE_LIBRARY.
66254         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
66255         (Makefile.am): Remove lib_SOURCES.
66256         * modules/relocatable-lib-lgpl (configure.ac): Invoke
66257         gl_RELOCATABLE_LIBRARY.
66258         (Makefile.am): Remove lib_SOURCES.
66259         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
66260         always.
66261         * modules/relocatable-prog-wrapper (configure.ac): Invoke
66262         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
66263
66264 2007-03-04  Bruno Haible  <bruno@clisp.org>
66265
66266         * modules/argmatch-tests: New file.
66267         * tests/test-argmatch.c: New file.
66268
66269         * tests/test-allocsa.c (main): Halve the number of loop runs.
66270
66271         * modules/alloca-opt-tests: New file.
66272         * tests/test-alloca-opt.c: New file.
66273
66274 2007-03-04  Jim Meyering  <jim@meyering.net>
66275
66276         Work around difference between Linux ACLs and Solaris 10 ZFS.
66277         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
66278         for EINVAL.
66279
66280 2007-03-03  Bruno Haible  <bruno@clisp.org>
66281
66282         * modules/relocatable-prog (Depends-on): Add back progreloc's
66283         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
66284
66285 2007-03-03  Bruno Haible  <bruno@clisp.org>
66286
66287         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
66288         * modules/relocatable-lib: New file.
66289
66290 2007-03-03  Bruno Haible  <bruno@clisp.org>
66291
66292         * modules/relocatable-prog: Renamed from modules/relocatable.
66293         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
66294
66295 2007-03-03  Bruno Haible  <bruno@clisp.org>
66296
66297         * modules/relocatable-script (Files): Add doc/relocatable.texi,
66298         m4/relocatable-lib.m4.
66299         (Depends-on): Remove 'relocatable'.
66300         (configure.ac): Add gl_RELOCATABLE_NOP.
66301
66302 2007-03-03  Bruno Haible  <bruno@clisp.org>
66303
66304         * modules/relocatable-prog-wrapper: New file.
66305         * modules/relocatable (Depends-on): Add it. Remove all other
66306         dependencies except progname.
66307         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
66308
66309         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
66310         (gl_FUNC_STRERROR): Nop.
66311         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
66312
66313         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
66314         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
66315
66316         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
66317         (gl_FUNC_READLINK): Update.
66318
66319         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
66320
66321 2007-03-03  Bruno Haible  <bruno@clisp.org>
66322
66323         * lib/xreadlink.c: Include <unistd.h> unconditionally.
66324         * modules/xreadlink (Depends-on): Add unistd.
66325         * modules/xreadlink-with-size (Depends-on): Likewise.
66326
66327 2007-03-03  Bruno Haible  <bruno@clisp.org>
66328
66329         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
66330         extracted from gt_FUNC_SETENV.
66331         (gt_FUNC_SETENV): Remove macro.
66332         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
66333         remove gt_FUNC_SETENV.
66334
66335 2007-03-03  Bruno Haible  <bruno@clisp.org>
66336
66337         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
66338         ENABLE_RELOCATABLE here.
66339         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
66340
66341 2007-03-03  Bruno Haible  <bruno@clisp.org>
66342
66343         * modules/rbtreehash-list-tests (Depends-on): Add progname.
66344         * tests/test-rbtreehash_list.c: Include progname.h.
66345         (main): Call set_program_name.
66346
66347         * modules/rbtree-oset-tests (Depends-on): Add progname.
66348         * tests/test-rbtree_oset.c: Include progname.h.
66349         (main): Call set_program_name.
66350
66351         * modules/rbtree-list-tests (Depends-on): Add progname.
66352         * tests/test-rbtree_list.c: Include progname.h.
66353         (main): Call set_program_name.
66354
66355         * modules/linked-list-tests (Depends-on): Add progname.
66356         * tests/test-linked_list.c: Include progname.h.
66357         (main): Call set_program_name.
66358
66359 2007-03-03  Bruno Haible  <bruno@clisp.org>
66360
66361         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
66362         All uses of __restrict changed to _Restrict_.
66363         * lib/glob_.h (__restrict): Remove macro.
66364
66365 2007-03-02  Bruno Haible  <bruno@clisp.org>
66366
66367         * modules/gettext (configure.ac): Require gettext infrastructure
66368         from version 0.16.1.
66369
66370 2007-03-02  Bruno Haible  <bruno@clisp.org>
66371
66372         * modules/linkedhash-list-tests (Depends-on): Add progname.
66373         * tests/test-linkedhash_list.c: Include progname.h.
66374         (main): Call set_program_name.
66375
66376         * modules/carray-list-tests (Depends-on): Add progname.
66377         * tests/test-carray_list.c: Include progname.h.
66378         (main): Call set_program_name.
66379
66380         * modules/avltreehash-list-tests (Depends-on): Add progname.
66381         * tests/test-avltreehash_list.c: Include progname.h.
66382         (main): Call set_program_name.
66383
66384         * modules/avltree-oset-tests (Depends-on): Add progname.
66385         * tests/test-avltree_oset.c: Include progname.h.
66386         (main): Call set_program_name.
66387
66388         * modules/avltree-list-tests (Depends-on): Add progname.
66389         * tests/test-avltree_list.c: Include progname.h.
66390         (main): Call set_program_name.
66391
66392         * modules/array-oset-tests (Depends-on): Add progname.
66393         * tests/test-array_oset.c: Include progname.h.
66394         (main): Call set_program_name.
66395
66396         * modules/array-list-tests (Depends-on): Add progname.
66397         * tests/test-array_list.c: Include progname.h.
66398         (main): Call set_program_name.
66399
66400         * modules/argp-tests (Depends-on): Add progname.
66401         * tests/test-argp.c: Include argp.h first. Include progname.h.
66402         (main): Call set_program_name.
66403
66404 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
66405
66406         * doc/gnulib-tool.texi (Initial import): Reword description of
66407         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
66408         limited effect even if defined after the first system include.
66409
66410 2007-03-01  Bruno Haible  <bruno@clisp.org>
66411
66412         * build-aux/config.libpath: Update to libtool-1.5.22.
66413         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
66414
66415 2007-03-01  Bruno Haible  <bruno@clisp.org>
66416
66417         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
66418         foo_CFLAGS.
66419         Reported by Ralf Wildenhues.
66420
66421 2007-03-01  Bruno Haible  <bruno@clisp.org>
66422
66423         * build-aux/install-reloc: Remove object files left over by some
66424         compilers.
66425         Reported by Ralf Wildenhues.
66426
66427 2007-03-01  Bruno Haible  <bruno@clisp.org>
66428
66429         * build-aux/install-reloc: Break long lines.
66430
66431 2007-03-01  Bruno Haible  <bruno@clisp.org>
66432
66433         * doc/relocatable.texi: Document that it may not work on OpenBSD.
66434         Reported by Ralf Wildenhues.
66435
66436 2007-03-01  Bruno Haible  <bruno@clisp.org>
66437
66438         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
66439         include ordering constraints.
66440
66441 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
66442
66443         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
66444         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
66445         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
66446         as another example.
66447         * lib/time_.h: Fix misspelling.
66448         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
66449         Require gl_HEADER_TIME_H_DEFAULTS.
66450         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
66451         * m4/time_r.m4 (gl_TIME_R): Likewise.
66452         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
66453
66454 2007-03-01  Bruno Haible  <bruno@clisp.org>
66455
66456         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
66457         * m4/utimens.m4 (gl_UTIMENS): Likewise.
66458
66459 2007-03-01  Jim Meyering  <jim@meyering.net>
66460
66461         * modules/xreadlink (Maintainer): Add my name.
66462         * modules/xreadlink-with-size (Depends-on): Alphabetize.
66463
66464 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
66465             Bruno Haible  <bruno@clisp.org>
66466
66467         * build-aux/install-reloc: Compile also c-ctype.c.
66468         * build-aux/relocatable.sh.in: New file.
66469         * doc/relocatable.texi: New file.
66470         * doc/relocatable-maint.texi: New file.
66471         * doc/gnulib.texi: Include relocatable-maint.texi.
66472         * lib/progreloc.c: Include unistd.h unconditionally.
66473         * lib/relocwrapper.c: Include unistd.h unconditionally.
66474         Include c-ctype.h.
66475         (add_dotbin): Use c_tolower.
66476         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
66477         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
66478         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
66479         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
66480         to m4/relocatable-lib.m4.
66481         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
66482         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
66483         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
66484         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
66485         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
66486         * modules/relocatable: New file.
66487         * modules/relocatable-lib: New file.
66488         * modules/relocatable-script: New file.
66489
66490 2007-02-28  Bruno Haible  <bruno@clisp.org>
66491
66492         Import --enable-relocatable infrastructure.
66493         * build-aux/config.libpath: New file, from GNU gettext.
66494         * build-aux/install-reloc: New file, from GNU gettext.
66495         * build-aux/reloc-ldflags: New file, from GNU gettext.
66496         * lib/relocatable.h: New file, from GNU gettext.
66497         * lib/relocatable.c: New file, from GNU gettext.
66498         * lib/relocwrapper.c: New file, from GNU gettext.
66499         * m4/relocatable.m4: New file, from GNU gettext.
66500
66501 2007-02-28  Bruno Haible  <bruno@clisp.org>
66502
66503         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
66504
66505         * modules/xreadlink: New file, from GNU gettext with modifications.
66506         * lib/xreadlink.c: New file, from GNU gettext.
66507         * lib/xreadlink.h: Add comments.
66508         (xreadlink): New declaration.
66509
66510         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
66511         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
66512         lib/xreadlink-with-size.c.
66513         (configure.ac): Remove gl_XREADLINK invocation.
66514         (Makefile.am): Augment lib_SOURCES.
66515         * m4/xreadlink.m4: Remove file.
66516         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
66517         (xreadlink_with_size): Renamed from xreadink.
66518         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
66519         * modules/canonicalize (Depends-on): Replace xreadlink with
66520         xreadlink-with-size.
66521         * lib/canonicalize.c (canonicalize_filename_mode): Update.
66522
66523 2007-02-25  Jim Meyering  <jim@meyering.net>
66524
66525         * build-aux/announce-gen: When complaining about excess arguments,
66526         list them.
66527
66528 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
66529
66530         * README: Document signed integer overflow situation more
66531         accurately.
66532
66533 2007-02-25  Bruno Haible  <bruno@clisp.org>
66534
66535         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
66536         'a' or 'A' conversion.
66537
66538 2007-02-25  Bruno Haible  <bruno@clisp.org>
66539
66540         * modules/filename: Renamed from modules/pathname.
66541         (Files): Replace lib/pathname.h with lib/filename.h. Replace
66542         lib/concatpath.c with lib/concat-filename.c.
66543         (Makefile.am): Update.
66544         (Include): Replace pathname.h with filename.h.
66545         * lib/filename.h: Renamed from lib/pathname.h.
66546         (concatenated_filename): Renamed from concatenated_pathname.
66547         * lib/concat-filename.c: Renamed from lib/concatpath.c.
66548         (concatenated_filename): Renamed from concatenated_pathname.
66549         * lib/findprog.c: Include filename.h instead of pathname.h.
66550         (find_in_path): Update.
66551         * lib/javacomp.c: Include filename.h instead of pathname.h.
66552         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
66553         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
66554         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
66555         is_oldgcj_14_13_usable, is_javac_usable): Update.
66556         * lib/javaexec.c: Include filename.h instead of pathname.h.
66557         (execute_java_class): Update.
66558         * modules/findprog: Update.
66559         * modules/javacomp: Update.
66560         * modules/javaexec: Update.
66561         * MODULES.html.sh (File system functions): Add 'filename', remove
66562         'pathname'.
66563
66564 2007-02-25  Bruno Haible  <bruno@clisp.org>
66565
66566         * modules/printf-frexpl-tests: New file.
66567         * tests/test-printf-frexpl.c: New file.
66568
66569         * modules/printf-frexpl: New file.
66570         * lib/printf-frexpl.h: New file.
66571         * lib/printf-frexpl.c: New file.
66572         * m4/printf-frexpl.m4: New file.
66573
66574 2007-02-25  Bruno Haible  <bruno@clisp.org>
66575
66576         * modules/printf-frexp-tests: New file.
66577         * tests/test-printf-frexp.c: New file.
66578
66579         * modules/printf-frexp: New file.
66580         * lib/printf-frexp.h: New file.
66581         * lib/printf-frexp.c: New file.
66582         * m4/printf-frexp.m4: New file.
66583
66584 2007-02-25  Bruno Haible  <bruno@clisp.org>
66585
66586         Assume automake >= 1.10 for the tests.
66587         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
66588         * modules/arctwo-tests: Likewise.
66589         * modules/argp-tests: Likewise.
66590         * modules/avltree-list-tests: Likewise.
66591         * modules/avltree-oset-tests: Likewise.
66592         * modules/avltreehash-list-tests: Likewise.
66593         * modules/carray-list-tests: Likewise.
66594         * modules/crc-tests: Likewise.
66595         * modules/des-tests: Likewise.
66596         * modules/gc-arcfour-tests: Likewise.
66597         * modules/gc-arctwo-tests: Likewise.
66598         * modules/gc-des-tests: Likewise.
66599         * modules/gc-hmac-md5-tests: Likewise.
66600         * modules/gc-hmac-sha1-tests: Likewise.
66601         * modules/gc-md2-tests: Likewise.
66602         * modules/gc-md4-tests: Likewise.
66603         * modules/gc-md5-tests: Likewise.
66604         * modules/gc-pbkdf2-sha1-tests: Likewise.
66605         * modules/gc-rijndael-tests: Likewise.
66606         * modules/gc-sha1-tests: Likewise.
66607         * modules/gc-tests: Likewise.
66608         * modules/getaddrinfo-tests: Likewise.
66609         * modules/hmac-md5-tests: Likewise.
66610         * modules/hmac-sha1-tests: Likewise.
66611         * modules/linked-list-tests: Likewise.
66612         * modules/linkedhash-list-tests: Likewise.
66613         * modules/lock-tests: Likewise.
66614         * modules/md2-tests: Likewise.
66615         * modules/md4-tests: Likewise.
66616         * modules/md5-tests: Likewise.
66617         * modules/rbtree-list-tests: Likewise.
66618         * modules/rbtree-oset-tests: Likewise.
66619         * modules/rbtreehash-list-tests: Likewise.
66620         * modules/read-file-tests: Likewise.
66621         * modules/rijndael-tests: Likewise.
66622         * modules/stdint-tests: Likewise.
66623         * modules/tls-tests: Likewise.
66624
66625 2007-02-24  Bruno Haible  <bruno@clisp.org>
66626
66627         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
66628         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
66629         function; instead check whether isnan with a double argument links.
66630         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
66631         function; instead check whether isnan with a 'long double' argument
66632         links.
66633         Reported by Eric Blake <ebb9@byu.net>.
66634
66635 2007-02-24  Bruno Haible  <bruno@clisp.org>
66636
66637         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
66638         defined.
66639         * lib/isnanl.c: Remove all code. Just include isnan.c.
66640         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
66641
66642 2007-02-25  Jim Meyering  <jim@meyering.net>
66643
66644         Avoid conflicting types for 'unsetenv' on FreeBSD.
66645         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
66646         conflicting with FreeBSD's (5.0 and 6.1) function declaration
66647         in stdlib.h.
66648
66649 2007-02-24  Bruno Haible  <bruno@clisp.org>
66650
66651         * modules/isnanl-nolibm-tests: New file.
66652         * tests/test-isnanl.c: New file.
66653
66654         * modules/isnanl-nolibm: New file.
66655         * lib/isnanl.h: New file.
66656         * lib/isnanl.c: New file.
66657         * m4/isnanl.m4: New file.
66658
66659 2007-02-24  Bruno Haible  <bruno@clisp.org>
66660
66661         * modules/isnan-nolibm-tests: New file.
66662         * tests/test-isnan.c: New file.
66663
66664         * modules/isnan-nolibm: New file.
66665         * lib/isnan.h: New file.
66666         * lib/isnan.c: New file.
66667         * m4/isnan.m4: New file.
66668
66669 2007-02-24  Bruno Haible  <bruno@clisp.org>
66670
66671         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
66672         assume that an exponent fits in 20 bits.
66673
66674 2007-02-24  Jim Meyering  <jim@meyering.net>
66675
66676         * m4/regex.m4: Update the description of the configure-time option,
66677         --without-included-regex, to state accurately what the defaults are,
66678         and perhaps to give people an idea why using this option is risky.
66679
66680 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
66681
66682         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
66683         loops on small arguments.  This attempts to avoid the problem
66684         Bruno Haible reported for AIX 4.3.2 in
66685         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
66686
66687 2007-02-23  Bruno Haible  <bruno@clisp.org>
66688
66689         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
66690         Needed for help2man.
66691
66692 2007-02-23  Karl Berry  <karl@gnu.org>
66693
66694         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
66695         exists, foo.h should be cvs-ignored, not committed.
66696
66697 2007-02-23  Eric Blake  <ebb9@byu.net>
66698
66699         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
66700         * lib/stat-time.h (includes): Likewise.
66701         * lib/utimecmp.c (includes): Likewise.
66702         * lib/utimens.h (includes): Likewise.
66703         * lib/getdate.y (includes): Also include "timespec.h" for use
66704         internal to the module.
66705         * modules/utimens (Depends-on): Revert yesterday's patch.
66706         * modules/nanosleep (Depends-on): Add missing dependency.
66707
66708 2007-02-22  Bruno Haible  <bruno@clisp.org>
66709
66710         * lib/glob.c: Don't include getlogin_r.h.
66711
66712 2007-02-22  Jim Meyering  <jim@meyering.net>
66713
66714         * modules/utimens (Depends-on): Add timespec, required for
66715         utimens.h's inclusion of timespec.h.
66716
66717 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
66718
66719         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
66720         long unreadable paths in GNU/Linux.  Problem reported by Andreas
66721         Schwab in
66722         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
66723         I'll try to think of a better way to fix the Solaris problem.
66724
66725         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
66726         like glibc; on Solaris 10, it fails with errno == EINVAL.
66727         POSIX says the behavior is unspecified if the first argument is NULL,
66728         so play it safe and never pass NULL to the system getcwd.
66729
66730 2007-02-21  Jim Meyering  <jim@meyering.net>
66731
66732         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
66733         of gettimeofday.  It would conflict with the one now always
66734         provided via sys_time_.h.  Reported by Matthew Woehlke, as
66735         an IRIX 6.5 build failure.
66736
66737 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
66738
66739         Minor fixups to port to Solaris 10 with Sun C 5.8.
66740         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
66741         * modules/getcwd (Depends-on): Add dirfd.
66742         * lib/putenv.c (putenv): #undef it.
66743         (rpl_putenv): New decl.
66744         (malloc, free): Include <stdlib.h> rather than prototyping separately.
66745
66746 2007-02-20  Bruno Haible  <bruno@clisp.org>
66747
66748         * modules/stdio-tests: New file.
66749         * tests/test-stdio.c: New file.
66750
66751         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
66752         (Depends-on): Add stdio.
66753         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
66754         (Include): Use <stdio.h> instead of vsnprintf.h.
66755         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
66756         HAVE_DECL_VSNPRINTF.
66757         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
66758
66759         * modules/snprintf (Files): Remove lib/snprintf.h.
66760         (Depends-on): Add stdio.
66761         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
66762         (Include): Use <stdio.h> instead of snprintf.h.
66763         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
66764         HAVE_DECL_SNPRINTF.
66765         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
66766         * lib/getaddrinfo.c: Likewise.
66767
66768         * modules/stdio: New file.
66769         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
66770         * lib/snprintf.h: Remove file.
66771         * lib/vsnprintf.h: Remove file.
66772         * lib/.cppi-disable: Remove snprintf.h.
66773         * m4/stdio_h.m4: New file.
66774         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
66775
66776 2007-02-20  Jim Meyering  <jim@meyering.net>
66777
66778         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
66779         used by e.g., mingw.  From Bruno Haible.
66780
66781 2007-02-19  Bruno Haible  <bruno@clisp.org>
66782
66783         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
66784         warnings.
66785         Reported by Ben Pfaff <blp@cs.stanford.edu>.
66786
66787 2007-02-19  Bruno Haible  <bruno@clisp.org>
66788
66789         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
66790         from mingw users.
66791
66792 2007-02-19  Bruno Haible  <bruno@clisp.org>
66793
66794         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
66795         warnings.
66796         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
66797
66798 2007-02-19  Jim Meyering  <jim@meyering.net>
66799
66800         Don't use FD after a successful "fdopendir (fd)".
66801         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
66802         Reset it by calling dirfd on the just-obtained DIR*.
66803
66804         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
66805         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
66806
66807 2007-02-18  Bruno Haible  <bruno@clisp.org>
66808
66809         * lib/readlink.c: Include <unistd.h>.
66810         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
66811         HAVE_READLINK.
66812         * modules/readlink (Depends-on): Add unistd.
66813         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66814         (Include): Add <unistd.h>.
66815
66816         * lib/getlogin_r.h: Remove file.
66817         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
66818         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
66819         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
66820         HAVE_DECL_GETLOGIN_R.
66821         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
66822         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66823         (Include): Use <unistd.h> instead of getlogin_r.h.
66824
66825         * lib/getcwd.h: Remove file.
66826         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
66827         * lib/xgetcwd.c: Likewise.
66828         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
66829         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
66830         * modules/getcwd (Files): Remove lib/getcwd.h.
66831         (Depends-on): Add unistd.
66832         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66833         (Include): Use <unistd.h> instad of getcwd.h.
66834
66835         * lib/ftruncate.c: Include <unistd.h> first.
66836         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
66837         Set HAVE_FTRUNCATE.
66838         * modules/ftruncate (Depends-on): Add unistd.
66839         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66840
66841         * lib/fchdir.c: Include <unistd.h> first.
66842         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
66843         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
66844         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
66845         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66846         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
66847
66848         * lib/dup2.c: Include <unistd.h> first.
66849         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
66850         HAVE_DUP2.
66851         * modules/dup2 (Depends-on): Add unistd.
66852         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66853
66854         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
66855         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
66856         REPLACE_CHOWN. Don't define chown as a macro here.
66857         * modules/chown (Depends-on): Add unistd.
66858         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
66859
66860         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
66861         Add definition for GL_LINK_WARNING.
66862         (chown, dup2): New declarations.
66863         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
66864         link warning.
66865         (ftruncate): New declaration.
66866         (getcwd): New declaration, taken from old getcwd.h.
66867         (getlogin_r): New declaration, taken from old getlogin_r.h.
66868         (readlink): New declaration.
66869         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
66870         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
66871         (gl_PREREQ_UNISTD): Remove macro.
66872         (gl_UNISTD_MODULE_INDICATOR): New macro.
66873         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
66874         many new variables. Don't set UNISTD_H.
66875         * modules/unistd (Description): Change.
66876         (Depends-on): Add link-warning.
66877         (configure.ac): Update.
66878         (Makefile.am): Create unistd.h always. Substitute many new variables
66879         into it.
66880
66881 2007-02-18  Bruno Haible  <bruno@clisp.org>
66882
66883         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
66884         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
66885         HAVE_GETSUBOPT.
66886         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
66887         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
66888         * lib/getsubopt.h: Remove file.
66889         * modules/getsubopt (Files): Remove lib/getsubopt.h.
66890         (Depends-on): Add stdlib.
66891         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66892         (Includes): Use <stdlib.h> instead of getsubopt.h.
66893         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
66894         Set HAVE_GETSUBOPT.
66895         * lib/getsubopt.c: Don't include getsubopt.h.
66896
66897 2007-02-18  Bruno Haible  <bruno@clisp.org>
66898
66899         * modules/fchdir (Depends-on): Add dup2.
66900
66901 2007-02-18  Bruno Haible  <bruno@clisp.org>
66902
66903         * lib/stdlib_.h: Handle glibc's special invocation convention
66904         specially.
66905
66906 2007-02-18  Bruno Haible  <bruno@clisp.org>
66907
66908         * modules/stdlib-tests: New file.
66909         * tests/test-stdlib.c: New file.
66910
66911         * modules/mkstemp (Files): Remove lib/mkstemp.h.
66912         (Depends-on): Add stdlib.
66913         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66914         (Includes): Use <stdlib.h> instead of mkstemp.h.
66915         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
66916         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
66917         * lib/mkstemp.c: Don't include mkstemp.h.
66918         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
66919         * lib/stdlib--.h: Don't include mkstemp.h.
66920
66921         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
66922         (Depends-on): Add stdlib.
66923         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
66924         (Includes): Use <stdlib.h> instead of mkdtemp.h.
66925         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
66926         HAVE_MKDTEMP.
66927         * lib/mkdtemp.c: Don't include mkdtemp.h.
66928         * lib/clean-temp.c: Don't include mkdtemp.h.
66929
66930         * modules/exit (Files): Remove lib/exit.h.
66931         (Depends-on): Add stdlib.
66932         (Makefile.am): Remove lib_SOURCES.
66933         (Include): Use <stdlib.h> instead of exit.h.
66934         * lib/argmatch.c: Don't include exit.h.
66935         * lib/execute.c: Likewise.
66936         * lib/pagealign_alloc.c: Likewise.
66937         * lib/pipe.c: Likewise.
66938         * lib/wait-process.c: Likewise.
66939         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
66940         * lib/exitfail.c: Likewise.
66941         * lib/savewd.c: Likewise.
66942         * lib/xsetenv.c: Likewise.
66943
66944         * modules/stdlib: New file.
66945         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
66946         and extra comments about mkstemp().
66947         * lib/exit.h: Remove file.
66948         * lib/mkdtemp.h: Remove file.
66949         * lib/mkstemp.h: Remove file.
66950         * m4/stdlib_h.m4: New file.
66951         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
66952
66953 2007-02-18  Bruno Haible  <bruno@clisp.org>
66954
66955         * modules/math-tests: New file.
66956         * tests/test-math.c: New file.
66957
66958         * modules/math: New file.
66959         * modules/mathl (Files): Remove lib/mathl.h.
66960         (Depends-on): Add math.
66961         (Makefile.am): Don't mention mathl.h.
66962         (Include): Use <math.h> instead of mathl.h.
66963         * lib/math_.h: New file.
66964         * lib/mathl.h: Remove file.
66965         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
66966         mathl.h.
66967         * lib/asinl.c: Likewise.
66968         * lib/atanl.c: Likewise.
66969         * lib/ceill.c: Likewise.
66970         * lib/cosl.c: Likewise.
66971         * lib/expl.c: Likewise.
66972         * lib/floorl.c: Likewise.
66973         * lib/frexpl.c: Likewise.
66974         * lib/ldexpl.c: Likewise.
66975         * lib/logl.c: Likewise.
66976         * lib/sincosl.c: Likewise.
66977         * lib/sinl.c: Likewise.
66978         * lib/sqrtl.c: Likewise.
66979         * lib/tanl.c: Likewise.
66980         * lib/trigl.c: Likewise.
66981         * m4/math_h.m4: New file.
66982         * MODULES.html.sh (Mathematics): Add math.
66983
66984 2007-02-17  Bruno Haible  <bruno@clisp.org>
66985
66986         * modules/wctype-tests: New file.
66987         * tests/test-wctype.c: New file.
66988
66989         * modules/wchar-tests: New file.
66990         * tests/test-wchar.c: New file.
66991
66992         * modules/unistd-tests: New file.
66993         * tests/test-unistd.c: New file.
66994
66995         * modules/time-tests: New file.
66996         * tests/test-time.c: New file.
66997
66998         * modules/sysexits-tests: New file.
66999         * tests/test-sysexits.c: New file.
67000
67001         * modules/sys_time-tests: New file.
67002         * tests/test-sys_time.c: New file.
67003
67004         * modules/sys_stat-tests: New file.
67005         * tests/test-sys_stat.c: New file.
67006
67007         * modules/sys_socket-tests: New file.
67008         * tests/test-sys_socket.c: New file.
67009
67010         * modules/sys_select-tests: New file.
67011         * tests/test-sys_select.c: New file.
67012
67013         * modules/string-tests: New file.
67014         * tests/test-string.c: New file.
67015
67016         * modules/stdbool-tests: New file.
67017         * tests/test-stdbool.c: New file.
67018
67019         * modules/netinet_in-tests: New file.
67020         * tests/test-netinet_in.c: New file.
67021
67022         * modules/inttypes-tests: New file.
67023         * tests/test-inttypes.c: New file.
67024
67025         * modules/fcntl-tests: New file.
67026         * tests/test-fcntl.c: New file.
67027
67028         * modules/byteswap-tests: New file.
67029         * tests/test-byteswap.c: New file.
67030
67031         * modules/arpa_inet-tests: New file.
67032         * tests/test-arpa_inet.c: New file.
67033
67034 2007-02-17  Bruno Haible  <bruno@clisp.org>
67035
67036         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
67037         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
67038         if the corresponding module is not enabled. Emit link warnings if
67039         the function is used nevertheless.
67040         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
67041         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
67042         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
67043         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
67044         * modules/inttypes (Depends-on): Add link-warning.
67045         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67046         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
67047         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
67048         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
67049         * modules/imaxdiv (configure.ac): Likewise.
67050         * modules/strtoimax (configure.ac): Likewise.
67051         * modules/strtoumax (configure.ac): Likewise.
67052
67053 2007-02-17  Bruno Haible  <bruno@clisp.org>
67054
67055         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
67056         gl_STRING_MODULE_INDICATOR_DEFAULTS.
67057         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
67058         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
67059
67060 2007-02-17  Bruno Haible  <bruno@clisp.org>
67061
67062         * modules/link-warning: New file.
67063         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
67064         * lib/string_.h (GL_LINK_WARNING): Remove definition.
67065         * modules/string (Depends-on): Add link-warning.
67066         (Makefile.am): Copy the contents of build-aux/link-warning.h into
67067         string.h.
67068         * MODULES.html.sh (Support for building libraries and executables): Add
67069         link-warning.
67070
67071 2007-02-17  Bruno Haible  <bruno@clisp.org>
67072
67073         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
67074         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
67075         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
67076         long lines.
67077
67078 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
67079             Bruno Haible  <bruno@clisp.org>
67080
67081         * modules/tmpfile: New file.
67082         * lib/tmpfile.c: New file.
67083         * m4/tmpfile.m4: New file.
67084         * MODULES.html.sh (func_all_modules): New section "Input/output".
67085
67086 2007-02-15  Bruno Haible  <bruno@clisp.org>
67087
67088         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
67089         (supports_delete_on_close): New function.
67090         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
67091
67092 2007-02-14  Bruno Haible  <bruno@clisp.org>
67093
67094         * modules/mbspcasecmp-tests: New file.
67095         * tests/test-mbspcasecmp.sh: New file.
67096         * tests/test-mbspcasecmp.c: New file.
67097
67098         New module mbspcasecmp.
67099         * modules/mbspcasecmp: New file.
67100         * lib/mbspcasecmp.c: New file.
67101         * lib/string_.h (strncasecmp): Change warning message.
67102         (mbspcasecmp): New declaration.
67103         * m4/mbspcasecmp.m4: New file.
67104         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67105         GNULIB_MBSPCASECMP.
67106         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
67107         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
67108
67109 2007-02-14  Bruno Haible  <bruno@clisp.org>
67110
67111         * modules/mbsncasecmp-tests: New file.
67112         * tests/test-mbsncasecmp.sh: New file.
67113         * tests/test-mbsncasecmp.c: New file.
67114
67115         New module mbsncasecmp.
67116         * modules/mbsncasecmp: New file.
67117         * lib/mbsncasecmp.c: New file.
67118         * lib/string_.h (mbsncasecmp): New declaration.
67119         * m4/mbsncasecmp.m4: New file.
67120         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67121         GNULIB_MBSNCASECMP.
67122         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
67123         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
67124
67125 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
67126
67127         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
67128         Verify that it doesn't overlap with our flags.
67129         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
67130         do not have the desired effect in multibyte locales; instead, use
67131         mbscasecmp.
67132         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
67133         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
67134         we don't require GNU fnmatch ourselves (if our users require it, they
67135         should do so explicitly).
67136
67137         Fix regex code so it doesn't rely on strcasecmp.
67138         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
67139         Otherwise, include gnulib's langinfo.h.
67140         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
67141         undesirable behavior in non-C locales.  Instead, rely on localecharset.
67142         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
67143         * modules/regex (FILES): Remove m4/codeset.m4.
67144         (Depends-on): Add localcharset.  Remove strcase.
67145
67146 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67147
67148         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
67149         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
67150
67151 2007-02-13  Bruno Haible  <bruno@clisp.org>
67152
67153         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
67154         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67155
67156 2007-02-12  Bruno Haible  <bruno@clisp.org>
67157
67158         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
67159         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
67160         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
67161         time warning rather than a link error.
67162
67163 2007-02-12  Bruno Haible  <bruno@clisp.org>
67164
67165         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
67166         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
67167         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
67168
67169 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67170
67171         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
67172         args, not 2.
67173
67174 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
67175
67176         New module 'time', so that apps can include <time.h> as per
67177         POSIX and GNU instead of separate include files like time_r.h
67178         and timegm.h.  This implementation tries out a simpler approach
67179         for replacing decls in standard include files (as compared to
67180         the string module), somewhat as an experiment.
67181
67182         * config/srclist.txt: Comment out mktime.c for now.
67183         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
67184         since it doesn't apply any more.  Use generic wording instead.
67185         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
67186         'time'.
67187         * lib/time_.h, m4/time_h.m4, modules/time: New files.
67188         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
67189         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
67190         Don't include <sys/types.h>; no longer needed since we assume C89.
67191         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
67192         * lib/strftime.c: Likewise.
67193         * lib/time_r.c: Likewise.
67194         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
67195         * lib/nanosleep.c: Include <time.h> first, to check interface.
67196         * lib/strptime.c: Likewise.
67197         * lib/time_r.c: Likewise.
67198         * lib/timegm.c: Likewise.
67199         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
67200         needed.
67201         * lib/timegm.c: Don't include timegm.h; no longer needed.
67202         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
67203         time.h now handles any problems in that area.
67204         (struct timespec, nanosleep): Remove; time.h now arranges for these.
67205         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
67206         that time.h defines struct timespec.
67207         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
67208         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
67209         handles that.
67210         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
67211         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
67212         needed.  Set REPLACE_LOCALTIME.
67213         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
67214         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
67215         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
67216         nanosleep; time_h.m4 now does that.  Don't require
67217         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
67218         module handles this now.
67219         * modules/getdate (Depends-on): Remove timespec.  Add time.
67220         * modules/nanosleep (Depends-on): Likewise.
67221         * modules/stat-time (Depends-on): Likewise.
67222         * modules/nanosleep (Include): Include time.h, not timespec.h.
67223         * modules/strptime (Files): Remove lib/strptime.h.
67224         (Depends-on): Add extensions, time.
67225         (Include): Include time.h, not strptime.h.
67226         * modules/time_r (Files): Remove lib/time_r.h.
67227         (Depends-on): Add time.
67228         (Include): Include time.h, not time_r.h.
67229         * modules/timegm: Likewise.
67230         * modules/timespec (Description): Now does timespec-related decls
67231         of our own, instead of struct timespec itself.
67232         (Depends-on): Add time; remove extensions.
67233         (Maintainer): Add self.
67234         * modules/utimecmp (Depends-on): Add time; remove timespec.
67235         * modules/utimens (Depends-on): Likewise.
67236         * modules/xnanosleep (Depends-on): Likewise.
67237
67238 2007-02-11  Bruno Haible  <bruno@clisp.org>
67239
67240         * lib/c-strstr.c: Include allocsa.h.
67241         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67242         * lib/c-strcasestr.c: Include allocsa.h.
67243         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67244         * lib/strcasestr.c: Include allocsa.h.
67245         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
67246         * lib/mbsstr.c: Include allocsa.h.
67247         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67248         allocsa/freesa instead of malloc/free.
67249         * lib/mbscasestr.c: Include allocsa.h.
67250         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
67251         allocsa/freesa instead of malloc/free.
67252         * modules/c-strstr (Depends-on): Add allocsa.
67253         * modules/c-strcasestr (Depends-on): Likewise.
67254         * modules/strcasestr (Depends-on): Likewise.
67255         * modules/mbsstr (Depends-on): Likewise.
67256         * modules/mbscasestr (Depends-on): Likewise.
67257
67258 2007-02-11  Bruno Haible  <bruno@clisp.org>
67259
67260         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
67261
67262         * modules/mbsspn-tests: New file.
67263         * tests/test-mbsspn.sh: New file.
67264         * tests/test-mbsspn.c: New file.
67265
67266 2007-02-11  Bruno Haible  <bruno@clisp.org>
67267
67268         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
67269
67270         * modules/mbspbrk-tests: New file.
67271         * tests/test-mbspbrk.sh: New file.
67272         * tests/test-mbspbrk.c: New file.
67273
67274 2007-02-11  Bruno Haible  <bruno@clisp.org>
67275
67276         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
67277         unneeded cast.
67278
67279         * modules/mbscspn-tests: New file.
67280         * tests/test-mbscspn.sh: New file.
67281         * tests/test-mbscspn.c: New file.
67282
67283 2007-02-11  Bruno Haible  <bruno@clisp.org>
67284
67285         * modules/mbscasecmp-tests: New file.
67286         * tests/test-mbscasecmp.sh: New file.
67287         * tests/test-mbscasecmp.c: New file.
67288
67289 2007-02-11  Bruno Haible  <bruno@clisp.org>
67290
67291         Ensure O(n) worst-case complexity of mbscasestr.
67292         * lib/mbscasestr.c: Include stdbool.h.
67293         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67294         functions.
67295         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
67296         the bookkeeping indicates that it's worth it.
67297         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
67298
67299         * modules/mbscasestr-tests: New file.
67300         * tests/test-mbscasestr1.c: New file.
67301         * tests/test-mbscasestr2.sh: New file.
67302         * tests/test-mbscasestr2.c: New file.
67303         * tests/test-mbscasestr3.sh: New file.
67304         * tests/test-mbscasestr3.c: New file.
67305         * tests/test-mbscasestr4.sh: New file.
67306         * tests/test-mbscasestr4.c: New file.
67307         * m4/locale-tr.m4: New file.
67308
67309 2007-02-11  Bruno Haible  <bruno@clisp.org>
67310
67311         Ensure O(n) worst-case complexity of mbsstr.
67312         * lib/mbsstr.c: Include stdbool.h.
67313         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
67314         functions.
67315         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
67316         bookkeeping indicates that it's worth it.
67317         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
67318
67319         * modules/mbsstr-tests: New file.
67320         * tests/test-mbsstr1.c: New file.
67321         * tests/test-mbsstr2.sh: New file.
67322         * tests/test-mbsstr2.c: New file.
67323         * tests/test-mbsstr3.sh: New file.
67324         * tests/test-mbsstr3.c: New file.
67325         * m4/locale-fr.m4: New file.
67326
67327 2007-02-11  Bruno Haible  <bruno@clisp.org>
67328
67329         * lib/mbsrchr.c (mbsrchr): Fix bug.
67330
67331         * modules/mbsrchr-tests: New file.
67332         * tests/test-mbsrchr.sh: New file.
67333         * tests/test-mbsrchr.c: New file.
67334
67335 2007-02-11  Bruno Haible  <bruno@clisp.org>
67336
67337         * lib/mbschr.c (mbschr): Fix bug.
67338
67339         * modules/mbschr-tests: New file.
67340         * tests/test-mbschr.sh: New file.
67341         * tests/test-mbschr.c: New file.
67342         * m4/locale-zh.m4: New file.
67343
67344 2007-02-11  Bruno Haible  <bruno@clisp.org>
67345
67346         Support for copying multibyte string iterators.
67347         * lib/mbiter.h: Include <string.h>.
67348         (mbiter_multi_copy): New function.
67349         (mbi_copy): New macro.
67350         * lib/mbuiter.h: Include <string.h>.
67351         (mbuiter_multi_copy): New function.
67352         (mbui_copy): New macro.
67353
67354 2007-02-11  Bruno Haible  <bruno@clisp.org>
67355
67356         New module mbslen.
67357         * modules/mbslen: New file.
67358         * lib/mbslen.c: New file.
67359         * lib/string_.h (mbslen): New declaration.
67360         * m4/mbslen.m4: New file.
67361         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67362         GNULIB_MBSLEN.
67363         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
67364         * MODULES.html.sh (Internationalization functions): Add mbslen.
67365
67366 2007-02-11  Bruno Haible  <bruno@clisp.org>
67367
67368         Ensure O(n) worst-case complexity of strcasestr substitute.
67369         * lib/strcasestr.c: Include stdbool.h.
67370         (knuth_morris_pratt): New function.
67371         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67372         bookkeeping indicates that it's worth it.
67373         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
67374
67375         * modules/strcasestr-tests: New file.
67376         * tests/test-strcasestr.c: New file.
67377
67378 2007-02-11  Bruno Haible  <bruno@clisp.org>
67379
67380         Ensure O(n) worst-case complexity of c_strcasestr.
67381         * lib/c-strcasestr.c: Include stdbool.h, string.h.
67382         (knuth_morris_pratt): New function.
67383         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
67384         the bookkeeping indicates that it's worth it.
67385         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
67386
67387         * modules/c-strcasestr-tests: New file.
67388         * tests/test-c-strcasestr.c: New file.
67389
67390 2007-02-11  Bruno Haible  <bruno@clisp.org>
67391
67392         Ensure O(n) worst-case complexity of c_strstr.
67393         * lib/c-strstr.c: Include stdbool.h, string.h.
67394         (knuth_morris_pratt): New function.
67395         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
67396         bookkeeping indicates that it's worth it.
67397         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
67398
67399         * lib/c-strstr.c: Complete rewrite for maintainability.
67400
67401         * modules/c-strstr-tests: New file.
67402         * tests/test-c-strstr.c: New file.
67403
67404 2007-02-11  Bruno Haible  <bruno@clisp.org>
67405
67406         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
67407         5.2.1 and earlier, whereby \055 was treated just like the range
67408         delimiter '-'.
67409         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67410
67411 2007-02-08  Bruno Haible  <bruno@clisp.org>
67412
67413         * modules/regex (Depends-on): Add stdbool.
67414         Reported by Dalibor Topic <robilad@kaffe.org>.
67415
67416 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
67417
67418         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
67419         Prefer returning from main to exiting from it.
67420         Remove unnecessary parens after sizeof.
67421
67422 2007-02-05  Bruno Haible  <bruno@clisp.org>
67423
67424         New module mbssep.
67425         * modules/mbssep: New file.
67426         * lib/mbssep.c: New file.
67427         * lib/string_.h (strsep): Add a conditional link warning.
67428         (mbssep): New declaration.
67429         * m4/mbssep.m4: New file.
67430         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67431         GNULIB_MBSSEP.
67432         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
67433         * MODULES.html.sh (Internationalization functions): Add mbssep.
67434
67435 2007-02-05  Bruno Haible  <bruno@clisp.org>
67436
67437         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
67438         Optimize search in case of 1 delimiter.
67439
67440 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67441
67442         * lib/acl.h: Include sys/types.h before sys/acl.h.
67443
67444 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
67445
67446         Merge upstream fix for glibc bugzilla #3957:
67447
67448         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
67449
67450         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
67451         bit for RE_HAT_LISTS_NOT_NEWLINE.
67452         (build_charclass_op): Remove bogus comment.
67453
67454 2007-02-05  Simon Josefsson  <simon@josefsson.org>
67455
67456         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
67457
67458 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67459
67460         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
67461         * lib/memmem.c [!defined _LIBC]: Include config.h.
67462
67463 2007-02-04  Bruno Haible  <bruno@clisp.org>
67464
67465         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
67466         warning message.
67467
67468 2007-02-04  Bruno Haible  <bruno@clisp.org>
67469
67470         New module mbstok_r.
67471         * modules/mbstok_r: New file.
67472         * lib/mbstok_r.c: New file.
67473         * lib/string_.h (strtok_r): Change argument names to match the
67474         comments. Add a conditional link warning.
67475         (mbstok_r): New declaration.
67476         * m4/mbstok_r.m4: New file.
67477         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67478         GNULIB_MBSTOK_R.
67479         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
67480         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
67481
67482 2007-02-04  Bruno Haible  <bruno@clisp.org>
67483
67484         New module mbsspn.
67485         * modules/mbsspn: New file.
67486         * lib/mbsspn.c: New file.
67487         * lib/string_.h (strspn): Add a conditional link warning.
67488         (mbsspn): New declaration.
67489         * m4/mbsspn.m4: New file.
67490         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67491         GNULIB_MBSSPN.
67492         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
67493         * MODULES.html.sh (Internationalization functions): Add mbsspn.
67494
67495 2007-02-04  Bruno Haible  <bruno@clisp.org>
67496
67497         New module mbspbrk.
67498         * modules/mbspbrk: New file.
67499         * lib/mbspbrk.c: New file.
67500         * lib/string_.h (strpbrk): Add a conditional link warning.
67501         (mbspbrk): New declaration.
67502         * m4/mbspbrk.m4: New file.
67503         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67504         GNULIB_MBSPBRK.
67505         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
67506         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
67507
67508 2007-02-04  Bruno Haible  <bruno@clisp.org>
67509
67510         New module mbscspn.
67511         * modules/mbscspn: New file.
67512         * lib/mbscspn.c: New file.
67513         * lib/string_.h (strcspn): Add a conditional link warning.
67514         (mbscspn): New declaration.
67515         * m4/mbscspn.m4: New file.
67516         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67517         GNULIB_MBSCSPN.
67518         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
67519         * MODULES.html.sh (Internationalization functions): Add mbscspn.
67520
67521 2007-02-04  Bruno Haible  <bruno@clisp.org>
67522
67523         New module mbscasestr, reduced goal of strcasestr.
67524         * modules/mbscasestr: New file.
67525         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
67526         (mbscasestr): Renamed from strcasestr.
67527         * lib/strcasestr.c: Don't include mbuiter.h.
67528         (strcasestr): Remove support for multibyte locales.
67529         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
67530         Change the conditional link warning.
67531         (mbscasestr): New declaration.
67532         * m4/mbscasestr.m4: New file.
67533         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
67534         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
67535         REPLACE_STRCASESTR.
67536         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
67537         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67538         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67539         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
67540         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
67541         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
67542         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
67543         (Depends-on): Remove mbuiter.
67544         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
67545
67546 2007-02-04  Bruno Haible  <bruno@clisp.org>
67547
67548         Simplify handling of strncasecmp.
67549         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
67550         the conditional link warning.
67551         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
67552         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
67553         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
67554         * modules/strcase (configure.ac): Don't invoke
67555         gl_STRING_MODULE_INDICATOR.
67556         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
67557
67558 2007-02-04  Bruno Haible  <bruno@clisp.org>
67559
67560         New module mbscasecmp, reduced goal of strcasecmp.
67561         * modules/mbscasecmp: New file.
67562         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
67563         (mbscasecmp): Renamed from strcasecmp.
67564         * lib/strcasecmp.c: Don't include mbuiter.h.
67565         (strcasecmp): Remove support for multibyte locales.
67566         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
67567         Change the conditional link warning.
67568         (mbscasecmp): New declaration.
67569         * m4/mbscasecmp.m4: New file.
67570         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
67571         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
67572         REPLACE_STRCASECMP.
67573         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
67574         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67575         GNULIB_MBSCASECMP.
67576         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
67577         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
67578         * modules/strcase (Files): Remove m4/mbrtowc.m4.
67579         (Depends-on): Remove mbuiter.
67580         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
67581
67582 2007-02-04  Bruno Haible  <bruno@clisp.org>
67583
67584         New module mbsstr. Remove module strstr.
67585         * modules/mbsstr: New file.
67586         * modules/strstr: Remove file.
67587         * lib/mbsstr.c: Renamed from lib/strstr.c.
67588         (mbsstr): Renamed from strstr.
67589         * lib/string_.h (strstr): Remove declaration. Change the conditional
67590         link warning.
67591         (mbsstr): New declaration.
67592         * m4/mbsstr.m4: New file.
67593         * m4/strstr.m4: Remove file.
67594         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
67595         REPLACE_STRSTR.
67596         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
67597         Don't initialize GNULIB_STRSTR.
67598         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
67599         substitute GNULIB_STRSTR and REPLACE_STRSTR.
67600         * MODULES.html.sh (Internationalization functions): Add mbsstr.
67601         (Support for systems lacking ANSI C 89): Remove strstr.
67602
67603 2007-02-04  Bruno Haible  <bruno@clisp.org>
67604
67605         New module mbsrchr.
67606         * modules/mbsrchr: New file.
67607         * lib/mbsrchr.c: New file.
67608         * lib/string_.h (strrchr): Add a conditional link warning.
67609         (mbsrchr): New declaration.
67610         * m4/mbsrchr.m4: New file.
67611         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67612         GNULIB_MBSRCHR.
67613         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
67614         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
67615
67616 2007-02-04  Bruno Haible  <bruno@clisp.org>
67617
67618         New module mbschr.
67619         * modules/mbschr: New file.
67620         * lib/mbschr.c: New file.
67621         * lib/string_.h (strchr): Add a conditional link warning.
67622         (mbschr): New declaration.
67623         * m4/mbschr.m4: New file.
67624         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
67625         GNULIB_MBSCHR.
67626         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
67627         * MODULES.html.sh (Internationalization functions): Add mbschr.
67628
67629 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
67630
67631         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
67632
67633         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
67634
67635 2007-02-04  Bruno Haible  <bruno@clisp.org>
67636
67637         New module description section 'configure.ac-early'.
67638         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
67639         (func_get_autoconf_early_snippet): New function.
67640         (func_import, func_create_testdir): Use it. Remove special cases for
67641         modules 'extensions' and 'lock'.
67642         * modules/extensions (configure.ac-early): Require
67643         gl_USE_SYSTEM_EXTENSIONS.
67644         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
67645
67646 2007-02-04  Bruno Haible  <bruno@clisp.org>
67647
67648         Make use of gcj-4.3's -fsource and -ftarget option.
67649         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
67650         and if so try the options -fsource and -ftarget.
67651         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
67652         source_version, ftarget_option, target_version arguments.
67653         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
67654         (is_envjavac_oldgcj_14_14_usable): Renamed from
67655         is_envjavac_gcj_14_14_usable.
67656         (is_envjavac_oldgcj_14_13_usable): Renamed from
67657         is_envjavac_gcj_14_13_usable.
67658         (is_gcj_present): Update.
67659         (is_gcj_43, is_gcj43_usable): New functions.
67660         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
67661         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
67662         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
67663         try the options -fsource and -ftarget.
67664
67665 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
67666
67667         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
67668         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
67669         larger value.
67670
67671 2007-02-03  Jim Meyering  <jim@meyering.net>
67672
67673         Give tools a better chance to allocate space for very large buffers.
67674         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
67675
67676         Make pwd and readlink work also when run with an unreadable parent dir
67677         on systems with openat support.
67678         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
67679         provided getcwd function, even when we have openat support.
67680         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
67681
67682 2007-02-02  Bruno Haible  <bruno@clisp.org>
67683
67684         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
67685         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
67686         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
67687         portability problems if one of these functions is only used on specific
67688         platforms.
67689         Reported by Paul Eggert.
67690
67691 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
67692
67693         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
67694         is causing more trouble than it's curing.
67695         * lib/regex_internal.h (__mempcpy): Remove.
67696         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
67697         (and make the code a tad smaller to boot).
67698         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
67699
67700 2007-02-02  Jim Meyering  <jim@meyering.net>
67701
67702         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
67703         section, not in the Makefile.am: one.
67704
67705 2007-02-02  Eric Blake  <ebb9@byu.net>
67706
67707         * lib/strchrnul.c: Always include config.h first.
67708
67709         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
67710         gnulib strstr is not necessary here.
67711
67712 2007-02-02  Simon Josefsson  <simon@josefsson.org>
67713
67714         * m4/socklen.m4: Fix typo.
67715
67716 2007-02-02  Eric Blake  <ebb9@byu.net>
67717
67718         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
67719         * modules/netinet_in (Makefile.am): Likewise.
67720
67721 2007-02-01  Bruno Haible  <bruno@clisp.org>
67722
67723         * lib/string_.h (GL_LINK_WARNING): New macro.
67724         (strcasecmp, strstr, strcasestr): If provided by the system,
67725         conditionally define as a macro that leads to a warning instead of to
67726         an error.
67727         (strncasecmp): Conditionally define as a macro that leads to a warning.
67728
67729 2007-02-01  Karl Berry  <karl@gnu.org>
67730
67731         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
67732
67733 2007-02-01  Bruno Haible  <bruno@clisp.org>
67734
67735         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
67736         renamings.
67737
67738 2007-02-01  Eric Blake  <ebb9@byu.net>
67739
67740         * modules/regex (Depends-on): Revert dependence on mempcpy.
67741         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
67742         module's definition of mempcpy.
67743         Reported by Paul Eggert.
67744
67745 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
67746
67747         * lib/string_.h: If the gnulib module XYZ is not present, undefine
67748         the symbol XYZ before redefining it.  This fixes a problem with
67749         programs that don't use XYZ, when compiled on systems that define
67750         XYZ to something else.
67751
67752 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
67753
67754         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
67755         occurs when "mkdir -m foo" creates a setgid directory that is (1)
67756         writeable to group or other and (2) is intended to have a special
67757         mode bit that is set or cleared.  In such a case, the directory
67758         should be neither group- nor other-writeable until the special
67759         mode bits are right.
67760
67761 2007-01-31  Eric Blake  <ebb9@byu.net>
67762
67763         * modules/mountlist (Depends-on): Add strstr.
67764
67765         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
67766         bug.
67767         * modules/string (Makefile.am): Remove redundant replacement.
67768         * modules/regex (Depends-on): Add mempcpy.
67769
67770 2007-01-31  Bruno Haible  <bruno@clisp.org>
67771
67772         New module description field 'Link'.
67773         * gnulib-tool (func_usage): Document --extract-link-directive.
67774         (sed_extract_prog): Recognize 'Link' directive.
67775         (func_get_link_directive): New function.
67776         (func_import): Show summary of link directives.
67777         Handle --extract-link-directive option.
67778         * modules/acl (Link): New section.
67779         * modules/clock-time (Link): New section.
67780         * modules/euidaccess (Link): New section.
67781         * modules/gettext (Link): New section.
67782         * modules/iconv (Link): New section.
67783         * modules/lock (Link): New section.
67784         * modules/nanosleep (Link): New section.
67785         * modules/readline (Link): New section.
67786
67787 2007-01-27  Bruno Haible  <bruno@clisp.org>
67788
67789         Enforce the use of gnulib modules for unportable <string.h> functions.
67790         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
67791         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
67792         (gl_HEADER_STRING_H_BODY): Require it.
67793         * lib/string_.h: If the gnulib module XYZ is not present, redefine
67794         the symbol XYZ to one that gives a link error.
67795         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
67796         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
67797         * modules/mempcpy (configure.ac): Likewise.
67798         * modules/memrchr (configure.ac): Likewise.
67799         * modules/stpcpy (configure.ac): Likewise.
67800         * modules/stpncpy (configure.ac): Likewise.
67801         * modules/strcase (configure.ac): Likewise.
67802         * modules/strcasestr (configure.ac): Likewise.
67803         * modules/strchrnul (configure.ac): Likewise.
67804         * modules/strdup (configure.ac): Likewise.
67805         * modules/strndup (configure.ac): Likewise.
67806         * modules/strnlen (configure.ac): Likewise.
67807         * modules/strpbrk (configure.ac): Likewise.
67808         * modules/strsep (configure.ac): Likewise.
67809         * modules/strstr (configure.ac): Likewise.
67810         * modules/strtok_r (configure.ac): Likewise.
67811
67812 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
67813
67814         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
67815
67816 2007-01-30  Jim Meyering  <jim@meyering.net>
67817
67818         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
67819
67820 2007-01-29  Bruno Haible  <bruno@clisp.org>
67821
67822         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
67823         * lib/execute.c: Likewise.
67824         * lib/pipe.c: Likewise.
67825         * lib/printf-args.h: Likewise.
67826         * lib/printf-args.c: Likewise.
67827         * lib/printf-parse.c: Likewise.
67828         * lib/vasnprintf.c: Likewise.
67829
67830 2007-01-29  Eric Blake  <ebb9@byu.net>
67831
67832         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
67833         declaration.
67834
67835 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
67836
67837         * lib/strptime.h (strptime): Use 'restrict' for args where
67838         POSIX requires this.
67839         * lib/strptime.c (strptime): Likewise.
67840         Change license notice from LGPL to GPL, since gnulib-tool will
67841         change this as needed.
67842         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
67843         defined.
67844         Include "strptime.h" first, to check interface.
67845         Do not #undef _LIBC and _NL_CURRENT.
67846         Do not include <stdlib.h>; no longer needed.
67847         Include "time_r.h" and declare ptime_locale_status
67848         only if _LIBC is not defined.
67849         (__P): Remove unused macro.
67850         (match_string): Bring back glibc version, but use it only if _LIBC
67851         is defined.
67852         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
67853         Remove unnecessary assertion and abort() call.
67854         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
67855         * m4/strptime.m4: Fix serial number comment.
67856         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
67857         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
67858         (Depends-on): Add time_r.
67859
67860 2007-01-29  Bruno Haible  <bruno@clisp.org>
67861
67862         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
67863         strptime.
67864         * modules/strptime (Depends-on): Add stdbool.
67865         * lib/strptime.h: Include <time.h> always. Add comments.
67866
67867 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
67868
67869         * modules/strptime: New file.
67870         * lib/strptime.h: New file.
67871         * lib/strptime.c: New file.
67872         * m4/strptime.m4: New file.
67873
67874 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
67875
67876         * MODULES.html.sh: New module mpsort.
67877         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
67878
67879         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
67880         a circularity problem with HP-UX ia64 reported by Bob Proulx in
67881         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
67882         All uses changed.
67883         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
67884         All uses changed.
67885         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
67886         to _Restrict_.
67887         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
67888         the parameter matches the prototype.
67889
67890 2007-01-28  Jim Meyering  <jim@meyering.net>
67891
67892         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
67893         sys/time.h here, reverting that part of the previous patch:
67894         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
67895
67896 2007-01-28  Bruno Haible  <bruno@clisp.org>
67897
67898         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
67899         value of $(SYS_TIME_H).
67900         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
67901         remove it conditionally, too. [added by Jim Meyering]
67902         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
67903         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
67904         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
67905         GETTIMEOFDAY_REPLACEMENT to 1.
67906
67907 2007-01-28  Bruno Haible  <bruno@clisp.org>
67908
67909         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
67910         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
67911         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
67912         Set UNISTD_H instead of UNISTD_H2.
67913         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
67914
67915 2007-01-28  Bruno Haible  <bruno@clisp.org>
67916
67917         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
67918         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
67919
67920 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67921
67922         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
67923         (func_create_testdir): Ensure C locale for `grep' and `tr'
67924         character ranges.
67925         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
67926         ACLOCAL_AMFLAGS parsing state machine.
67927
67928 2007-01-27  Bruno Haible  <bruno@clisp.org>
67929
67930         * modules/unistr/base: Update.
67931
67932 2007-01-27  Bruno Haible  <bruno@clisp.org>
67933
67934         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
67935         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
67936         * modules/unistr/u32-mbtouc-unsafe: Renamed from
67937         modules/unistr/u32-mbtouc.
67938         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
67939         * lib/unistr.h: Update.
67940         * lib/linebreak.c: Update.
67941         * modules/unistr/u32-mbtouc: Renamed from
67942         modules/unistr/u32-mbtouc-safe.
67943         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
67944         * lib/unistr.h: Update.
67945         * lib/unistr/u32-to-u8.c: Update.
67946         * lib/unistr/u32-to-u16.c: Update.
67947
67948 2007-01-27  Bruno Haible  <bruno@clisp.org>
67949
67950         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
67951         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
67952         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
67953         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
67954         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
67955         * modules/unistr/u16-mbtouc-unsafe: Renamed from
67956         modules/unistr/u16-mbtouc.
67957         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
67958         * lib/unistr.h: Update.
67959         * lib/linebreak.c: Update.
67960         * modules/linebreak: Update.
67961         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
67962         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
67963         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
67964         * modules/unistr/u16-mbtouc: Renamed from
67965         modules/unistr/u16-mbtouc-safe.
67966         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
67967         * lib/unistr.h: Update.
67968         * lib/unistr/u16-to-u8.c: Update.
67969         * modules/unistr/u16-to-u8: Update.
67970         * lib/unistr/u16-to-u32.c: Update.
67971         * modules/unistr/u16-to-u32: Update.
67972
67973 2007-01-27  Bruno Haible  <bruno@clisp.org>
67974
67975         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
67976         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
67977         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
67978         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
67979         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
67980         * modules/unistr/u8-mbtouc-unsafe: Renamed from
67981         modules/unistr/u8-mbtouc.
67982         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
67983         * lib/unistr.h: Update.
67984         * lib/striconveh.c: Update.
67985         * modules/striconveh: Update.
67986         * lib/linebreak.c: Update.
67987         * modules/linebreak: Update.
67988         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
67989         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
67990         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
67991         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
67992         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
67993         * lib/unistr.h: Update.
67994         * lib/striconveh.c: Update.
67995         * modules/striconveh: Update.
67996         * lib/unistr/u8-to-u16.c: Update.
67997         * modules/unistr/u8-to-u16: Update.
67998         * lib/unistr/u8-to-u32.c: Update.
67999         * modules/unistr/u8-to-u32: Update.
68000
68001 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68002
68003         Sync from Libtool.
68004         * lib/argz.c: Do not include strings.h nor memory.h, include
68005         string.h unconditionally.  Patch by Simon Josefsson.
68006
68007 2007-01-27  Bruno Haible  <bruno@clisp.org>
68008
68009         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
68010         from gl_HEADER_STRING_H_BODY.
68011         (gl_HEADER_STRING_H_BODY): Require it.
68012         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
68013         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
68014         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
68015         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
68016         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
68017         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
68018         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
68019         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
68020         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
68021         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
68022         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
68023         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
68024         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
68025         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
68026         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
68027
68028 2007-01-27  Bruno Haible  <bruno@clisp.org>
68029
68030         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
68031         check_PROGRAMS into noinst_PROGRAMS.
68032         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
68033         check_PROGRAMS in this case.
68034         (func_import): Set for_test to false.
68035         (func_create_testdir): Set for_test to true.
68036
68037 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
68038             Bruno Haible  <bruno@clisp.org>
68039
68040         * modules/strcasestr (Files): Remove lib/strcasestr.h.
68041         (Depends-on): Add string.
68042         (Includes): Use <string.h> instead of strcasestr.h.
68043         * modules/string (Makefile.am): Also substitute the value of
68044         REPLACE_STRCASESTR.
68045         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
68046         assume strcasestr is declared in <string.h> not <strings.h>. Also
68047         set REPLACE_STRCASESTR.
68048         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
68049         REPLACE_STRCASESTR.
68050         * lib/strcasestr.h: Remove file.
68051         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
68052         * lib/string_.h (strcasestr): New declaration.
68053
68054 2007-01-27  Bruno Haible  <bruno@clisp.org>
68055
68056         * lib/string_.h: Use 'extern'.
68057
68058 2007-01-27  Jim Meyering  <jim@meyering.net>
68059
68060         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
68061         of set-but-not-used local, "q".
68062
68063         * lib/mempcpy.c: Include <config.h> before <string.h>.
68064         This fixes a compilation error on HP-UX, due to the system's
68065         "restrict"-using mempcpy prototype.
68066
68067 2007-01-26  Bruno Haible  <bruno@clisp.org>
68068
68069         Small optimization.
68070         * lib/javacomp.c: Include c-strstr.h.
68071          (is_envjavac_gcj): Use c_strstr instead of strstr.
68072         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
68073
68074 2007-01-26  Bruno Haible  <bruno@clisp.org>
68075
68076         * MODULES.html.sh (Unicode string functions): Add the new modules.
68077
68078         * modules/uniconv/u32-strconv-to-locale: New file.
68079         * lib/uniconv/u32-strconv-to-locale.c: New file.
68080
68081         * modules/uniconv/u16-strconv-to-locale: New file.
68082         * lib/uniconv/u16-strconv-to-locale.c: New file.
68083
68084         * modules/uniconv/u8-strconv-to-locale: New file.
68085         * lib/uniconv/u8-strconv-to-locale.c: New file.
68086
68087         * modules/uniconv/u32-strconv-from-locale: New file.
68088         * lib/uniconv/u32-strconv-from-locale.c: New file.
68089
68090         * modules/uniconv/u16-strconv-from-locale: New file.
68091         * lib/uniconv/u16-strconv-from-locale.c: New file.
68092
68093         * modules/uniconv/u8-strconv-from-locale: New file.
68094         * lib/uniconv/u8-strconv-from-locale.c: New file.
68095
68096         * modules/uniconv/u32-strconv-to-enc: New file.
68097         * lib/uniconv/u32-strconv-to-enc.c: New file.
68098         * modules/uniconv/u32-strconv-to-enc-tests: New file.
68099         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
68100
68101         * modules/uniconv/u16-strconv-to-enc: New file.
68102         * lib/uniconv/u16-strconv-to-enc.c: New file.
68103         * lib/uniconv/u-strconv-to-enc.h: New file.
68104         * modules/uniconv/u16-strconv-to-enc-tests: New file.
68105         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
68106
68107         * modules/uniconv/u8-strconv-to-enc: New file.
68108         * lib/uniconv/u8-strconv-to-enc.c: New file.
68109         * modules/uniconv/u8-strconv-to-enc-tests: New file.
68110         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
68111
68112         * modules/uniconv/u32-strconv-from-enc: New file.
68113         * lib/uniconv/u32-strconv-from-enc.c: New file.
68114         * modules/uniconv/u32-strconv-from-enc-tests: New file.
68115         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
68116
68117         * modules/uniconv/u16-strconv-from-enc: New file.
68118         * lib/uniconv/u16-strconv-from-enc.c: New file.
68119         * modules/uniconv/u16-strconv-from-enc-tests: New file.
68120         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
68121
68122         * modules/uniconv/u8-strconv-from-enc: New file.
68123         * lib/uniconv/u8-strconv-from-enc.c: New file.
68124         * lib/uniconv/u-strconv-from-enc.h: New file.
68125         * modules/uniconv/u8-strconv-from-enc-tests: New file.
68126         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
68127
68128         * modules/uniconv/u32-conv-from-enc: New file.
68129         * lib/uniconv/u32-conv-from-enc.c: New file.
68130         * modules/uniconv/u32-conv-from-enc-tests: New file.
68131         * tests/uniconv/test-u32-conv-from-enc.c: New file.
68132
68133         * modules/uniconv/u16-conv-from-enc: New file.
68134         * lib/uniconv/u16-conv-from-enc.c: New file.
68135         * lib/uniconv/u-conv-from-enc.h: New file.
68136         * modules/uniconv/u16-conv-from-enc-tests: New file.
68137         * tests/uniconv/test-u16-conv-from-enc.c: New file.
68138
68139         * modules/uniconv/u8-conv-from-enc: New file.
68140         * lib/uniconv/u8-conv-from-enc.c: New file.
68141         * modules/uniconv/u8-conv-from-enc-tests: New file.
68142         * tests/uniconv/test-u8-conv-from-enc.c: New file.
68143
68144         * modules/uniconv/base: New file.
68145         * lib/uniconv.h: New file.
68146
68147 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
68148
68149         * doc/gnulib-tool.texi (Initial import): Update to match current
68150         behavior with strdup module.
68151         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
68152         * lib/memmem.h: Remove; all uses removed.  This is now done
68153         by <string.h>.
68154         * lib/mempcpy.h: Likewise.
68155         * lib/memrchr.h: Likewise.
68156         * lib/stpcpy.h: Likewise.
68157         * lib/stpncpy.h: Likewise.
68158         * lib/strcase.h: Likewise.
68159         * lib/strchrnul.h: Likewise.
68160         * lib/strdup.h: Likewise.
68161         * lib/strndup.h: Likewise.
68162         * lib/strnlen.h: Likewise.
68163         * lib/strpbrk.h: Likewise.
68164         * lib/strsep.h: Likewise.
68165         * lib/strstr.h: Likewise.
68166         * lib/strtok_r.h: Likewise.
68167         * lib/string_.h: New file.
68168         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
68169         Rely on <string.h> instead.
68170         * lib/canon-host.c: Likewise.
68171         * lib/chdir-long.c: Likewise.
68172         * lib/concatpath.c: Likewise.
68173         * lib/exclude.c: Likewise.
68174         * lib/fchdir.c: Likewise.
68175         * lib/getaddrinfo.c: Likewise.
68176         * lib/getcwd.c: Likewise.
68177         * lib/getsubopt.c: Likewise.
68178         * lib/glob.c: Likewise.
68179         * lib/hard-locale.c: Likewise.
68180         * lib/iconvme.c: Likewise.
68181         * lib/javacomp.c: Likewise.
68182         * lib/mempcpy.c: Likewise.
68183         * lib/memrchr.c: Likewise.
68184         * lib/regex_internal.h: Likewise.
68185         * lib/stpncpy.c: Likewise.
68186         * lib/strcasecmp.c: Likewise.
68187         * lib/strchrnul.c: Likewise.
68188         * lib/strdup.c: Likewise.
68189         * lib/striconv.c: Likewise.
68190         * lib/striconveh.c: Likewise.
68191         * lib/striconveha.c: Likewise.
68192         * lib/strncasecmp.c: Likewise.
68193         * lib/strndup.c: Likewise.
68194         * lib/strnlen.c: Likewise.
68195         * lib/strsep.c: Likewise.
68196         * lib/strstr.c: Likewise.
68197         * lib/strtok_r.c: Likewise.
68198         * lib/userspec.c: Likewise.
68199         * lib/w32spawn.h: Likewise.
68200         * lib/xstrndup.c: Likewise.
68201         * lib/mountlist.c (strstr): Remove decl.
68202         * m4/string_h.m4: New file.
68203         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
68204         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
68205         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
68206         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
68207         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
68208         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
68209         Set REPLACE_STRCASECMP if necessary.
68210         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
68211         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
68212         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
68213         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
68214         HAVE_DECL_STRDUP if necessary.
68215         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
68216         since gl_FUNC_STRNDUP does that now.
68217         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
68218         Check for decl here...
68219         (gl_PREREQ_STRNLEN): ... not here.
68220         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
68221         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
68222         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
68223         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
68224         necessary.
68225         * modules/string: New file.
68226         * modules/memmem (Files): Remove special-purpose include file.
68227         (Depends-on): Add string.
68228         (Include): Include <string.h>, not the removed file.
68229         * modules/mempcpy: Likewise.
68230         * modules/memrchr: Likewise.
68231         * modules/stpcpy: Likewise.
68232         * modules/stpncpy: Likewise.
68233         * modules/strcase: Likewise.
68234         * modules/strchrnul: Likewise.
68235         * modules/strdup: Likewise.
68236         * modules/strndup: Likewise.
68237         * modules/strnlen: Likewise.
68238         * modules/strpbrk: Likewise.
68239         * modules/strsep: Likewise.
68240         * modules/strstr: Likewise.
68241         * modules/strtok_r: Likewise.
68242         * tests/test-dirname.c: Don't include "strdup.h", since
68243         <string.h> now suffices.
68244         * tests/test-memmem.c: Don't include "memmem.h", since
68245         <string.h> now suffices.
68246
68247 2007-01-25  Bruno Haible  <bruno@clisp.org>
68248
68249         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
68250         *resultp is 0.
68251
68252         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
68253         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
68254         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
68255         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
68256
68257         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
68258         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
68259         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
68260         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
68261         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
68262         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
68263
68264 2007-01-24  Bruno Haible  <bruno@clisp.org>
68265
68266         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
68267         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
68268         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
68269         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
68270         gl_FUNC_FTS_CORE.
68271         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
68272         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
68273         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
68274         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
68275         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
68276         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
68277         gl_FUNC_FCHOWNAT.
68278         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
68279         gl_FUNC_STRFTIME.
68280         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
68281         Reported by Ralf Wildenhues.
68282
68283 2007-01-24  Bruno Haible  <bruno@clisp.org>
68284
68285         Drop AC_REQUIRE calls that are redundant with the module dependencies.
68286         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
68287         gl_GETADDRINFO.
68288         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
68289         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
68290         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
68291
68292 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
68293
68294         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
68295         Don't use 'exit'; just return from 'main'.
68296         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
68297
68298         * lib/fnmatch_.h: Readjust white space and comments to match
68299         glibc, to avoid spurious diffs.
68300
68301 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68302
68303         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
68304         2004-12-01 change by Jakub Jelinek, since this code won't compile
68305         if !LIBC.  Problem reported by Bob Proulx.
68306
68307 2007-01-23  Bruno Haible  <bruno@clisp.org>
68308
68309         * lib/striconveh.c: Include c-strcaseeq.h.
68310         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
68311         * modules/striconveh (Depends-on): Add c-strcaseeq.
68312
68313 2007-01-23  Bruno Haible  <bruno@clisp.org>
68314
68315         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
68316
68317         * modules/c-strcaseeq: New file.
68318         * lib/c-strcaseeq.h: New file.
68319
68320         * modules/streq: New file.
68321         * lib/streq.h: New file.
68322
68323 2007-01-23  Bruno Haible  <bruno@clisp.org>
68324
68325         * modules/striconveha-tests: New file.
68326         * tests/test-striconveha.c: New file.
68327
68328         * lib/striconveha.h: Include <stdbool.h>.
68329         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
68330         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
68331         (mem_iconveha_notranslit): Renamed from mem_iconveha.
68332         (mem_iconveha): New function.
68333         (str_iconveha_notranslit): Renamed from str_iconveha.
68334         (str_iconveha): New function.
68335         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
68336         c-strcase.
68337
68338 2007-01-23  Bruno Haible  <bruno@clisp.org>
68339
68340         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
68341         encodings without forgiving before trying any encoding with handler.
68342         (str_iconveha): Try all encodings without forgiving before trying any
68343         encoding with handler.
68344
68345 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
68346
68347         Import the following changes from libc.
68348
68349         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
68350
68351         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
68352
68353         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
68354
68355         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
68356         normal_bracket label.
68357
68358         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
68359
68360         [BZ #361]
68361         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
68362         to normal_bracket after fetching the next character.
68363
68364 2007-01-22  Bruno Haible  <bruno@clisp.org>
68365
68366         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
68367         argument.
68368         * lib/striconveh.c (iconv_carefully_1): New function.
68369         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
68370         argument.
68371         (str_cd_iconveh): Update.
68372         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
68373         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
68374         * tests/test-striconveh.c (MAGIC): New macro.
68375         (new_offsets): New function.
68376         (main): Test call with and without offsets.
68377
68378 2007-01-22  Bruno Haible  <bruno@clisp.org>
68379
68380         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
68381         * modules/sys_select (Makefile.am): Likewise.
68382         * modules/sys_socket (Makefile.am): Likewise.
68383         * modules/sys_time (Makefile.am): Likewise.
68384
68385 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
68386
68387         * modules/gettimeofday (License): Change from GPL to LGPL, since
68388         gettimeofday is a library function.
68389
68390 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68391
68392         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
68393
68394 2007-01-21  Bruno Haible  <bruno@clisp.org>
68395
68396         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
68397
68398 2007-01-21  Bruno Haible  <bruno@clisp.org>
68399
68400         * modules/striconveha: New file.
68401         * lib/striconveha.h: New file.
68402         * lib/striconveha.c: New file.
68403         * MODULES.html.sh (Internationalization functions): Add striconveha.
68404         * lib/striconv.c (str_iconv): Optimize the case of an empty input
68405         string.
68406         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
68407
68408 2007-01-21  Bruno Haible  <bruno@clisp.org>
68409
68410         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
68411         * lib/striconveh.c (str_iconveh): Likewise.
68412
68413 2007-01-21  Bruno Haible  <bruno@clisp.org>
68414
68415         * lib/striconveh.h (mem_iconveh): New declaration.
68416         * lib/striconveh.c (mem_iconveh): New function.
68417         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
68418
68419 2007-01-21  Bruno Haible  <bruno@clisp.org>
68420
68421         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
68422
68423         * lib/striconveh.h (mem_cd_iconveh): Change specification.
68424         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
68425         original result buffer.
68426         (str_cd_iconveh): Update.
68427         * tests/test-striconveh.c (main): Update.
68428
68429         * lib/striconv.h (mem_cd_iconv): Change specification.
68430         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
68431         result buffer.
68432         (str_cd_iconv): Update.
68433         * tests/test-striconv.c (main): Update.
68434
68435 2007-01-21  Bruno Haible  <bruno@clisp.org>
68436
68437         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
68438
68439 2007-01-20  Jim Meyering  <jim@meyering.net>
68440
68441         * lib/userspec.c (parse_with_separator): If a user or group string
68442         starts with "+", skip the corresponding name-to-ID look-up, since
68443         such a look-up must fail: user and group names may not include "+".
68444
68445 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
68446
68447         * lib/poll.c: Include sys/time.h and time.h unconditionally,
68448         since we now assume the sys_time module.
68449         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
68450         check for sys/time.h; no longer needed.
68451         * modules/poll (Depends-on): Depend on sys_time.
68452
68453 2007-01-18  Bruno Haible  <bruno@clisp.org>
68454
68455         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
68456         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68457
68458         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
68459         gettimeofday.
68460
68461         * tests/test-gettimeofday.c: Include <time.h>.
68462         (dummy): Remove variable.
68463
68464         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
68465         gl_HEADER_SYS_TIME_H.
68466         (gl_HEADER_SYS_TIME_H): New macro.
68467
68468         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
68469         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68470         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
68471         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
68472         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68473         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
68474         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
68475         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68476         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
68477         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
68478         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68479
68480         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
68481         last change; it caused a compilation error when cross-compiling to
68482         Cygwin.
68483
68484 2007-01-18  Jim Meyering  <jim@meyering.net>
68485
68486         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
68487         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
68488         than the race-prone "test -d sys || mkdir sys".
68489         (configure.ac): Use AC_PROG_MKDIR_P.
68490         * modules/sys_select: Likewise.
68491         * modules/sys_socket: Likewise.
68492         * modules/sys_time: Likewise.
68493
68494 2007-01-18  Eric Blake  <ebb9@byu.net>
68495
68496         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
68497         replace gettimeofday.
68498         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
68499         name, to avoid infinite recursion.
68500
68501 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
68502
68503         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
68504         module sys_time.
68505         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
68506         assume timespec.h defines struct timeval.
68507         * lib/settime.c: Likewise.
68508         * lib/utimens.c: Likewise.
68509         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
68510         since we now assume the gettimeofday module.
68511         * lib/tempname.c (__gen_tempname): Likewise.
68512         * lib/gettimeofday.h: Remove.
68513         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
68514         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
68515         Include <time.h>, for 'time()'.
68516         (localtime_buffer_addr): Also use this workaround if
68517         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
68518         to simplify the uses.  All uses changed.
68519         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
68520         that #undef is inside {}, and 'const' follows type name consistently.
68521         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
68522         (gettimeofday): Do not use the maximum possible value for
68523         tv->tv_usec, since that might break usages other than ls.c.
68524         Instead, we'll leave ls.c alone.  This undoes today's patch
68525         by Bruno.  Add a compile-time warning for 1s-clock resolution;
68526         we've never observed the problem but might as well keep the
68527         canary.
68528         * lib/nanosleep.c: Include timespec.h first, for interface check.
68529         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
68530         now assume the sys_time module.
68531         * lib/tempname.c: Likewise.
68532         * lib/timespec.h: Likewise.
68533         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
68534         needed.
68535         * lib/strftime.c: Likewise.
68536         * lib/timespec.h: Likewise.
68537         * lib/posixtm.c: Include posixtm.h first, for interface check.
68538         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
68539         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
68540         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
68541         * lib/sys_time_.h: New file.
68542         * lib/timespec.h (struct timespec): Use long int, not long.
68543         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
68544         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
68545         Remove obsolescent call to AC_HEADER_TIME.
68546         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
68547         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
68548         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
68549         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
68550         Likewise.
68551         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
68552         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
68553         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
68554         into the sys_time module.  Check for gettimeofday just once.
68555         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
68556         for gettimeofday signature to just check the signature.  Merely
68557         compile it, since linking doesn't test signature.  Improve test for
68558         whether gettimeofday.o is actually needed.
68559         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
68560         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
68561         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
68562         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68563         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
68564         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
68565         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
68566         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
68567         than worrying about sys/time.h.
68568         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
68569         Don't bother worrying about TIME_WITH_SYS_TIME.
68570         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
68571         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
68572         * m4/sys_time_h.m4: New file.
68573         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
68574         Don't include sys/time.h.  Return from main rather than exiting.
68575         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
68576         all uses changed.
68577         * modules/gethrxtime (Depends-on): Add sys_time.
68578         * modules/gettime (Depends-on): Likewise.
68579         * modules/gettimeofday (Depends-on): Likewise.
68580         * modules/nanosleep (Depends-on): Likewise.
68581         * modules/settime (Depends-on): Likewise.
68582         * modules/tempname (Depends-on): Likewise.
68583         * modules/utimens (Depends-on): Likewise.
68584         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
68585         (Include): Change back to <sys/time.h>.
68586         (Maintainer): Add self.
68587         * modules/sys_time: New file.
68588         * modules/tempname (Depends-on): Add gettimeofday.
68589         * tests/test-gettimeofday.c: Include <sys/time.h>
68590         rather than gettimeofday.h.
68591
68592 2007-01-17  Bruno Haible  <bruno@clisp.org>
68593
68594         * gnulib-tool (func_get_license): Revert last patch. Instead, let
68595         the license default to GPL.
68596         (func_create_testdir): Don't complain if a module is LGPL and its
68597         tests module depends on GPLed modules.
68598
68599 2007-01-17  Bruno Haible  <bruno@clisp.org>
68600
68601         * lib/gettimeofday.c (gettimeofday): Add code for the case
68602         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
68603         maximum possible value for tv->tv_usec, rather than the minimum one.
68604
68605 2005-10-08  Martin Lambers  <marlam@marlam.de>
68606 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
68607 2007-01-16  Bruno Haible  <bruno@clisp.org>
68608
68609         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
68610         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
68611         gl_FUNC_GETTIMEOFDAY.
68612         (Include): Add gettimeofday.h.
68613         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
68614         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
68615         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
68616         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
68617         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
68618         * lib/gettimeofday.h: New file.
68619         * lib/gettimeofday.c: Include <sys/timeb.h>.
68620         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
68621         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
68622         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
68623         fall back on time().
68624
68625         * tests/test-gettimeofday.c: New file.
68626         * modules/gettimeofday-tests: New file.
68627
68628 2007-01-16  Eric Blake  <ebb9@byu.net>
68629
68630         * modules/fnmatch (Depends-on): Depend on wchar.
68631         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
68632         * m4/fnmatch.m4: Likewise.
68633         * modules/mbchar (Makefile.am): Assume <wchar.h>.
68634         * m4/mbchar.m4: Likewise.
68635         * modules/mbswidth (Depends-on): Depend on wchar.
68636         * lib/mbswidth.c: Assume <wchar.h>.
68637         * m4/mbswidth.m4: Likewise.
68638         * modules/quotearg (Depends-on): Depend on wchar.
68639         * lib/quotearg.c: Assume <wchar.h>.
68640         * m4/quotearg.m4: Likewise.
68641         * modules/regex (Depends-on): Depend on wchar.
68642         * lib/regex_internal.h: Assume <wchar.h>.
68643         * m4/regex.m4: Likewise.
68644         * modules/stdint (Depends-on): Depend on wchar.
68645         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
68646         * m4/stdint.m4: Likewise.
68647         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
68648         * modules/strftime (Depends-on): Depend on wchar.
68649         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
68650         * modules/strtol (Depends-on): Depend on wchar.
68651         * lib/strtol.c: Assume <wchar.h>.
68652         * modules/wcwidth (Depends-on): Depend on wchar.
68653         * lib/wcwidth.h: Assume <wchar.h>.
68654         * m4/wcwidth.m4: Likewise.
68655
68656 2007-01-16  Bruno Haible  <bruno@clisp.org>
68657
68658         * modules/csharpexec-script: New, created from...
68659         * modules/csharpexec: ... this.
68660
68661 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
68662
68663         * modules/javaexec-script: New, created from...
68664         * modules/javaexec: ... this.
68665
68666 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
68667
68668         * modules/poll (Dependencies): Add sys_select.
68669
68670 2007-01-15  Jim Meyering  <jim@meyering.net>
68671
68672         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
68673         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
68674         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
68675         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
68676
68677 2007-01-15  Bruno Haible  <bruno@clisp.org>
68678
68679         * modules/striconveh: New file.
68680         * lib/striconveh.h: New file.
68681         * lib/striconveh.c: New file.
68682         * MODULES.html.sh (Internationalization functions): Add striconveh.
68683
68684         * modules/striconveh-tests: New file.
68685         * tests/test-striconveh.c: New file.
68686
68687 2007-01-15  Bruno Haible  <bruno@clisp.org>
68688
68689         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
68690         not from GNU libiconv or GNU libc.
68691
68692 2007-01-15  Bruno Haible  <bruno@clisp.org>
68693
68694         * doc/gnulib-intro.texi (Copyright): Explain the different license
68695         terms for module descriptions, autoconf macros, tests, documentation.
68696
68697 2007-01-14  Bruno Haible  <bruno@clisp.org>
68698
68699         * modules/striconv-tests: New file.
68700         * tests/test-striconv.c: New file.
68701
68702 2007-01-14  Bruno Haible  <bruno@clisp.org>
68703
68704         * modules/iconv-tests: New file.
68705         * tests/test-iconv.c: New file.
68706
68707 2007-01-14  Bruno Haible  <bruno@clisp.org>
68708
68709         * gnulib-tool (func_get_license): For test modules, use the license of
68710         the main module.
68711
68712 2007-01-14  Bruno Haible  <bruno@clisp.org>
68713
68714         * modules/iconv (Include): Clarify that <iconv.h> can only be included
68715         if iconv is found to exist.
68716
68717 2007-01-14  Bruno Haible  <bruno@clisp.org>
68718
68719         * modules/c-ctype-tests: New file.
68720         * tests/test-c-ctype.c: New file.
68721
68722 2007-01-14  Bruno Haible  <bruno@clisp.org>
68723
68724         * modules/binary-io-tests: New file.
68725         * tests/test-binary-io.sh: New file.
68726         * tests/test-binary-io.c: New file.
68727
68728 2007-01-14  Bruno Haible  <bruno@clisp.org>
68729
68730         * modules/array-oset-tests: New file.
68731         * tests/test-array_oset.c: New file.
68732
68733 2007-01-14  Bruno Haible  <bruno@clisp.org>
68734
68735         * modules/array-list-tests: New file.
68736         * tests/test-array_list.c: New file.
68737
68738 2007-01-14  Bruno Haible  <bruno@clisp.org>
68739
68740         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
68741         and make.
68742         Reported by Simon Josefsson in
68743         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
68744
68745 2007-01-14  Bruno Haible  <bruno@clisp.org>
68746
68747         * modules/allocsa-tests: New file.
68748         * tests/test-allocsa.c: New file.
68749
68750 2007-01-14  Bruno Haible  <bruno@clisp.org>
68751
68752         * modules/fchdir (Depends-on): Add absolute-header.
68753         * modules/unistd (Depends-on): Likewise.
68754
68755 2006-12-30  Bruno Haible  <bruno@clisp.org>
68756
68757         * modules/fchdir: New file.
68758         * modules/unistd (Files): Add lib/unistd_.h.
68759         (Makefile.am): Generate unistd.h from unistd_.h.
68760         * lib/fchdir.c: New file.
68761         * lib/dirent_.h: New file.
68762         * lib/unistd_.h: New file.
68763         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
68764         * m4/fchdir.m4: New file.
68765         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
68766         (gl_HEADER_UNISTD): Invoke it.
68767         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
68768         function.
68769         * lib/backupfile.c (opendir, closedir): Undefine.
68770         * lib/chown.c (open, close): Undefine.
68771         * lib/clean-temp.c (open, close): Undefine.
68772         * lib/copy-file.c (open, close): Undefine.
68773         * lib/execute.c (open, close): Undefine.
68774         * lib/fsusage.c (open, close): Undefine.
68775         * lib/gc-gnulib.c (open, close): Undefine.
68776         * lib/getcwd.c (opendir, closedir): Undefine.
68777         * lib/glob.c (opendir, closedir): Undefine.
68778         * lib/javacomp.c (open, close): Undefine.
68779         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
68780         * lib/openat-proc.c (open, close): Undefine.
68781         * lib/pagealign_alloc.c (open, close): Undefine.
68782         * lib/pipe.c (open, close): Undefine.
68783         * lib/progreloc.c (open, close): Undefine.
68784         * lib/savedir.c (opendir, closedir): Undefine.
68785         * lib/utime.c (open, close): Undefine.
68786         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
68787
68788 2007-01-10  Bruno Haible  <bruno@clisp.org>
68789
68790         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
68791
68792 2007-01-12  Eric Blake  <ebb9@byu.net>
68793
68794         Provide a robust <wchar.h>.  Further simplifications are now
68795         possible in other modules, but not included here.
68796         * modules/wchar: New module.
68797         * m4/wchar.m4: New file.
68798         * lib/wchar_.h: Likewise.
68799         * modules/mbchar (Depends-on): Depend on wchar, as the first use
68800         of the new module.
68801         * MODULES.html.sh (Extended multibyte and wide character utilities):
68802         New section.
68803
68804 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
68805
68806         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
68807         to a reasonable default for memory allocation.
68808         (xreadlink): Don't allocate a huge buffer, to work around a buggy
68809         file system that reports garbage st_size values for symlinks.
68810         Problem reported by Liyang Hu.
68811
68812 2007-01-11  Simon Josefsson  <simon@josefsson.org>
68813
68814         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
68815         Emacs .#* auto-save files).
68816
68817 2007-01-11  Bruno Haible  <bruno@clisp.org>
68818
68819         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
68820         directory.
68821
68822 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
68823
68824         Use @...@ consistently in lib/wctype_.h.
68825         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
68826         on it being set to 1 or 0.
68827         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
68828         go back to AC_SUBSTing it.
68829         * modules/wctype (Makefile.am): Undo previous change.
68830
68831 2007-01-10  Eric Blake  <ebb9@byu.net>
68832
68833         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
68834         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
68835         * modules/wctype (Makefile.am): Likewise.
68836         Reported by Chris McGuire.
68837
68838 2007-01-10  Jim Meyering  <jim@meyering.net>
68839
68840         fts.c: a small readability/maintainability improvement
68841         * lib/fts.c (fts_read): Make this code slightly more readable and
68842         maintainable by hoisting the "sp->fts_cur = p" assignments to
68843         immediately follow the statements that set P.  Derived from
68844         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
68845
68846 2007-01-10  Eric Blake  <ebb9@byu.net>
68847
68848         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
68849         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
68850         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
68851         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
68852         Reported by Chris McGuire.
68853
68854 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68855
68856         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
68857         in sed script.
68858
68859 2007-01-09  Bruno Haible  <bruno@clisp.org>
68860
68861         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
68862         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
68863         variables.
68864         (func_module): Use them.
68865
68866 2007-01-09  Bruno Haible  <bruno@clisp.org>
68867
68868         * modules/unistr/base: New file.
68869         * lib/unistr.h: New file.
68870
68871         * modules/unistr/u8-to-u16: New file.
68872         * lib/unistr/u8-to-u16.c: New file.
68873
68874         * modules/unistr/u8-to-u32: New file.
68875         * lib/unistr/u8-to-u32.c: New file.
68876
68877         * modules/unistr/u16-to-u8: New file.
68878         * lib/unistr/u16-to-u8.c: New file.
68879
68880         * modules/unistr/u16-to-u32: New file.
68881         * lib/unistr/u16-to-u32.c: New file.
68882
68883         * modules/unistr/u32-to-u8: New file.
68884         * lib/unistr/u32-to-u8.c: New file.
68885
68886         * modules/unistr/u32-to-u16: New file.
68887         * lib/unistr/u32-to-u16.c: New file.
68888
68889         * modules/unistr/u8-check: New file.
68890         * modules/unistr/u16-check: New file.
68891         * modules/unistr/u32-check: New file.
68892         * lib/unistr/u8-check.c: New file.
68893         * lib/unistr/u16-check.c: New file.
68894         * lib/unistr/u32-check.c: New file.
68895
68896         * modules/unistr/u8-chr: New file.
68897         * modules/unistr/u16-chr: New file.
68898         * modules/unistr/u32-chr: New file.
68899         * lib/unistr/u8-chr.c: New file.
68900         * lib/unistr/u16-chr.c: New file.
68901         * lib/unistr/u32-chr.c: New file.
68902
68903         * modules/unistr/u8-cmp: New file.
68904         * modules/unistr/u16-cmp: New file.
68905         * modules/unistr/u32-cmp: New file.
68906         * lib/unistr/u8-cmp.c: New file.
68907         * lib/unistr/u16-cmp.c: New file.
68908         * lib/unistr/u32-cmp.c: New file.
68909
68910         * modules/unistr/u8-cpy: New file.
68911         * modules/unistr/u16-cpy: New file.
68912         * modules/unistr/u32-cpy: New file.
68913         * lib/unistr/u8-cpy.c: New file.
68914         * lib/unistr/u16-cpy.c: New file.
68915         * lib/unistr/u32-cpy.c: New file.
68916         * lib/unistr/u-cpy.h: New file.
68917
68918         * modules/unistr/u8-cpy-alloc: New file.
68919         * modules/unistr/u16-cpy-alloc: New file.
68920         * modules/unistr/u32-cpy-alloc: New file.
68921         * lib/unistr/u8-cpy-alloc.c: New file.
68922         * lib/unistr/u16-cpy-alloc.c: New file.
68923         * lib/unistr/u32-cpy-alloc.c: New file.
68924         * lib/unistr/u-cpy-alloc.h: New file.
68925
68926         * modules/unistr/u8-endswith: New file.
68927         * modules/unistr/u16-endswith: New file.
68928         * modules/unistr/u32-endswith: New file.
68929         * lib/unistr/u8-endswith.c: New file.
68930         * lib/unistr/u16-endswith.c: New file.
68931         * lib/unistr/u32-endswith.c: New file.
68932         * lib/unistr/u-endswith.h: New file.
68933
68934         * modules/unistr/u8-mblen: New file.
68935         * modules/unistr/u16-mblen: New file.
68936         * modules/unistr/u32-mblen: New file.
68937         * lib/unistr/u8-mblen.c: New file.
68938         * lib/unistr/u16-mblen.c: New file.
68939         * lib/unistr/u32-mblen.c: New file.
68940
68941         * modules/unistr/u8-mbtouc: New file.
68942         * modules/unistr/u16-mbtouc: New file.
68943         * modules/unistr/u32-mbtouc: New file.
68944         * lib/unistr/u8-mbtouc.c: New file.
68945         * lib/unistr/u16-mbtouc.c: New file.
68946         * lib/unistr/u32-mbtouc.c: New file.
68947
68948         * modules/unistr/u8-mbtouc-safe: New file.
68949         * modules/unistr/u16-mbtouc-safe: New file.
68950         * modules/unistr/u32-mbtouc-safe: New file.
68951         * lib/unistr/u8-mbtouc-safe.c: New file.
68952         * lib/unistr/u16-mbtouc-safe.c: New file.
68953         * lib/unistr/u32-mbtouc-safe.c: New file.
68954
68955         * modules/unistr/u8-move: New file.
68956         * modules/unistr/u16-move: New file.
68957         * modules/unistr/u32-move: New file.
68958         * lib/unistr/u8-move.c: New file.
68959         * lib/unistr/u16-move.c: New file.
68960         * lib/unistr/u32-move.c: New file.
68961         * lib/unistr/u-move.h: New file.
68962
68963         * modules/unistr/u8-next: New file.
68964         * modules/unistr/u16-next: New file.
68965         * modules/unistr/u32-next: New file.
68966         * lib/unistr/u8-next.c: New file.
68967         * lib/unistr/u16-next.c: New file.
68968         * lib/unistr/u32-next.c: New file.
68969
68970         * modules/unistr/u8-prev: New file.
68971         * modules/unistr/u16-prev: New file.
68972         * modules/unistr/u32-prev: New file.
68973         * lib/unistr/u8-prev.c: New file.
68974         * lib/unistr/u16-prev.c: New file.
68975         * lib/unistr/u32-prev.c: New file.
68976
68977         * modules/unistr/u8-set: New file.
68978         * modules/unistr/u16-set: New file.
68979         * modules/unistr/u32-set: New file.
68980         * lib/unistr/u8-set.c: New file.
68981         * lib/unistr/u16-set.c: New file.
68982         * lib/unistr/u32-set.c: New file.
68983         * lib/unistr/u-set.h: New file.
68984
68985         * modules/unistr/u8-startswith: New file.
68986         * modules/unistr/u16-startswith: New file.
68987         * modules/unistr/u32-startswith: New file.
68988         * lib/unistr/u8-startswith.c: New file.
68989         * lib/unistr/u16-startswith.c: New file.
68990         * lib/unistr/u32-startswith.c: New file.
68991         * lib/unistr/u-startswith.h: New file.
68992
68993         * modules/unistr/u8-stpcpy: New file.
68994         * modules/unistr/u16-stpcpy: New file.
68995         * modules/unistr/u32-stpcpy: New file.
68996         * lib/unistr/u8-stpcpy.c: New file.
68997         * lib/unistr/u16-stpcpy.c: New file.
68998         * lib/unistr/u32-stpcpy.c: New file.
68999         * lib/unistr/u-stpcpy.h: New file.
69000
69001         * modules/unistr/u8-stpncpy: New file.
69002         * modules/unistr/u16-stpncpy: New file.
69003         * modules/unistr/u32-stpncpy: New file.
69004         * lib/unistr/u8-stpncpy.c: New file.
69005         * lib/unistr/u16-stpncpy.c: New file.
69006         * lib/unistr/u32-stpncpy.c: New file.
69007         * lib/unistr/u-stpncpy.h: New file.
69008
69009         * modules/unistr/u8-strcat: New file.
69010         * modules/unistr/u16-strcat: New file.
69011         * modules/unistr/u32-strcat: New file.
69012         * lib/unistr/u8-strcat.c: New file.
69013         * lib/unistr/u16-strcat.c: New file.
69014         * lib/unistr/u32-strcat.c: New file.
69015         * lib/unistr/u-strcat.h: New file.
69016
69017         * modules/unistr/u8-strchr: New file.
69018         * modules/unistr/u16-strchr: New file.
69019         * modules/unistr/u32-strchr: New file.
69020         * lib/unistr/u8-strchr.c: New file.
69021         * lib/unistr/u16-strchr.c: New file.
69022         * lib/unistr/u32-strchr.c: New file.
69023
69024         * modules/unistr/u8-strcmp: New file.
69025         * modules/unistr/u16-strcmp: New file.
69026         * modules/unistr/u32-strcmp: New file.
69027         * lib/unistr/u8-strcmp.c: New file.
69028         * lib/unistr/u16-strcmp.c: New file.
69029         * lib/unistr/u32-strcmp.c: New file.
69030
69031         * modules/unistr/u8-strcpy: New file.
69032         * modules/unistr/u16-strcpy: New file.
69033         * modules/unistr/u32-strcpy: New file.
69034         * lib/unistr/u8-strcpy.c: New file.
69035         * lib/unistr/u16-strcpy.c: New file.
69036         * lib/unistr/u32-strcpy.c: New file.
69037         * lib/unistr/u-strcpy.h: New file.
69038
69039         * modules/unistr/u8-strcspn: New file.
69040         * modules/unistr/u16-strcspn: New file.
69041         * modules/unistr/u32-strcspn: New file.
69042         * lib/unistr/u8-strcspn.c: New file.
69043         * lib/unistr/u16-strcspn.c: New file.
69044         * lib/unistr/u32-strcspn.c: New file.
69045         * lib/unistr/u-strcspn.h: New file.
69046
69047         * modules/unistr/u8-strdup: New file.
69048         * modules/unistr/u16-strdup: New file.
69049         * modules/unistr/u32-strdup: New file.
69050         * lib/unistr/u8-strdup.c: New file.
69051         * lib/unistr/u16-strdup.c: New file.
69052         * lib/unistr/u32-strdup.c: New file.
69053         * lib/unistr/u-strdup.h: New file.
69054
69055         * modules/unistr/u8-strlen: New file.
69056         * modules/unistr/u16-strlen: New file.
69057         * modules/unistr/u32-strlen: New file.
69058         * lib/unistr/u8-strlen.c: New file.
69059         * lib/unistr/u16-strlen.c: New file.
69060         * lib/unistr/u32-strlen.c: New file.
69061         * lib/unistr/u-strlen.h: New file.
69062
69063         * modules/unistr/u8-strmblen: New file.
69064         * modules/unistr/u16-strmblen: New file.
69065         * modules/unistr/u32-strmblen: New file.
69066         * lib/unistr/u8-strmblen.c: New file.
69067         * lib/unistr/u16-strmblen.c: New file.
69068         * lib/unistr/u32-strmblen.c: New file.
69069
69070         * modules/unistr/u8-strmbtouc: New file.
69071         * modules/unistr/u16-strmbtouc: New file.
69072         * modules/unistr/u32-strmbtouc: New file.
69073         * lib/unistr/u8-strmbtouc.c: New file.
69074         * lib/unistr/u16-strmbtouc.c: New file.
69075         * lib/unistr/u32-strmbtouc.c: New file.
69076
69077         * modules/unistr/u8-strncat: New file.
69078         * modules/unistr/u16-strncat: New file.
69079         * modules/unistr/u32-strncat: New file.
69080         * lib/unistr/u8-strncat.c: New file.
69081         * lib/unistr/u16-strncat.c: New file.
69082         * lib/unistr/u32-strncat.c: New file.
69083         * lib/unistr/u-strncat.h: New file.
69084
69085         * modules/unistr/u8-strncmp: New file.
69086         * modules/unistr/u16-strncmp: New file.
69087         * modules/unistr/u32-strncmp: New file.
69088         * lib/unistr/u8-strncmp.c: New file.
69089         * lib/unistr/u16-strncmp.c: New file.
69090         * lib/unistr/u32-strncmp.c: New file.
69091
69092         * modules/unistr/u8-strncpy: New file.
69093         * modules/unistr/u16-strncpy: New file.
69094         * modules/unistr/u32-strncpy: New file.
69095         * lib/unistr/u8-strncpy.c: New file.
69096         * lib/unistr/u16-strncpy.c: New file.
69097         * lib/unistr/u32-strncpy.c: New file.
69098         * lib/unistr/u-strncpy.h: New file.
69099
69100         * modules/unistr/u8-strnlen: New file.
69101         * modules/unistr/u16-strnlen: New file.
69102         * modules/unistr/u32-strnlen: New file.
69103         * lib/unistr/u8-strnlen.c: New file.
69104         * lib/unistr/u16-strnlen.c: New file.
69105         * lib/unistr/u32-strnlen.c: New file.
69106         * lib/unistr/u-strnlen.h: New file.
69107
69108         * modules/unistr/u8-strpbrk: New file.
69109         * modules/unistr/u16-strpbrk: New file.
69110         * modules/unistr/u32-strpbrk: New file.
69111         * lib/unistr/u8-strpbrk.c: New file.
69112         * lib/unistr/u16-strpbrk.c: New file.
69113         * lib/unistr/u32-strpbrk.c: New file.
69114         * lib/unistr/u-strpbrk.h: New file.
69115
69116         * modules/unistr/u8-strrchr: New file.
69117         * modules/unistr/u16-strrchr: New file.
69118         * modules/unistr/u32-strrchr: New file.
69119         * lib/unistr/u8-strrchr.c: New file.
69120         * lib/unistr/u16-strrchr.c: New file.
69121         * lib/unistr/u32-strrchr.c: New file.
69122
69123         * modules/unistr/u8-strspn: New file.
69124         * modules/unistr/u16-strspn: New file.
69125         * modules/unistr/u32-strspn: New file.
69126         * lib/unistr/u8-strspn.c: New file.
69127         * lib/unistr/u16-strspn.c: New file.
69128         * lib/unistr/u32-strspn.c: New file.
69129         * lib/unistr/u-strspn.h: New file.
69130
69131         * modules/unistr/u8-strstr: New file.
69132         * modules/unistr/u16-strstr: New file.
69133         * modules/unistr/u32-strstr: New file.
69134         * lib/unistr/u8-strstr.c: New file.
69135         * lib/unistr/u16-strstr.c: New file.
69136         * lib/unistr/u32-strstr.c: New file.
69137         * lib/unistr/u-strstr.h: New file.
69138
69139         * modules/unistr/u8-strtok: New file.
69140         * modules/unistr/u16-strtok: New file.
69141         * modules/unistr/u32-strtok: New file.
69142         * lib/unistr/u8-strtok.c: New file.
69143         * lib/unistr/u16-strtok.c: New file.
69144         * lib/unistr/u32-strtok.c: New file.
69145         * lib/unistr/u-strtok.h: New file.
69146
69147         * modules/unistr/u8-uctomb: New file.
69148         * modules/unistr/u16-uctomb: New file.
69149         * modules/unistr/u32-uctomb: New file.
69150         * lib/unistr/u8-uctomb.c: New file.
69151         * lib/unistr/u16-uctomb.c: New file.
69152         * lib/unistr/u32-uctomb.c: New file.
69153
69154         * MODULES.html.sh (Unicode string functions): Add the new modules.
69155
69156 2007-01-08  Bruno Haible  <bruno@clisp.org>
69157
69158         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
69159         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
69160         subdirectories.
69161
69162 2007-01-08  Karl Berry  <karl@gnu.org>
69163
69164         * doc/error.texi: mention that main() fns must set program_name
69165         when progname is used.
69166
69167 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
69168
69169         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
69170         WCTYPE_H is empty, for the benefit of builds from non-distclean
69171         directories.  Problem reported by Eric Blake in
69172         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
69173
69174 2007-01-08  Bruno Haible  <bruno@clisp.org>
69175
69176         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
69177         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
69178         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
69179         PROVIDE_CANONICALIZE_FILENAME_MODE.
69180         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
69181
69182 2007-01-08  Bruno Haible  <bruno@clisp.org>
69183
69184         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
69185         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
69186         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
69187         * lib/fts.c: Likewise.
69188         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
69189
69190 2006-12-25  Bruno Haible  <bruno@clisp.org>
69191
69192         * modules/utf8-ucs4-safe: New file.
69193         * lib/utf8-ucs4-safe.h: New file.
69194         * lib/unistr/utf8-ucs4-safe.c: New file.
69195
69196         * modules/utf16-ucs4-safe: New file.
69197         * lib/utf16-ucs4-safe.h: New file.
69198         * lib/unistr/utf16-ucs4-safe.c: New file.
69199
69200         * MODULES.html.sh (Unicode string functions): Add the new modules.
69201
69202 2007-01-08  Bruno Haible  <bruno@clisp.org>
69203
69204         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
69205         (Depends-on): Add unitypes.
69206         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69207         (u8_mbtouc_aux): Move out to separate file.
69208         (u8_mbtouc): Use ucs4_t, uint8_t types.
69209         * lib/unistr/utf8-ucs4.c: New file.
69210
69211         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
69212         (Depends-on): Add unitypes.
69213         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
69214         (u16_mbtouc_aux): Move out to separate file.
69215         (u16_mbtouc): Use ucs4_t, uint16_t types.
69216         * lib/unistr/utf16-ucs4.c: New file.
69217
69218         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
69219         (Depends-on): Add unitypes.
69220         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
69221         (u8_uctomb_aux): Move out to separate file.
69222         (u8_uctomb): Use ucs4_t, uint8_t types.
69223         * lib/unistr/ucs4-utf8.c: New file.
69224
69225         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
69226         (Depends-on): Add unitypes.
69227         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
69228         (u16_uctomb_aux): Move out to separate file.
69229         (u16_uctomb): Use ucs4_t, uint16_t types.
69230         * lib/unistr/ucs4-utf16.c: New file.
69231
69232 2006-12-25  Bruno Haible  <bruno@clisp.org>
69233
69234         * modules/unitypes: New file.
69235         * lib/unitypes.h: New file.
69236         * MODULES.html.sh (func_all_modules): New section "Unicode string
69237         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
69238         this section. Add unitypes.
69239
69240 2007-01-08  Bruno Haible  <bruno@clisp.org>
69241
69242         Avoid variable names that conflict with those from libtool.
69243         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
69244         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
69245         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
69246         library_names_spec to acl_library_names_spec, hardcode_* to
69247         acl_hardcode_*.
69248         Reported by Ralf Wildenhues.
69249
69250 2007-01-08  Bruno Haible  <bruno@clisp.org>
69251
69252         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
69253         definition.
69254         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
69255         definition.
69256         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
69257         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
69258         definition.
69259         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
69260         definition.
69261         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
69262         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
69263         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
69264         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
69265         definition.
69266         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
69267         definition.
69268         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
69269         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
69270         GC_USE_<algorithm>.
69271         * lib/gc-libgcrypt.c: Likewise.
69272         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
69273         * modules/gc-arctwo (configure.ac): Likewise.
69274         * modules/gc-des (configure.ac): Likewise.
69275         * modules/gc-hmac-md5 (configure.ac): Likewise.
69276         * modules/gc-hmac-sha1 (configure.ac): Likewise.
69277         * modules/gc-md2 (configure.ac): Likewise.
69278         * modules/gc-md4 (configure.ac): Likewise.
69279         * modules/gc-md5 (configure.ac): Likewise.
69280         * modules/gc-random (configure.ac): Likewise.
69281         * modules/gc-rijndael (configure.ac): Likewise.
69282         * modules/gc-sha1 (configure.ac): Likewise.
69283
69284 2007-01-08  Bruno Haible  <bruno@clisp.org>
69285
69286         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
69287         macro definition.
69288         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
69289         definition.
69290         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
69291         definition.
69292         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
69293         * modules/fcntl-safer (configure.ac): Likewise.
69294         * modules/fopen-safer (configure.ac): Likewise.
69295         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
69296         GNULIB_FWRITEERROR macro definition.
69297
69298 2007-01-08  Bruno Haible  <bruno@clisp.org>
69299
69300         * m4/gnulib-common.m4: New file.
69301         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
69302         (func_get_filelist): Add m4/gnulib-common.m4.
69303
69304 2007-01-08  Bruno Haible  <bruno@clisp.org>
69305
69306         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
69307         command.
69308
69309 2007-01-08  Jim Meyering  <jim@meyering.net>
69310
69311         Use a more robust test for a "can't happen" condition.
69312         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
69313         narrowed the st_size value.  Presuming the "can't happen" condition
69314         is true, that narrowing could conceivably convert an invalid st_size
69315         value into a valid one.  Instead, use a change based on Matthew
69316         Woehlke's original patch.
69317
69318         Slight readability improvement: use an assert-like macro
69319         in place of literal "abort ()" uses.
69320         * lib/fts.c (fts_assert): Define.
69321         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
69322         Use this macro instead of a bare 'abort'.
69323
69324 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
69325
69326         Don't worry about using IRIX 5.3's wctype.h broken definitions;
69327         simply work around them.
69328         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
69329         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
69330         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
69331         declaring.
69332         Don't bother to define as macros, since the standard doesn't require it.
69333         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
69334         longer worry about IRIX 5.3.
69335         (HAVE_WCTYPE_CTMP_BUG): Remove.
69336
69337 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
69338
69339         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
69340         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
69341         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
69342         Problems reported by Georg Schwarz for IRIX 5.3.
69343
69344         * gnulib-tool (autoconf_minversion): Take the maximum version number
69345         found, not the minimum.  Problem reported by James Youngman.
69346
69347 2007-01-03  Karl Berry  <karl@gnu.org>
69348
69349         * doc/error.texi: new file, explaining interaction with progname.
69350         * doc/gnulib.texi: include it.  Update copyright.
69351
69352 2007-01-03  Simon Josefsson  <simon@josefsson.org>
69353
69354         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
69355         AC_CANONICAL_HOST, to improve autobuild outputs.
69356
69357 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
69358             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
69359
69360         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
69361         sockets, server sockets, and other file descriptors.  Count errors
69362         to compute the return value.  Reorder the code a bit to be easier
69363         to follow.  Don't set event bits that were not requested (except
69364         POLLERR and POLLHUP).
69365
69366 2007-01-01  Bruno Haible  <bruno@clisp.org>
69367
69368         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
69369
69370 2007-01-03  Jim Meyering  <jim@meyering.net>
69371
69372         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
69373
69374 2007-01-02  Bruno Haible  <bruno@clisp.org>
69375
69376         * modules/settime (Include): Require timespec.h.
69377         * modules/nanosleep (Include): Likewise.
69378
69379 2007-01-01  Bruno Haible  <bruno@clisp.org>
69380
69381         * gnulib-tool (func_emit_copyright_notice): Bump year.
69382         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
69383
69384 2007-01-01  Bruno Haible  <bruno@clisp.org>
69385
69386         Improve support for OpenBSD.
69387         * build-aux/config.rpath (libname_spec): Export.
69388         (library_names_spec): New variable. Export.
69389         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
69390         library_names_spec from the config.rpath output. Locate shared library
69391         through the name pattern in library_names_spec.
69392
69393 2007-01-01  Eric Blake  <ebb9@byu.net>
69394
69395         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
69396
69397 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
69398
69399         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
69400         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
69401         assume the C locale, and avoid an "eval" that could cause trouble.
69402         Problem with SORT reported by Bob Proulx.
69403
69404         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
69405         Define.  Trivial patch from Henning Nielsen Lund, originally
69406         sent to bug-grep@gnu.org today.
69407
69408 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
69409
69410         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
69411         struct stat.  Problem reported by Henning Nielsen Lund.
69412         * lib/acl.c: Include acl.h first, to check interface.  Don't
69413         bother to include sys/types.h and sys/stat.h again.
69414
69415 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
69416
69417         Import the following change from libc; problem reported by
69418         Sven Verdoolaege.
69419
69420         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
69421
69422         [BZ #1373]
69423         * lib/argp.h: Remove __NTH for __argp_usage inline function.
69424
69425 2006-12-28  Jim Meyering  <jim@meyering.net>
69426
69427         * build-aux/announce-gen: Do not assume that the package
69428         builds any of tar.gz, tar.bz2, and .xdelta files.
69429         Suggestion from Simon Josefsson.
69430
69431 2006-12-28  Simon Josefsson  <simon@josefsson.org>
69432
69433         * modules/announce-gen: New file.
69434
69435 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
69436
69437         * lib/mbchar.h: Just include <wctype.h>; the wctype module
69438         handles its gotchas now.
69439         * lib/mbswidth.c: Likewise.
69440         * lib/wcwidth.h: Likewise.
69441         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
69442         and iswcntrl; the wctype module does this stuff now.
69443         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
69444         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
69445         * modules/mbchar (Depends-on): Add wctype.
69446         * modules/mbswidth (Depends-on): Likewise.
69447         * modules/wcwidth (Depends-on): Likewise.
69448
69449 2006-12-27  Eric Blake  <ebb9@byu.net>
69450
69451         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
69452         module uses more than what <wctype.h> is required to provide.
69453
69454 2006-12-26  Eric Blake  <ebb9@byu.net>
69455
69456         * gnulib-tool (sed_extract_prog): Avoid space-tab.
69457
69458 2006-12-26  Eric Blake  <ebb9@byu.net>
69459
69460         * modules/absolute-header: New module.
69461         * modules/fcntl (Depends-on): Depend on it.
69462         * modules/inttypes (Depends-on): Likewise.
69463         * modules/stdint (Depends-on): Likewise.
69464         * modules/sys_stat (Depends-on): Likewise.
69465         * modules/wctype (Depends-on): Likewise.
69466         * MODULES.html.sh (Support for building libraries and
69467         executables): Document it.
69468
69469 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
69470
69471         * gnulib-tool (SED): Remove, undoing previous change.
69472         The problem was that it broke coreutils on Solaris, because
69473         "sed --posix" leaked into a makefile.
69474         (sed): New alias, if 'alias' and GNU sed.
69475
69476 2006-12-24  Jim Meyering  <jim@meyering.net>
69477
69478         Work around an fchownat bug in glibc-2.4:
69479         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
69480         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
69481         in spite of the -P option.
69482         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
69483         New macros.
69484         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
69485         * modules/openat (Files): Add lib/fchownat.c.
69486         * lib/openat.c (fchownat): Don't define here.  Move to...
69487         * lib/fchownat.c: ...this new file.
69488
69489 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
69490
69491         Fix bug reported by Bruno Haible in
69492         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
69493         where quotearg.c didn't compile on Mac OS X 10.2 because it
69494         lacks <wchar.h> and wint_t.
69495         * lib/wctype_.h (__wctype_wint_t): New type.
69496         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
69497         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
69498         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
69499         Arg is now of type __wctype_wint_t, not wint_t.
69500         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
69501         substitute HAVE_WINT_T.
69502         * modules/wctype (Files): Add m4/wint_t.m4.
69503         (wctype.h): Substitute HAVE_WINT_T.
69504
69505 2006-12-23  Bruno Haible  <bruno@clisp.org>
69506
69507         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
69508
69509 2006-12-23  Bruno Haible  <bruno@clisp.org>
69510
69511         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
69512         S_ISLNK.
69513         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
69514         mingw.
69515
69516 2006-12-22  Bruno Haible  <bruno@clisp.org>
69517
69518         * lib/copy-file.c: Include acl.h.
69519         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
69520         Close the file descriptors only after being done with copy_acl.
69521         * modules/copy-file (Depends-on): Add acl.
69522
69523 2006-12-22  Bruno Haible  <bruno@clisp.org>
69524
69525         * gnulib-tool (SED): New variable.
69526         Use $SED instead of sed everywhere.
69527
69528 2006-12-22  Bruno Haible  <bruno@clisp.org>
69529
69530         * modules/no-c++: New file.
69531         * m4/no-c++.m4: New file.
69532         * MODULES.html.sh (Support for building libraries and executables):
69533         Add no-c++.
69534
69535 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
69536
69537         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
69538         Include <limits.h>, and use its INT_MAX to rewrite the
69539         j loop so that it does not overflow 'int'.  Problem reported by
69540         Ralf Wildenhues in
69541         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
69542         Play it safe by shifting left by 1 rather than multiplying by 2,
69543         as GCC is less likely to optimize this away when the value
69544         is signed (when it assumes overflow leads to undefined behavior).
69545         Also, don't assume time_t uses two's complement.
69546
69547 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
69548
69549         * MODULES.html.sh: New module wctype.
69550         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
69551         * lib/fnmatch.c: Don't bother to include <wchar.h> before
69552         <wctype.h>, since the new wctype module should fix this.
69553         * lib/quotearg.c: Include <wctype.h> unconditionally, since
69554         the wctype module should arrange for it.
69555         * lib/regex_internal.h: Likewise.
69556         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
69557         since the wctype module should handle this now.
69558         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
69559         * modules/fnmatch (Depends-on): Add wctype.
69560         * modules/quotearg (Depends-on): Likewise.
69561         * modules/regex (Depends-on): Likewise.
69562
69563 2006-12-19  Bruno Haible  <bruno@clisp.org>
69564
69565         * lib/strdup.h [C++]: Wrap definitions in extern "C".
69566         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
69567
69568 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69569
69570         * modules/savewd (Depends-on): Fix dependency on fcntl.
69571
69572 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69573
69574         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
69575         conforms to C99, rather than relying on the user's environment
69576         setting of STDINT_H.
69577
69578 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
69579         and Eric Blake  <ebb9@byu.net>
69580
69581         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
69582         This is more consistent with the other defines here.
69583         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
69584         Port to z/OS.  Problem reported by Paul Gilmartin.
69585         Change local vars to use gl_ prefix rather than ac_.
69586         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
69587         with other defines.
69588         * modules/double-slash-root: New module.
69589         * modules/dirname (Files): Remove m4/double-slash-root.m4.
69590         (Depends-on): Add double-slash-root.
69591         * MODULES.html.sh (File system functions): Mention new module.
69592
69593 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
69594
69595         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
69596         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
69597         This is for the benefit of gzip, which doesn't do i18n.
69598
69599 2006-12-12  Jim Meyering  <jim@meyering.net>
69600
69601         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
69602         Reported by Andreas Schwab <schwab@suse.de>.
69603
69604 2006-12-12  Bruno Haible  <bruno@clisp.org>
69605
69606         Merge these changes.
69607         2006-09-05  Bruno Haible  <bruno@clisp.org>
69608         * lib/iconvme.c (iconv_string): No need to save and restore errno when
69609         iconv_alloc succeeded.
69610         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
69611         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
69612         test for " && dest " at the end - dest is always != NULL there. Call
69613         iconv with 4xNULL arguments initially, to reset the state. Call iconv
69614         with 2xNULL arguments, also to flush the state storage. Handle the
69615         IRIX iconv behaviour. Realloc the final result, to throw away unused
69616         memory.
69617
69618 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
69619
69620         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
69621         and fchmodat unconditionally, since glibc 2.4 has them.
69622         Problem reported by Arkadiusz Miskiewicz.
69623
69624 2006-12-10  Bruno Haible  <bruno@clisp.org>
69625
69626         * gnulib-tool (func_import): Show the include files only for those
69627         modules that are copied and specified.
69628         Reported by Karl Berry.
69629
69630 2006-12-08  Jim Meyering  <jim@meyering.net>
69631
69632         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
69633         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
69634
69635         * build-aux/announce-gen: Add two new options, both optional:
69636         --bootstrap-tools=TOOL_LIST
69637               a comma-separated list of tools, e.g.,
69638               autoconf,automake,bison,gnulib
69639         --gnulib-snapshot-date=DATE
69640               if gnulib is in the bootstrap tool list,
69641               then report this as the snapshot date.
69642               If not specified, use the current date/time.
69643               If you specify a date here, be sure it's UTC.
69644
69645 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69646
69647         * tests/test-argp-2.sh: Fix test to match actual output.
69648         (func_compare): Fix sed script to be portable.
69649
69650 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
69651
69652         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
69653         workaround for this case.  It is not autoconfigured now; offhand
69654         it's hard to see how to autoconfigure it.
69655
69656 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
69657
69658         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
69659         a directory that is about to be chowned.  Such a directory's
69660         initial file permissions should permit the owner only and this
69661         should not be changed until after the chown, since the group and
69662         other bits would be incorrect if they granted permission before
69663         the chown.
69664
69665         Fix porting problem for iswctype reported by Georg Schwarz in:
69666         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
69667         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
69668         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
69669         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
69670         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
69671
69672 2006-12-03  Jim Meyering  <jim@meyering.net>
69673
69674         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
69675         p->fts_statp may not yet be defined.
69676         (fts_read): Instead, set it in the caller, once p->fts_statp is
69677         sure to be defined, and corresponds to a top-level directory.
69678         This bug made du -x fail.  Here's the coreutils test case:
69679         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
69680         Reported by Mike Frysinger.
69681
69682 2006-12-01  Jim Meyering  <jim@meyering.net>
69683
69684         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
69685         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
69686         Reported by Simon Josefsson.
69687
69688 2006-11-30  Jim Meyering  <jim@meyering.net>
69689
69690         * m4/warning.m4: Use the all-permissive copyright notice
69691         recommended by RMS (rather than LGPL).
69692         * m4/vararrays.m4: Likewise.
69693         * m4/flexmember.m4: Likewise.
69694
69695 2006-11-29  Bruno Haible  <bruno@clisp.org>
69696
69697         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69698         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
69699         using +=.
69700         Reported by Simon Josefsson <simon@josefsson.org>.
69701
69702 2006-11-28  James Youngman <jay@gnu.org>
69703
69704         * README: Advise users that they might find the bug-gnulib@gnu.org
69705         and autotools-announce@gnu.org mailing lists useful.
69706
69707 2006-11-28  Bruno Haible  <bruno@clisp.org>
69708
69709         * m4/ptrdiff_max.m4: Remove file.
69710
69711 2006-11-21  Bruno Haible  <bruno@clisp.org>
69712
69713         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
69714         _AC_COMPUTE_INT.
69715         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69716         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
69717         _AC_COMPUTE_INT.
69718         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69719         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
69720         _AC_COMPUTE_INT.
69721         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69722
69723 2006-11-28  Jim Meyering  <jim@meyering.net>
69724
69725         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
69726         warning from "gcc -Wshadow" about shadowing the builtin.
69727
69728 2006-11-27  Bruno Haible  <bruno@clisp.org>
69729
69730         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
69731         _AC_COMPUTE_INT.
69732         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
69733
69734 2006-11-27  Bruno Haible  <bruno@clisp.org>
69735             Paul Eggert  <eggert@cs.ucla.edu>
69736
69737         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
69738
69739 2006-11-26  Bruno Haible  <bruno@clisp.org>
69740
69741         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
69742         noinst_LTLIBRARIES.
69743
69744 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
69745             Bruno Haible  <bruno@clisp.org>
69746
69747         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
69748         if compiling with "gcc -ansi".
69749
69750 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
69751
69752         Fix some incompatibilities with gcc -ansi -pedantic.
69753         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
69754         if compiling pedantically with GCC, unless it's C99 or later.
69755         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
69756         it mishandles gcc -ansi -pedantic as well.
69757         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
69758         if gcc -pedantic.
69759         * lib/regexec.c (check_node_accept_bytes): Don't use auto
69760         initializers for struct if -pedantic, unless it's C99 or later.
69761
69762 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
69763
69764         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
69765         Don't close an fd more than once. Identical atimes indicate
69766         success, not failure.
69767
69768 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
69769
69770         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
69771
69772 2006-11-23  Jim Meyering  <jim@meyering.net>
69773
69774         * build-aux/announce-gen: New file.  From coreutils.
69775
69776 2006-11-22  Jim Meyering  <jim@meyering.net>
69777
69778         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
69779         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
69780         (fts_read): Use a temporary to narrow the overused st_size member
69781         before using it in a switch statement.  Reported by Matthew Woehlke.
69782
69783         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
69784         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
69785
69786 2006-11-20  Bruno Haible  <bruno@clisp.org>
69787
69788         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
69789         changequote instead of pairs of brackets.
69790         Reported by Andreas Schwab <schwab@suse.de>.
69791
69792 2006-11-21  Jim Meyering  <jim@meyering.net>
69793
69794         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
69795         so as to remain compatible with older compilers.
69796         Patch from Michael Deutschmann.
69797
69798 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69799
69800         * MODULES.html.sh (File system functions): Add openat.
69801
69802         * lib/openat.h (rpl_fstatat): New macro, if
69803         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
69804         (fstatat): Define to rpl_fstatat under the same conditions,
69805         unless COMPILING_FSTATAT.
69806         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
69807         seems to have the bug.
69808         * lib/fstatat.c: New file.
69809         * modules/openat (Files): Add it.
69810
69811 2006-11-20  Bruno Haible  <bruno@clisp.org>
69812
69813         * Makefile: New file.
69814
69815 2006-11-20  Jim Meyering  <jim@meyering.net>
69816
69817         The beginnings of syntax-related checks for gnulib.
69818         * lib/Makefile: New file.
69819         * lib/t-idcache: New script.  Ensure that the two halves of
69820         idcache.c stay in sync.
69821
69822         * lib/idcache.c: Adjust comments in user- and group- portions to
69823         be more accurate, and to be consistent with one another.
69824
69825 2006-11-20  Jim Meyering  <jim@meyering.net>
69826
69827         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
69828         continue using the flexible array member (thus, this module performs
69829         half as many malloc calls), with the addition that...
69830         (getgroup, getuser): Consistently record a non-match via an empty
69831         "name" string, and map an empty string match to a NULL return value.
69832         * modules/idcache (Depends-on): Re-add flexmember.
69833
69834         * lib/idcache.c (getuser): Remove all uses of the register keyword.
69835         (getuidbyname, getgroup, getgidbyname): Likewise.
69836
69837         Use cleaner syntax: NULL rather than 0.
69838         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
69839
69840 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
69841
69842         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
69843         It mishandled the case where the group was missing.
69844         Problem reported by Greg Schafer.
69845         * modules/idcache: Likewise.
69846
69847 2006-11-18  Jim Meyering  <jim@meyering.net>
69848
69849         * check-module (%exempt_header): Add exception for some
69850         conditionally-included headers.
69851
69852         * modules/i-ring (Depends-on): Add verify.
69853         (License): Change to LGPL.
69854
69855 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
69856
69857         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
69858         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
69859         and inttostr.h.  Use snprintf rather than uinttostr, so that
69860         LGPLed code doesn't depend on GPLed.
69861
69862 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
69863
69864         * modules/inline (License): Change from GPL to LGPL.
69865
69866 2006-11-17  Jim Meyering  <jim@meyering.net>
69867
69868         * modules/d-type (License): Switch to LGPL.
69869
69870 2006-11-15  Bruno Haible  <bruno@clisp.org>
69871
69872         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
69873
69874 2006-11-15  Eric Blake  <ebb9@byu.net>
69875
69876         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
69877         the module dependency.
69878
69879 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
69880             Bruno Haible  <bruno@clisp.org>
69881
69882         * gnulib-tool (func_create_testdir): Add license consistency check.
69883
69884 2006-11-15  Eric Blake  <ebb9@byu.net>
69885
69886         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
69887         random "(cached)" in configure output.
69888
69889 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69890
69891         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
69892         test for conforming inttypes.h is both announced and cached.
69893
69894         * MODULES.html.sh (seen_modules, seen_files): New variables.
69895         (func_module): Rewrite to use a few less gnulib-tool and sed
69896         invocations.  Avoid a couple of quadratic algorithms for ...
69897         (missed_modules, missed_files): ... these, with ...
69898         (func_append, func_tmpdir): ... these new functions, from
69899         gnulib-tool.  Analogously, install traps for cleanup.
69900
69901         * tests/test-gc.c (main): Remove unused variables.
69902         * tests/test-read-file.c: Include stdlib.h, for 'free'.
69903
69904 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
69905
69906         * modules/inttostr (License): Change to LGPL.
69907
69908 2006-11-14  Eric Blake  <ebb9@byu.net>
69909
69910         * modules/tempname (License): Change to LGPL.
69911
69912 2006-11-14  Eric Blake  <ebb9@byu.net>
69913
69914         * doc/functions.texi (Function Portability): *printf functions on
69915         Cygwin now understand all POSIX size specifiers.
69916
69917 2006-11-14  Bruno Haible  <bruno@clisp.org>
69918
69919         * modules/c-ctype (License): Change to LGPL.
69920
69921 2006-11-12  Bruno Haible  <bruno@clisp.org>
69922
69923         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
69924         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
69925         for GNOME libraries, for which the include files are installed in
69926         subdirectories of $prefix/include.
69927
69928 2006-11-12  Bruno Haible  <bruno@clisp.org>
69929
69930         * m4/lib-link.m4: Require at least autoconf-2.54.
69931         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
69932         name to underscores for the --with option.
69933
69934 2006-11-13  Bruno Haible  <bruno@clisp.org>
69935
69936         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
69937         the tests directory.
69938         Reported by Ralf Wildenhues.
69939
69940 2006-11-13  Bruno Haible  <bruno@clisp.org>
69941
69942         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
69943         (func_emit_initmacro_end): Undo the override here.
69944         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
69945         Works around the famous automake error in coreutils.
69946
69947 2006-11-13  Eric Blake  <ebb9@byu.net>
69948
69949         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
69950         element, not its node.
69951
69952 2006-11-12  Bruno Haible  <bruno@clisp.org>
69953
69954         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
69955         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
69956
69957 2006-11-12  Bruno Haible  <bruno@clisp.org>
69958
69959         * gnulib-tool: New option --local-symlink.
69960         (func_usage): Document it.
69961         (lsymbolic): New variable.
69962         (func_import, func_create_testdir): If --symlink was not specified,
69963         test whether --local-symlink was specified and the file comes from
69964         the local_gnulib_dir.
69965
69966 2006-11-12  Bruno Haible  <bruno@clisp.org>
69967
69968         * gnulib-tool (func_ln): New function.
69969         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
69970
69971 2006-11-12  Bruno Haible  <bruno@clisp.org>
69972
69973         Finish support for source files in subdirectories.
69974         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
69975         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
69976         AUTOMAKE_OPTIONS.
69977         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
69978
69979 2006-11-12  Bruno Haible  <bruno@clisp.org>
69980
69981         * gnulib-tool (func_get_automake_snippet): Synthesize also an
69982         EXTRA_lib_SOURCES augmentation.
69983         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
69984
69985 2006-11-12  Jim Meyering  <jim@meyering.net>
69986
69987         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
69988         file descriptors.  This also averts a failure on systems with
69989         native openat support when a traversed directory lacks "x" access.
69990         * lib/fts_.h: Include "i-ring.h"
69991         (struct FTS) [fts_fd_ring]: New member.
69992         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
69993         (FCHDIR): Add parentheses.
69994         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
69995         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
69996         When descending, rather than simply closing the previous
69997         fts_cwd_fd value, push that file descriptor onto the ring.
69998         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
69999         (fts_open): Initialize the new fd_ring member.
70000         (fts_close): Clear the ring.
70001         (fts_safe_changedir): When possible, use our new fd_ring to skip
70002         the diropen and fstat and dev/ino comparison that would normally
70003         accompany a virtual `chdir ("..")'.
70004
70005         * modules/fts (Depends-on): Add i-ring.
70006         * modules/i-ring: New module.
70007         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
70008         * m4/i-ring.m4: New file.
70009
70010 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70011
70012         * gnulib-tool (func_create_testdir): Fix replacement of
70013         `build-aux' in configure.ac.  Run autotools in gltests
70014         subdirectory.
70015         (func_create_testdir, func_create_megatestdir, test): There is
70016         no need for '--force' in most autotool invocations in a new
70017         tree.  Actually fail the whole test if any of the tools, or the
70018         configure or make stages fail.
70019
70020         Sync from Automake.
70021         * build-aux/gnupload: Revert last change.  Add pointer to upload
70022         instructions of the GNU Maintenance Instructions.
70023         Suggestion by Karl Berry.
70024
70025 2006-11-10  Jim Meyering  <jim@meyering.net>
70026
70027         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
70028
70029 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70030
70031         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
70032         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
70033         (bind_textdomain_codeset) [! ENABLE_NLS]:
70034         Evaluate all the arguments.  That way, callers get compatible behavior
70035         if the arguments have side effects.  Also, it avoids some GCC
70036         diagnostics in some cases; Joel E. Denny reported problems when Bison
70037         was configured with --enable-gcc-warnigs.
70038
70039 2006-11-10  Jim Meyering  <jim@meyering.net>
70040
70041         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
70042         relevant options in CFLAGS (like -O, -fno-inline) are taken into
70043         account.
70044
70045 2006-11-10  Jim Meyering  <jim@meyering.net>
70046
70047         * modules/inline: New file/module.
70048         * modules/xalloc (Files): Remove m4/inline.m4.
70049         (Depends-on): Add inline, instead.
70050         * modules/oset: Likewise.
70051         * modules/list: Likewise.
70052
70053 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
70054
70055         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
70056         Problem reported by Matthew Woehlke.
70057
70058 2006-11-09  Bruno Haible  <bruno@clisp.org>
70059
70060         * lib/tempname.c (gen_tempname): Remove variant that invokes
70061         __gen_tempname.
70062         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
70063         __gen_tempname.
70064
70065 2006-11-08  Bruno Haible  <bruno@clisp.org>
70066
70067         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
70068         to 'yes' instead of 'cross-compiling'.
70069
70070 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
70071
70072         * lib/quotearg.h (quotearg_free): New decl.
70073         * lib/quotearg.c (quotearg_free): New function.
70074         (slot0, nslots, slotvec0, slotvec):
70075         Now file-scope so that quotearg_free can get at them.
70076
70077 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70078
70079         Sync from Automake.
70080         * build-aux/gnupload: Add missing 'gnu' to example URL.
70081         Report by Karl Berry.
70082
70083 2006-11-08  Bruno Haible  <bruno@clisp.org>
70084
70085         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
70086         Suggested by Paul Eggert.
70087
70088 2006-11-08  Jim Meyering  <jim@meyering.net>
70089
70090         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
70091         It's already included if !_LIBC.
70092         (fts_safe_changedir): Add a comment.
70093
70094 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70095
70096         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
70097         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
70098         Matthew Woehlke.
70099
70100         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
70101         definitions up, to avoid colliding with change below.
70102         (static_inline) [HAVE_INLINE]: New macro.
70103         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
70104         Provide extern decls when !HAVE_INLINE.  Do not define unless
70105         static_inline is defined, either by us or by xmalloc.c.  Use
70106         static_inline rather than static inline.
70107         (XCALLOC): Optimize sizeof(T) = 1 case.
70108         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
70109
70110 2006-11-07  Bruno Haible  <bruno@clisp.org>
70111
70112         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
70113         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
70114         AC_C_INLINE.
70115         * modules/xalloc (Files): Add m4/inline.m4.
70116
70117 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70118
70119         * README: Fix typo.
70120         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
70121         (Miscellanous Notes): ...from this.
70122
70123 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
70124
70125         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
70126         Mention that offsetof should be used instead of sizeof.
70127         From Bruno Haible.
70128
70129 2006-11-07  Bruno Haible  <bruno@clisp.org>
70130
70131         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
70132
70133 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70134
70135         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70136         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
70137         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70138         (gl_tree_add_before, gl_tree_add_after):
70139         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
70140         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
70141         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
70142         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
70143         (gl_linked_add_after, gl_linked_add_at): Likewise.
70144         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
70145         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
70146         (gl_tree_add_before, gl_tree_add_after): Likewise.
70147         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
70148         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
70149         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
70150
70151 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70152
70153         * lib/gl_oset.h: Use C comment style, not C++ comment style.
70154
70155 2006-11-06  Bruno Haible  <bruno@clisp.org>
70156
70157         * m4/inline.m4: New file.
70158         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
70159         * modules/list (Files): Add m4/inline.m4.
70160         * modules/oset (Files): Likewise.
70161
70162 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
70163
70164         * lib/idcache.c: Include <stddef.h>, for offsetof.
70165         (struct userid.name): Change from char * to a flexible array member.
70166         All uses changed.
70167         * modules/idcache (Depends-on): Add flexmember.
70168
70169         * MODULES.html.sh (Core language properties): New module flexmember.
70170         * modules/flexmember, m4/flexmember.m4: New files.
70171
70172         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
70173         inline functions that are identical with the old xnmalloc_inline,
70174         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
70175         that we can avoid some unnecessary integer multiplications and
70176         divisions in the common case where the element size is known at
70177         compile time.
70178         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
70179         needed.
70180         (xnboundedmalloc): Remove.
70181         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
70182         arguments, for consistency with rest of this header.
70183         (xcharalloc): Rewrite using XNMALLOC.
70184         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
70185         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
70186         versions have been moved to lib/xalloc.h and renamed to be the
70187         non-*_inline versions.
70188         (xmalloc, xrealloc): Implement without reference to the xnmalloc
70189         and xnrealloc functions, since those functions are now inline and
70190         now call us.
70191         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
70192         renaming described above.
70193         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
70194         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
70195         captures the dependency in AC_C_INLINE.
70196
70197         New module canonicalize-lgpl, proposed by Charles Wilson in
70198         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
70199         with a few small changes afterwards.
70200         * MODULES.html.sh (File system functions): New module
70201         canonicalize-lgpl.
70202         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
70203         and canonicalize_file_name.
70204         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
70205         * modules/canonicalize-lgpl: New files.
70206
70207 2006-11-05  Bruno Haible  <bruno@clisp.org>
70208
70209         * gnulib-tool (func_import, func_create_testdir): Create directories
70210         also for files in subdirectories of lib/.
70211
70212 2006-11-05  Bruno Haible  <bruno@clisp.org>
70213
70214         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
70215         ANSI C compliant.
70216
70217 2006-11-03  Bruno Haible  <bruno@clisp.org>
70218
70219         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
70220         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
70221         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
70222         (xnboundedmalloc): New inline function.
70223         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
70224         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
70225         xmalloc.
70226         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
70227         xmalloc.
70228         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
70229         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
70230         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
70231         xmalloc.
70232         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70233         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
70234         xmalloc.
70235         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
70236         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70237         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
70238         xmalloc.
70239         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
70240         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
70241         gl_tree_add_after): Use XMALLOC instead of xmalloc.
70242         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
70243         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
70244         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
70245         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
70246
70247 2006-11-03  Bruno Haible  <bruno@clisp.org>
70248
70249         * lib/c-ctype.h [C++]: Define functions without name mangling.
70250         * lib/fwriteerror.h [C++]: Likewise.
70251         * lib/gcd.h [C++]: Likewise.
70252         * lib/linebreak.h [C++]: Likewise.
70253
70254 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
70255
70256         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
70257         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
70258         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
70259         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
70260         Check for functions and headers just once.
70261         Check for declaration of canonicalize_file_name.
70262         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
70263
70264 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70265
70266         * gnulib-tool (func_import): Fix typo in actioncmd.
70267
70268 2006-11-02  Bruno Haible  <bruno@clisp.org>
70269
70270         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
70271         newline sequence in the Makefile.am snippet as a space, like "make"
70272         does.
70273         Reported by Roger Persson <perrog@gmail.com>.
70274
70275 2006-11-01  Bruno Haible  <bruno@clisp.org>
70276
70277         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
70278         already declared in <string.h>.
70279         * lib/strcase.h (strncasecmp): Don't declare it if yes.
70280
70281 2006-11-01  Bruno Haible  <bruno@clisp.org>
70282
70283         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
70284         * lib/strcase.h: Include <string.h>.
70285         (strcasecmp): Define to rpl_strcasecmp here.
70286
70287 2006-11-01  Bruno Haible  <bruno@clisp.org>
70288
70289         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
70290
70291 2006-11-01  Eric Blake  <ebb9@byu.net>
70292
70293         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
70294
70295         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
70296
70297 2006-10-29  Bruno Haible  <bruno@clisp.org>
70298
70299         Make it compile in C++ mode.
70300         * lib/full-write.c (full_rw): Add a cast.
70301
70302 2006-11-01  Bruno Haible  <bruno@clisp.org>
70303
70304         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
70305         be POSIX compliant.
70306         Reported by Roger Persson <perrog@gmail.com>.
70307
70308 2006-11-01  Eric Blake  <ebb9@byu.net>
70309
70310         * lib/getopt_.h: Fix comments.
70311
70312 2006-10-31  Eric Blake  <ebb9@byu.net>
70313
70314         * modules/tmpdir (Depends-on): Add sys_stat.
70315         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
70316         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
70317         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
70318         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
70319         tempname.
70320
70321 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
70322
70323         Avoid some C++ diagnostics reported by Bruno Haible.
70324         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
70325         xmalloc.
70326         (quotearg_alloc): Use xcharalloc rather than xmalloc.
70327         (struct slotvec): Move to top level.
70328         (quotearg_n_options): Rewrite to avoid xmalloc.
70329         * lib/xalloc.h (xcharalloc): New function.
70330         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
70331         [defined __cplusplus]: Add function template that provides result
70332         type propagation.  This part of the change is from Bruno Haible.
70333
70334 2006-10-29  Bruno Haible  <bruno@clisp.org>
70335
70336         Make it compile in C++ mode.
70337         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
70338         * lib/strnlen1.c (strnlen1): Cast memchr result.
70339         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
70340         * lib/clean-temp.c (string_equals, string_hash): Add casts.
70341         (create_temp_dir): Rename local variable 'template'.
70342         (compile_csharp_using_sscli): Add cast.
70343         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
70344         * lib/findprog.c (find_in_path): Likewise.
70345         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
70346         * lib/wait-process.c (register_slave_subprocess): Likewise.
70347
70348 2006-10-22  Bruno Haible  <bruno@clisp.org>
70349
70350         * modules/tsearch: New file.
70351         * lib/tsearch.h: New file.
70352         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
70353         * m4/tsearch.m4: New file.
70354         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
70355
70356 2006-10-29  Eric Blake  <ebb9@byu.net>
70357
70358         * lib/arcfour.c: Assume config.h.
70359         * lib/arctwo.c: Likewise.
70360         * lib/base64.c: Likewise.
70361         * lib/check-version.c: Likewise.
70362         * lib/crc.c: Likewise.
70363         * lib/des.c: Likewise.
70364         * lib/gc-gnulib.c: Likewise.
70365         * lib/gc-libgcrypt.c: Likewise.
70366         * lib/gc-pbkdf2-sha1.c: Likewise.
70367         * lib/getaddrinfo.c: Likewise.
70368         * lib/getdelim.c: Likewise.
70369         * lib/getline.c: Likewise.
70370         * lib/hmac-md5.c: Likewise.
70371         * lib/hmac-sha1.c: Likewise.
70372         * lib/iconvme.c: Likewise.
70373         * lib/md2.c: Likewise.
70374         * lib/md4.c: Likewise.
70375         * lib/memxor.c: Likewise.
70376         * lib/read-file.c: Likewise.
70377         * lib/readline.c: Likewise.
70378         * lib/rijndael-alg-fst.c: Likewise.
70379         * lib/rijndael-api-fst.c: Likewise.
70380         * lib/xgetdomainname.c: Likewise.
70381
70382 2006-10-28  Eric Blake  <ebb9@byu.net>
70383
70384         * lib/xstrndup.c: Assume config.h.
70385
70386 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
70387
70388         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
70389         stat-macros.h is now for our own macros, whereas stat_h is for
70390         macros in the <sys/stat.h> name space.
70391         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
70392         (STAT_MACROS_H): Remove.
70393         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
70394         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
70395         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
70396         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
70397         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
70398         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
70399         Move these macros to ...
70400         * lib/stat_.h: here.  Don't include stat-macros.h.
70401         * lib/canonicalize.c: Don't include stat-macros.h.
70402         * lib/chown.c: Likewise.
70403         * lib/euidaccess.c: Likewise.
70404         * lib/file-type.c: Likewise.
70405         * lib/filemode.c: Likewise.
70406         * lib/glob.c: Likewise.
70407         * lib/isapipe.c: Likewise.
70408         * lib/lchown.c: Likewise.
70409         * lib/lstat.c: Likewise.
70410         * lib/mkdir-p.c: Likewise.
70411         * lib/rmdir.c: Likewise.
70412         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
70413         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
70414         unless mkdir isn't declared, to speed up 'configure'.
70415         Always create sys/stat.h, since it's unlikely any real sys/stat.h
70416         would define all the S_* symbols.
70417         * modules/canonicalize (Depends-on):
70418         Depend on sys_stat, not stat-macros.
70419         * modules/chown: Likewise.
70420         * modules/euidaccess: Likewise.
70421         * modules/filemode: Likewise.
70422         * modules/file-type: Likewise.
70423         * modules/glob: Likewise.
70424         * modules/isapipe: Likewise.
70425         * modules/lchown: Likewise.
70426         * modules/lstat: Likewise.
70427         * modules/mkancesdirs: Likewise.
70428         * modules/rmdir: Likewise.
70429         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
70430         * modules/modechange: Likewise.
70431         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
70432         (configure.ac): Remove gl_STAT_MACROS.
70433         * modules/sys_stat (Depends-on): Remove stat-macros.
70434
70435 2006-10-27  Bruno Haible  <bruno@clisp.org>
70436
70437         * m4/signed.m4: Remove file.
70438         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
70439         invocation.
70440         * modules/vasnprintf (Files): Remove m4/signed.m4.
70441
70442 2006-10-27  Bruno Haible  <bruno@clisp.org>
70443
70444         Update to GNU gettext 0.16.
70445         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
70446         m4/inttypes-h.m4, m4/signed.m4.
70447         * m4/gettext.m4: Update to GNU gettext 0.16.
70448         * m4/intl.m4: New file, from GNU gettext.
70449         * m4/intldir.m4: New file, from GNU gettext.
70450         * config/srclist.txt: Update
70451
70452 2006-10-27  Eric Blake  <ebb9@byu.net>
70453
70454         * MODULES.html.sh: Document tempname.
70455         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
70456         dependencies.
70457         (Files): Move lib/tempname.c...
70458         * modules/tempname: ...to this new module.
70459         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
70460         (gl_PREREQ_TEMPNAME): Move...
70461         * m4/tempname.m4: ...to this new file.
70462         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
70463         * modules/sys_stat (Depends-on): Add stat-macros.
70464         * lib/stat_.h (includes): Pick up stat macros.
70465         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
70466         if stat macros are broken.
70467         * lib/tempname.c (includes): No need to include "stat-macros.h".
70468         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
70469         (direxists, __path_search) [!_LIBC]: Don't compile these in
70470         gnulib; the tmpdir module covers that.
70471         * lib/tempname.h: New file.
70472
70473 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
70474
70475         * COPYING: Explain how gnulib-tool converts licence headers.
70476         Almost all wording by Eric Blake.
70477
70478 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
70479
70480         * lib/mbchar.h (is_basic_table): Make read-only.
70481         * lib/mbchar.c (is_basic_table): Likewise.
70482         Reported by John Darrington.
70483
70484 2006-10-25  Bruno Haible  <bruno@clisp.org>
70485
70486         * lib/progname.h (set_program_name): Undefine before defining.
70487
70488 2006-10-25  Bruno Haible  <bruno@clisp.org>
70489
70490         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
70491         false for non-gcc C++ compilers.
70492         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
70493
70494 2006-10-24  Bruno Haible  <bruno@clisp.org>
70495
70496         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
70497         iconv implementations like Irix iconv.
70498
70499 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70500
70501         * modules/vararrays: New file.
70502         * m4/vararrays.m4: New file, taken from diffutils.
70503         * MODULES.html.sh: New module vararrays.
70504
70505 2006-10-24  Karl Berry  <karl@gnu.org>
70506
70507         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
70508         Don't call GNU Unix.
70509
70510 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70511
70512         * users.txt: Add Libtool.
70513
70514         Sync from Libtool:
70515
70516         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70517
70518         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
70519         to gnulib's policy of including config.h unconditionally.
70520
70521 2006-10-24  Bruno Haible  <bruno@clisp.org>
70522
70523         * modules/wcwidth (Files): Add m4/wint_t.m4.
70524         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
70525         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
70526
70527 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
70528
70529         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
70530         to pacify GCC with some -W flags enabled.  Problem reported by
70531         Bruno Haible.
70532
70533 2006-10-24  Jim Meyering  <jim@meyering.net>
70534
70535         * MODULES.html.sh: Remove uinttostr.  It's not a module.
70536         Reported by Karl Berry.
70537
70538 2006-10-23  Bruno Haible  <bruno@clisp.org>
70539
70540         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
70541
70542 2006-10-24  Bruno Haible  <bruno@clisp.org>
70543
70544         * lib/gl_list.h: Use C comment style, not C++ comment style.
70545
70546 2006-10-23  Eric Blake  <ebb9@byu.net>
70547
70548         * lib/getaddrinfo.c (includes): Add missing include.
70549
70550 2006-10-23  Bruno Haible  <bruno@clisp.org>
70551             Paul Eggert  <eggert@cs.ucla.edu>
70552
70553         Ability to rename obstack_free.
70554         * lib/obstack.h (__obstack_free): New macro. Declare instead of
70555         obstack_free.
70556         (obstack_free): Invoke the __obstack_free macro.
70557         * lib/obstack.c (obstack_free): Use __obstack_free macro.
70558
70559 2006-10-23  Bruno Haible  <bruno@clisp.org>
70560             Paul Eggert  <eggert@cs.ucla.edu>
70561
70562         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
70563         __argc, __argv from the declaration. (They are defined as macros on
70564         mingw.)
70565
70566 2006-10-22  Bruno Haible  <bruno@clisp.org>
70567
70568         * doc/gnulib-intro.texi: New file.
70569         * doc/gnulib.texi: Include it.
70570
70571 2006-10-21  Bruno Haible  <bruno@clisp.org>
70572
70573         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
70574         "Introduction", "Miscellanous Notes", "Particular Modules".
70575
70576 2006-10-21  Bruno Haible  <bruno@clisp.org>
70577
70578         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
70579         Change mostlyclean-local rule to avoid sh syntax error from bash
70580         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
70581
70582 2006-10-23  Jim Meyering  <jim@meyering.net>
70583
70584         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
70585         in place of snprintf.
70586
70587         * modules/inttostr (Files): Add lib/uinttostr.c.
70588         * lib/uinttostr.c (inttostr): New file/function.
70589         * lib/inttostr.h (uinttostr): Declare.
70590         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
70591         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
70592         Add uinttostr.
70593         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
70594
70595 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
70596
70597         * lib/canonicalize.c (ELOOP): Define if not already defined.
70598         Problem reported by Bruno Haible in
70599         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
70600
70601 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
70602
70603         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
70604         Problem reported by Perry Smith and Ville Laurikari.
70605
70606         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
70607         uses.
70608
70609 2006-10-19  Bruno Haible  <bruno@clisp.org>
70610
70611         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
70612         for mingw.
70613
70614 2006-10-19  Bruno Haible  <bruno@clisp.org>
70615
70616         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
70617         Needed for mingw.
70618
70619 2006-10-19  Bruno Haible  <bruno@clisp.org>
70620
70621         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
70622
70623 2006-10-19  Bruno Haible  <bruno@clisp.org>
70624
70625         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
70626         it.
70627
70628 2006-10-19  Bruno Haible  <bruno@clisp.org>
70629
70630         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
70631         invocation.
70632
70633 2006-10-19  Bruno Haible  <bruno@clisp.org>
70634
70635         * gnulib-tool (func_create_testdir): Don't include ftruncate and
70636         mountlist by default.
70637
70638 2006-10-16  Bruno Haible  <bruno@clisp.org>
70639
70640         * lib/c-strstr.c: Include c-strstr.h.
70641
70642 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
70643
70644         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
70645         in a slash.
70646
70647 2006-10-18  Bruno Haible  <bruno@clisp.org>
70648
70649         * lib/lock.h [C++]: Wrap definitions in extern "C".
70650
70651 2006-10-18  Bruno Haible  <bruno@clisp.org>
70652
70653         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
70654         gl_LIBOBJS list.
70655
70656 2006-10-18  Bruno Haible  <bruno@clisp.org>
70657
70658         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
70659
70660 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
70661
70662         * lib/xstrtol.h: Include gettext.h.
70663         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
70664         Problem reported by Eric Blake.
70665         * modules/xstrtol (Depends-on): Add gettext-h.
70666
70667 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
70668
70669         * lib/strftime.c (advance): New macro.
70670         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
70671         incomplete type, so you can't add 0 to it.  Problem and patch
70672         reported by Eelco Dolstra for dietlibc.
70673
70674 2006-10-18  Jim Meyering  <jim@meyering.net>
70675
70676         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
70677         type for a local, and rename it: s/up/user_proc/.
70678
70679 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
70680
70681         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
70682         READ_UTMP_USER_PROCESS.
70683         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
70684
70685 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
70686
70687         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
70688         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
70689
70690 2006-10-17  Eric Blake  <ebb9@byu.net>
70691
70692         * lib/sigprocmask.c (sigprocmask): Fix typo.
70693
70694         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
70695
70696         * modules/clean-temp (Makefile.am): Don't add to make output...
70697         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
70698         config.h.
70699
70700 2006-10-17  Bruno Haible  <bruno@clisp.org>
70701
70702         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
70703         differently if DEFAULT_TEXT_DOMAIN is set.
70704
70705 2006-10-16  Bruno Haible  <bruno@clisp.org>
70706
70707         * lib/clean-temp.c: Include fwriteerror.h.
70708
70709 2006-10-16  Bruno Haible  <bruno@clisp.org>
70710
70711         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
70712
70713 2006-10-16  Bruno Haible  <bruno@clisp.org>
70714
70715         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
70716         * lib/sigprocmask.h: Include <sys/types.h>.
70717         (sigset_t): Use the system's definition if present.
70718
70719 2006-10-17  Eric Blake  <ebb9@byu.net>
70720
70721         * lib/xvasprintf.c (includes): Assume config.h.
70722         * lib/xasprintf.c (includes): Likewise.
70723
70724 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
70725
70726         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
70727         at least as wide as intmax_t.
70728
70729 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
70730
70731         (Imported from Automake.)
70732         * build-aux/gnupload: Update to version 1.1 of directive file.
70733
70734 2006-10-16  Eric Blake  <ebb9@byu.net>
70735
70736         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
70737         match Automake 1.10a.
70738
70739 2006-10-14  Bruno Haible  <bruno@clisp.org>
70740
70741         * modules/sigprocmask: New file.
70742         * lib/sigprocmask.h: New file.
70743         * lib/sigprocmask.c: New file.
70744         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
70745         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
70746         request sigprocmask.o.
70747         (gl_PREREQ_SIGPROCMASK): New macro.
70748         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
70749         (Depends-on): Add sigprocmask.
70750         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
70751         gt_SIGNALBLOCKING. Test for 'raise' only once.
70752         * lib/fatal-signal.c: Include sigprocmask.h.
70753         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
70754         unblock_fatal_signals): Define always.
70755         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
70756         sigprocmask.
70757
70758 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
70759
70760         Sync from Automake.
70761         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
70762         which incorrectly sets the mode of an existing destination
70763         directory.  In some cases the unpatched install-sh could do the
70764         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
70765         system.  We hope this is rare in practice, but it's clearly worth
70766         fixing.  Problem reported by Alex Unleashed in
70767         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
70768         Also, don't bother to check for -m bugs unless we're using -m;
70769         suggested by Stepan Kasal.
70770
70771 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70772
70773         Sync from Automake.
70774         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
70775         `-c' flag, so they appear at the same position as in %FASTDEP%
70776         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
70777         which ignores unknown options only after the first non-option.
70778         Bug report against M4 by Nelson H. F. Beebe.
70779
70780 2006-10-13  Jim Meyering  <jim@meyering.net>
70781
70782         Fix a bug in yesterday's change.
70783         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
70784         p->fts_statp->st_dev would be used uninitialized.
70785         Ensures that we always call fts_stat on the very first entry.
70786         Miklos Szeredi reported that find -xdev stopped working.
70787
70788 2006-10-12  Bruno Haible  <bruno@clisp.org>
70789
70790         * gnulib-tool (func_get_automake_snippet): Append an automatically
70791         computed EXTRA_DIST augmentation.
70792         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
70793         * modules/alloca-opt (Makefile.am): Likewise.
70794         * modules/allocsa (Makefile.am): Likewise.
70795         * modules/arcfour (Makefile.am): Likewise.
70796         * modules/arctwo (Makefile.am): Likewise.
70797         * modules/argmatch (Makefile.am): Likewise.
70798         * modules/argz (Makefile.am): Likewise.
70799         * modules/atexit (Makefile.am): Likewise.
70800         * modules/backupfile (Makefile.am): Likewise.
70801         * modules/byteswap (Makefile.am): Likewise.
70802         * modules/c-strtod (Makefile.am): Likewise.
70803         * modules/c-strtold (Makefile.am): Likewise.
70804         * modules/calloc (Makefile.am): Likewise.
70805         * modules/canon-host (Makefile.am): Likewise.
70806         * modules/canonicalize (Makefile.am): Likewise.
70807         * modules/chdir-long (Makefile.am): Likewise.
70808         * modules/chdir-safer (Makefile.am): Likewise.
70809         * modules/check-version (Makefile.am): Likewise.
70810         * modules/chown (Makefile.am): Likewise.
70811         * modules/cloexec (Makefile.am): Likewise.
70812         * modules/close-stream (Makefile.am): Likewise.
70813         * modules/closeout (Makefile.am): Likewise.
70814         * modules/crc (Makefile.am): Likewise.
70815         * modules/csharpexec (Makefile.am): Likewise.
70816         * modules/cycle-check (Makefile.am): Likewise.
70817         * modules/des (Makefile.am): Likewise.
70818         * modules/dev-ino (Makefile.am): Likewise.
70819         * modules/dirfd (Makefile.am): Likewise.
70820         * modules/dirname (Makefile.am): Likewise.
70821         * modules/dup2 (Makefile.am): Likewise.
70822         * modules/eealloc (Makefile.am): Likewise.
70823         * modules/error (Makefile.am): Likewise.
70824         * modules/euidaccess (Makefile.am): Likewise.
70825         * modules/exclude (Makefile.am): Likewise.
70826         * modules/exitfail (Makefile.am): Likewise.
70827         * modules/fcntl-safer (Makefile.am): Likewise.
70828         * modules/fcntl (Makefile.am): Likewise.
70829         * modules/file-type (Makefile.am): Likewise.
70830         * modules/fileblocks (Makefile.am): Likewise.
70831         * modules/filemode (Makefile.am): Likewise.
70832         * modules/filenamecat (Makefile.am): Likewise.
70833         * modules/fnmatch (Makefile.am): Likewise.
70834         * modules/fopen-safer (Makefile.am): Likewise.
70835         * modules/fpending (Makefile.am): Likewise.
70836         * modules/fprintftime (Makefile.am): Likewise.
70837         * modules/free (Makefile.am): Likewise.
70838         * modules/fsusage (Makefile.am): Likewise.
70839         * modules/ftruncate (Makefile.am): Likewise.
70840         * modules/fts (Makefile.am): Likewise.
70841         * modules/gc-arcfour (Makefile.am): Likewise.
70842         * modules/gc-des (Makefile.am): Likewise.
70843         * modules/gc-hmac-md5 (Makefile.am): Likewise.
70844         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
70845         * modules/gc-md4 (Makefile.am): Likewise.
70846         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
70847         * modules/gc-sha1 (Makefile.am): Likewise.
70848         * modules/gc (Makefile.am): Likewise.
70849         * modules/getaddrinfo (Makefile.am): Likewise.
70850         * modules/getcwd (Makefile.am): Likewise.
70851         * modules/getdelim (Makefile.am): Likewise.
70852         * modules/getdomainname (Makefile.am): Likewise.
70853         * modules/getgroups (Makefile.am): Likewise.
70854         * modules/gethostname (Makefile.am): Likewise.
70855         * modules/gethrxtime (Makefile.am): Likewise.
70856         * modules/getline (Makefile.am): Likewise.
70857         * modules/getloadavg (Makefile.am): Likewise.
70858         * modules/getlogin_r (Makefile.am): Likewise.
70859         * modules/getndelim2 (Makefile.am): Likewise.
70860         * modules/getopt (Makefile.am): Likewise.
70861         * modules/getpagesize (Makefile.am): Likewise.
70862         * modules/getpass-gnu (Makefile.am): Likewise.
70863         * modules/getpass (Makefile.am): Likewise.
70864         * modules/getsubopt (Makefile.am): Likewise.
70865         * modules/gettime (Makefile.am): Likewise.
70866         * modules/gettimeofday (Makefile.am): Likewise.
70867         * modules/getugroups (Makefile.am): Likewise.
70868         * modules/getusershell (Makefile.am): Likewise.
70869         * modules/glob (Makefile.am): Likewise.
70870         * modules/group-member (Makefile.am): Likewise.
70871         * modules/hard-locale (Makefile.am): Likewise.
70872         * modules/hash (Makefile.am): Likewise.
70873         * modules/hmac-md5 (Makefile.am): Likewise.
70874         * modules/hmac-sha1 (Makefile.am): Likewise.
70875         * modules/human (Makefile.am): Likewise.
70876         * modules/idcache (Makefile.am): Likewise.
70877         * modules/imaxabs (Makefile.am): Likewise.
70878         * modules/imaxdiv (Makefile.am): Likewise.
70879         * modules/inet_ntop (Makefile.am): Likewise.
70880         * modules/inet_pton (Makefile.am): Likewise.
70881         * modules/intprops (Makefile.am): Likewise.
70882         * modules/inttostr (Makefile.am): Likewise.
70883         * modules/inttypes (Makefile.am): Likewise.
70884         * modules/isapipe (Makefile.am): Likewise.
70885         * modules/javaversion (Makefile.am): Likewise.
70886         * modules/lchmod (Makefile.am): Likewise.
70887         * modules/lchown (Makefile.am): Likewise.
70888         * modules/localcharset (Makefile.am): Likewise.
70889         * modules/long-options (Makefile.am): Likewise.
70890         * modules/lstat (Makefile.am): Likewise.
70891         * modules/malloc (Makefile.am): Likewise.
70892         * modules/mathl (Makefile.am): Likewise.
70893         * modules/mbchar (Makefile.am): Likewise.
70894         * modules/md2 (Makefile.am): Likewise.
70895         * modules/md4 (Makefile.am): Likewise.
70896         * modules/md5 (Makefile.am): Likewise.
70897         * modules/memcasecmp (Makefile.am): Likewise.
70898         * modules/memchr (Makefile.am): Likewise.
70899         * modules/memcmp (Makefile.am): Likewise.
70900         * modules/memcoll (Makefile.am): Likewise.
70901         * modules/memcpy (Makefile.am): Likewise.
70902         * modules/memmem (Makefile.am): Likewise.
70903         * modules/memmove (Makefile.am): Likewise.
70904         * modules/mempcpy (Makefile.am): Likewise.
70905         * modules/memrchr (Makefile.am): Likewise.
70906         * modules/memset (Makefile.am): Likewise.
70907         * modules/memxor (Makefile.am): Likewise.
70908         * modules/mkancesdirs (Makefile.am): Likewise.
70909         * modules/mkdir-p (Makefile.am): Likewise.
70910         * modules/mkdir (Makefile.am): Likewise.
70911         * modules/mkdtemp (Makefile.am): Likewise.
70912         * modules/mkstemp (Makefile.am): Likewise.
70913         * modules/mktime (Makefile.am): Likewise.
70914         * modules/modechange (Makefile.am): Likewise.
70915         * modules/mountlist (Makefile.am): Likewise.
70916         * modules/nanosleep (Makefile.am): Likewise.
70917         * modules/obstack (Makefile.am): Likewise.
70918         * modules/openat (Makefile.am): Likewise.
70919         * modules/pagealign_alloc (Makefile.am): Likewise.
70920         * modules/pathmax (Makefile.am): Likewise.
70921         * modules/physmem (Makefile.am): Likewise.
70922         * modules/poll (Makefile.am): Likewise.
70923         * modules/posixtm (Makefile.am): Likewise.
70924         * modules/posixver (Makefile.am): Likewise.
70925         * modules/putenv (Makefile.am): Likewise.
70926         * modules/quote (Makefile.am): Likewise.
70927         * modules/quotearg (Makefile.am): Likewise.
70928         * modules/raise (Makefile.am): Likewise.
70929         * modules/read-file (Makefile.am): Likewise.
70930         * modules/readline (Makefile.am): Likewise.
70931         * modules/readlink (Makefile.am): Likewise.
70932         * modules/readtokens (Makefile.am): Likewise.
70933         * modules/readutmp (Makefile.am): Likewise.
70934         * modules/realloc (Makefile.am): Likewise.
70935         * modules/regex (Makefile.am): Likewise.
70936         * modules/rename-dest-slash (Makefile.am): Likewise.
70937         * modules/rename (Makefile.am): Likewise.
70938         * modules/rijndael (Makefile.am): Likewise.
70939         * modules/rmdir (Makefile.am): Likewise.
70940         * modules/rpmatch (Makefile.am): Likewise.
70941         * modules/safe-read (Makefile.am): Likewise.
70942         * modules/safe-write (Makefile.am): Likewise.
70943         * modules/same-inode (Makefile.am): Likewise.
70944         * modules/same (Makefile.am): Likewise.
70945         * modules/save-cwd (Makefile.am): Likewise.
70946         * modules/savedir (Makefile.am): Likewise.
70947         * modules/setenv (Makefile.am): Likewise.
70948         * modules/settime (Makefile.am): Likewise.
70949         * modules/sha1 (Makefile.am): Likewise.
70950         * modules/sig2str (Makefile.am): Likewise.
70951         * modules/snprintf (Makefile.am): Likewise.
70952         * modules/stat-macros (Makefile.am): Likewise.
70953         * modules/stat-time (Makefile.am): Likewise.
70954         * modules/stdbool (Makefile.am): Likewise.
70955         * modules/stdint (Makefile.am): Likewise.
70956         * modules/stdlib-safer (Makefile.am): Likewise.
70957         * modules/stpcpy (Makefile.am): Likewise.
70958         * modules/stpncpy (Makefile.am): Likewise.
70959         * modules/strcase (Makefile.am): Likewise.
70960         * modules/strcasestr (Makefile.am): Likewise.
70961         * modules/strchrnul (Makefile.am): Likewise.
70962         * modules/strcspn (Makefile.am): Likewise.
70963         * modules/strdup (Makefile.am): Likewise.
70964         * modules/strerror (Makefile.am): Likewise.
70965         * modules/strftime (Makefile.am): Likewise.
70966         * modules/strndup (Makefile.am): Likewise.
70967         * modules/strnlen (Makefile.am): Likewise.
70968         * modules/strpbrk (Makefile.am): Likewise.
70969         * modules/strsep (Makefile.am): Likewise.
70970         * modules/strstr (Makefile.am): Likewise.
70971         * modules/strtod (Makefile.am): Likewise.
70972         * modules/strtoimax (Makefile.am): Likewise.
70973         * modules/strtok_r (Makefile.am): Likewise.
70974         * modules/strtol (Makefile.am): Likewise.
70975         * modules/strtoll (Makefile.am): Likewise.
70976         * modules/strtoul (Makefile.am): Likewise.
70977         * modules/strtoull (Makefile.am): Likewise.
70978         * modules/strtoumax (Makefile.am): Likewise.
70979         * modules/strverscmp (Makefile.am): Likewise.
70980         * modules/sys_socket (Makefile.am): Likewise.
70981         * modules/sys_stat (Makefile.am): Likewise.
70982         * modules/sysexits (Makefile.am): Likewise.
70983         * modules/time_r (Makefile.am): Likewise.
70984         * modules/timegm (Makefile.am): Likewise.
70985         * modules/timespec (Makefile.am): Likewise.
70986         * modules/tmpfile-safer (Makefile.am): Likewise.
70987         * modules/trim (Makefile.am): Likewise.
70988         * modules/unistd-safer (Makefile.am): Likewise.
70989         * modules/unlinkdir (Makefile.am): Likewise.
70990         * modules/unlocked-io (Makefile.am): Likewise.
70991         * modules/userspec (Makefile.am): Likewise.
70992         * modules/utime (Makefile.am): Likewise.
70993         * modules/utimecmp (Makefile.am): Likewise.
70994         * modules/utimens (Makefile.am): Likewise.
70995         * modules/vasnprintf (Makefile.am): Likewise.
70996         * modules/vasprintf (Makefile.am): Likewise.
70997         * modules/vsnprintf (Makefile.am): Likewise.
70998         * modules/xalloc (Makefile.am): Likewise.
70999         * modules/xgetcwd (Makefile.am): Likewise.
71000         * modules/xnanosleep (Makefile.am): Likewise.
71001         * modules/xreadlink (Makefile.am): Likewise.
71002         * modules/xstrtod (Makefile.am): Likewise.
71003         * modules/xstrtol (Makefile.am): Likewise.
71004         * modules/xstrtold (Makefile.am): Likewise.
71005         * modules/yesno (Makefile.am): Likewise.
71006         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
71007
71008 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
71009
71010         * modules/error (Makefile.am): Distribute files through
71011         EXTRA_DIST, not lib_SOURCES.
71012
71013 2006-10-12  Eric Blake  <ebb9@byu.net>
71014
71015         * modules/error (Makefile.am): Distribute files in /lib.
71016         * modules/obstack (Makefile.am): Likewise.
71017
71018 2006-10-12  Bruno Haible  <bruno@clisp.org>
71019
71020         * modules/acl (Makefile.am): Distribute all files in lib/ through
71021         EXTRA_DIST.
71022         * modules/arcfour (Makefile.am): Likewise.
71023         * modules/arctwo (Makefile.am): Likewise.
71024         * modules/argmatch (Makefile.am): Likewise.
71025         * modules/argz (Makefile.am): Likewise.
71026         * modules/atexit (Makefile.am): Likewise.
71027         * modules/backupfile (Makefile.am): Likewise.
71028         * modules/c-strtod (Makefile.am): Likewise.
71029         * modules/c-strtold (Makefile.am): Likewise.
71030         * modules/calloc (Makefile.am): Likewise.
71031         * modules/canon-host (Makefile.am): Likewise.
71032         * modules/canonicalize (Makefile.am): Likewise.
71033         * modules/chdir-long (Makefile.am): Likewise.
71034         * modules/chdir-safer (Makefile.am): Likewise.
71035         * modules/check-version (Makefile.am): Likewise.
71036         * modules/chown (Makefile.am): Likewise.
71037         * modules/cloexec (Makefile.am): Likewise.
71038         * modules/close-stream (Makefile.am): Likewise.
71039         * modules/closeout (Makefile.am): Likewise.
71040         * modules/crc (Makefile.am): Likewise.
71041         * modules/cycle-check (Makefile.am): Likewise.
71042         * modules/des (Makefile.am): Likewise.
71043         * modules/dirfd (Makefile.am): Likewise.
71044         * modules/dirname (Makefile.am): Likewise.
71045         * modules/dup2 (Makefile.am): Likewise.
71046         * modules/euidaccess (Makefile.am): Likewise.
71047         * modules/exclude (Makefile.am): Likewise.
71048         * modules/exitfail (Makefile.am): Likewise.
71049         * modules/fcntl-safer (Makefile.am): Likewise.
71050         * modules/file-type (Makefile.am): Likewise.
71051         * modules/fileblocks (Makefile.am): Likewise.
71052         * modules/filemode (Makefile.am): Likewise.
71053         * modules/filenamecat (Makefile.am): Likewise.
71054         * modules/fnmatch (Makefile.am): Likewise.
71055         * modules/fopen-safer (Makefile.am): Likewise.
71056         * modules/fpending (Makefile.am): Likewise.
71057         * modules/fprintftime (Makefile.am): Likewise.
71058         * modules/free (Makefile.am): Likewise.
71059         * modules/fsusage (Makefile.am): Likewise.
71060         * modules/ftruncate (Makefile.am): Likewise.
71061         * modules/fts (Makefile.am): Likewise.
71062         * modules/gc (Makefile.am): Likewise.
71063         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
71064         * modules/getaddrinfo (Makefile.am): Likewise.
71065         * modules/getcwd (Makefile.am): Likewise.
71066         * modules/getdelim (Makefile.am): Likewise.
71067         * modules/getdomainname (Makefile.am): Likewise.
71068         * modules/getgroups (Makefile.am): Likewise.
71069         * modules/gethostname (Makefile.am): Likewise.
71070         * modules/gethrxtime (Makefile.am): Likewise.
71071         * modules/getline (Makefile.am): Likewise.
71072         * modules/getloadavg (Makefile.am): Likewise.
71073         * modules/getlogin_r (Makefile.am): Likewise.
71074         * modules/getopt (Makefile.am): Likewise.
71075         * modules/getpass (Makefile.am): Likewise.
71076         * modules/getpass-gnu (Makefile.am): Likewise.
71077         * modules/getsubopt (Makefile.am): Likewise.
71078         * modules/gettime (Makefile.am): Likewise.
71079         * modules/gettimeofday (Makefile.am): Likewise.
71080         * modules/getugroups (Makefile.am): Likewise.
71081         * modules/getusershell (Makefile.am): Likewise.
71082         * modules/glob (Makefile.am): Likewise.
71083         * modules/group-member (Makefile.am): Likewise.
71084         * modules/hard-locale (Makefile.am): Likewise.
71085         * modules/hash (Makefile.am): Likewise.
71086         * modules/hmac-md5 (Makefile.am): Likewise.
71087         * modules/hmac-sha1 (Makefile.am): Likewise.
71088         * modules/human (Makefile.am): Likewise.
71089         * modules/idcache (Makefile.am): Likewise.
71090         * modules/imaxabs (Makefile.am): Likewise.
71091         * modules/imaxdiv (Makefile.am): Likewise.
71092         * modules/inet_ntop (Makefile.am): Likewise.
71093         * modules/inet_pton (Makefile.am): Likewise.
71094         * modules/inttostr (Makefile.am): Likewise.
71095         * modules/isapipe (Makefile.am): Likewise.
71096         * modules/lchown (Makefile.am): Likewise.
71097         * modules/long-options (Makefile.am): Likewise.
71098         * modules/lstat (Makefile.am): Likewise.
71099         * modules/malloc (Makefile.am): Likewise.
71100         * modules/mathl (Makefile.am): Likewise.
71101         * modules/mbchar (Makefile.am): Likewise.
71102         * modules/md2 (Makefile.am): Likewise.
71103         * modules/md4 (Makefile.am): Likewise.
71104         * modules/md5 (Makefile.am): Likewise.
71105         * modules/memcasecmp (Makefile.am): Likewise.
71106         * modules/memchr (Makefile.am): Likewise.
71107         * modules/memcmp (Makefile.am): Likewise.
71108         * modules/memcoll (Makefile.am): Likewise.
71109         * modules/memcpy (Makefile.am): Likewise.
71110         * modules/memmem (Makefile.am): Likewise.
71111         * modules/memmove (Makefile.am): Likewise.
71112         * modules/mempcpy (Makefile.am): Likewise.
71113         * modules/memrchr (Makefile.am): Likewise.
71114         * modules/memset (Makefile.am): Likewise.
71115         * modules/memxor (Makefile.am): Likewise.
71116         * modules/mkancesdirs (Makefile.am): Likewise.
71117         * modules/mkdir (Makefile.am): Likewise.
71118         * modules/mkdir-p (Makefile.am): Likewise.
71119         * modules/mkdtemp (Makefile.am): Likewise.
71120         * modules/mkstemp (Makefile.am): Likewise.
71121         * modules/mktime (Makefile.am): Likewise.
71122         * modules/modechange (Makefile.am): Likewise.
71123         * modules/mountlist (Makefile.am): Likewise.
71124         * modules/nanosleep (Makefile.am): Likewise.
71125         * modules/openat (Makefile.am): Likewise.
71126         * modules/pagealign_alloc (Makefile.am): Likewise.
71127         * modules/physmem (Makefile.am): Likewise.
71128         * modules/poll (Makefile.am): Likewise.
71129         * modules/posixtm (Makefile.am): Likewise.
71130         * modules/posixver (Makefile.am): Likewise.
71131         * modules/putenv (Makefile.am): Likewise.
71132         * modules/quote (Makefile.am): Likewise.
71133         * modules/quotearg (Makefile.am): Likewise.
71134         * modules/raise (Makefile.am): Likewise.
71135         * modules/read-file (Makefile.am): Likewise.
71136         * modules/readline (Makefile.am): Likewise.
71137         * modules/readlink (Makefile.am): Likewise.
71138         * modules/readtokens (Makefile.am): Likewise.
71139         * modules/readutmp (Makefile.am): Likewise.
71140         * modules/realloc (Makefile.am): Likewise.
71141         * modules/regex (Makefile.am): Likewise.
71142         * modules/rename (Makefile.am): Likewise.
71143         * modules/rename-dest-slash (Makefile.am): Likewise.
71144         * modules/rijndael (Makefile.am): Likewise.
71145         * modules/rmdir (Makefile.am): Likewise.
71146         * modules/rpmatch (Makefile.am): Likewise.
71147         * modules/safe-read (Makefile.am): Likewise.
71148         * modules/safe-write (Makefile.am): Likewise.
71149         * modules/same (Makefile.am): Likewise.
71150         * modules/save-cwd (Makefile.am): Likewise.
71151         * modules/savedir (Makefile.am): Likewise.
71152         * modules/setenv (Makefile.am): Likewise.
71153         * modules/settime (Makefile.am): Likewise.
71154         * modules/sha1 (Makefile.am): Likewise.
71155         * modules/sig2str (Makefile.am): Likewise.
71156         * modules/snprintf (Makefile.am): Likewise.
71157         * modules/stdlib-safer (Makefile.am): Likewise.
71158         * modules/stpcpy (Makefile.am): Likewise.
71159         * modules/stpncpy (Makefile.am): Likewise.
71160         * modules/strcase (Makefile.am): Likewise.
71161         * modules/strcasestr (Makefile.am): Likewise.
71162         * modules/strchrnul (Makefile.am): Likewise.
71163         * modules/strcspn (Makefile.am): Likewise.
71164         * modules/strdup (Makefile.am): Likewise.
71165         * modules/strerror (Makefile.am): Likewise.
71166         * modules/strftime (Makefile.am): Likewise.
71167         * modules/strndup (Makefile.am): Likewise.
71168         * modules/strnlen (Makefile.am): Likewise.
71169         * modules/strpbrk (Makefile.am): Likewise.
71170         * modules/strsep (Makefile.am): Likewise.
71171         * modules/strstr (Makefile.am): Likewise.
71172         * modules/strtod (Makefile.am): Likewise.
71173         * modules/strtoimax (Makefile.am): Likewise.
71174         * modules/strtok_r (Makefile.am): Likewise.
71175         * modules/strtol (Makefile.am): Likewise.
71176         * modules/strtoll (Makefile.am): Likewise.
71177         * modules/strtoul (Makefile.am): Likewise.
71178         * modules/strtoull (Makefile.am): Likewise.
71179         * modules/strtoumax (Makefile.am): Likewise.
71180         * modules/strverscmp (Makefile.am): Likewise.
71181         * modules/time_r (Makefile.am): Likewise.
71182         * modules/timegm (Makefile.am): Likewise.
71183         * modules/tmpfile-safer (Makefile.am): Likewise.
71184         * modules/unistd-safer (Makefile.am): Likewise.
71185         * modules/unlinkdir (Makefile.am): Likewise.
71186         * modules/userspec (Makefile.am): Likewise.
71187         * modules/utime (Makefile.am): Likewise.
71188         * modules/utimecmp (Makefile.am): Likewise.
71189         * modules/utimens (Makefile.am): Likewise.
71190         * modules/vasnprintf (Makefile.am): Likewise.
71191         * modules/vasprintf (Makefile.am): Likewise.
71192         * modules/vsnprintf (Makefile.am): Likewise.
71193         * modules/xalloc (Makefile.am): Likewise.
71194         * modules/xgetcwd (Makefile.am): Likewise.
71195         * modules/xnanosleep (Makefile.am): Likewise.
71196         * modules/xreadlink (Makefile.am): Likewise.
71197         * modules/xstrtod (Makefile.am): Likewise.
71198         * modules/xstrtol (Makefile.am): Likewise.
71199         * modules/xstrtold (Makefile.am): Likewise.
71200         * modules/yesno (Makefile.am): Likewise.
71201
71202 2006-10-12  Jim Meyering  <jim@meyering.net>
71203
71204         * m4/getloadavg.m4: Revert the change below.
71205
71206         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
71207         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
71208         fail with a symlink, which is what coreutils' ./bootstrap now
71209         creates by default.
71210
71211 2006-10-12  Bruno Haible  <bruno@clisp.org>
71212
71213         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
71214         mingw.
71215         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
71216         MSVC and mingw explicitly.
71217
71218 2006-10-11  Simon Josefsson  <jas@extundo.com>
71219             Bruno Haible  <bruno@clisp.org>
71220
71221         Add support for multiple gnulib-tool invocations in the scope of a
71222         single configure.ac file.
71223         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
71224         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
71225         with the same contents as the _LIBADD variable.
71226         (func_emit_initmacro_start, func_emit_initmacro_end,
71227         func_emit_initmacro_done): New functions.
71228         (func_import, func_create_testdir): Invoke them. Allow the identifiers
71229         gl_LIBOBJS and gl_LTLIBOBJS.
71230
71231 2006-10-11  Bruno Haible  <bruno@clisp.org>
71232
71233         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
71234         (func_create_testdir): Don't create po/Makefile.am, don't invoke
71235         autoreconf. Instead, invoke autopoint explicitly but move back the
71236         *.m4 files from gnulib.
71237
71238 2006-10-11  Bruno Haible  <bruno@clisp.org>
71239
71240         * gnulib-tool (func_usage): Make module names after --create-testdir
71241         optional.
71242         (func_create_testdir): If no module was specified, use nearly all
71243         modules.
71244
71245 2006-10-12  Jim Meyering  <jim@meyering.net>
71246
71247         Big performance improvement for fts-based tools that use FTS_NOSTAT.
71248         Avoid spurious inode-mismatch problems on non-POSIX file systems.
71249         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
71250         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
71251         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
71252         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
71253         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
71254         (fts_set_stat_required): New function.
71255         (fts_open): Defer the calls to fts_stat, if possible or requested.
71256         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
71257         into fts_stat itself.
71258         (fts_read): Perform any required (deferred) fts_stat call.
71259         (fts_build): Likewise, for the directory we're about to open and read.
71260         In the readdir loop, carefully decide whether each entry will require
71261         an eventual call to fts_stat, using dirent.d_type info if available.
71262         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
71263         a command line argument into this function.  Update all callers.
71264         Map a return value of FTS_DOT to FTS_D for a command line argument.
71265         * modules/fts (Depends-on): Add d-type.  Alphabetize.
71266         Thanks to Miklos Szeredi for his tenacity and for the initial
71267         bug report about "find" failing on a FUSE-based file system.
71268
71269         * lib/fts.c (fts_open): Use consistent indentation.
71270
71271 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
71272
71273         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
71274         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
71275         reported by Jim Meyering.  All uses of cache variables renamed
71276         to match Autoconf's.
71277         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
71278         the other one.
71279
71280         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
71281         Fix misspelling in diagnostic.
71282
71283 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71284
71285         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
71286         defined.  Problem reported by Matthew Woehlke.
71287
71288         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
71289         Add support for Tandem NonStop R series.
71290         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
71291         Use new macro.
71292
71293         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
71294         (has_trailing_slash): Omit size arg; all callers changed.
71295         Omit 'inline', since it doesn't help performance and we'd
71296         need to configure it.
71297         Don't count //, ///, etc. as having a trailing slash.
71298         As a side effect, this removes a C99ism reported by Matthew Woehlke.
71299         (rpl_rename_dest_slash): On failure, use rename's errno rather
71300         than (in some cases) an incorrect or junk errno.
71301         Simplify code by removing need to compute length; this does
71302         cause it to make two passes instead of one over the file name,
71303         but it's worth it.
71304
71305         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
71306         change, since Autoconf's version may no longer be appropriate now
71307         that we are using CVS Autoconf's version.  Add support for Tandem.
71308
71309 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
71310             Bruno Haible  <bruno@clisp.org>
71311
71312         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
71313         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
71314         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
71315         gl_AC_TYPE_LONG_LONG.
71316
71317         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
71318         instead of HAVE_LONG_LONG.
71319         * lib/printf-args.c (printf_fetchargs): Likewise.
71320         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
71321         * lib/vasnprintf.c (VASNPRINTF): Likewise.
71322         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
71323         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
71324         gl_AC_TYPE_LONG_LONG.
71325
71326 2006-10-11  Bruno Haible  <bruno@clisp.org>
71327
71328         * m4/longlong.m4: Add comments.
71329         * m4/ulonglong.m4: Likewise.
71330
71331 2006-10-10  Bruno Haible  <bruno@clisp.org>
71332
71333         Make it possible to #define stpcpy, strdup to aliases.
71334         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
71335         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
71336
71337 2006-10-10  Bruno Haible  <bruno@clisp.org>
71338
71339         Make it possible to #define gcd to an alias.
71340         * lib/gcd.c: Include config.h.
71341
71342 2006-10-10  Bruno Haible  <bruno@clisp.org>
71343
71344         Make it possible to #define c_isascii to an alias.
71345         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
71346         defined. Undefine the macros before defining them, to avoid gcc
71347         warnings.
71348         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
71349         define NO_C_CTYPE_MACROS early.
71350
71351 2006-10-10  Bruno Haible  <bruno@clisp.org>
71352
71353         Make it possible to #define set_program_name to an alias.
71354         * lib/progname.c: Don't undefine set_program_name; instead, undefine
71355         ENABLE_RELOCATABLE early.
71356
71357 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
71358
71359         Port to Tandem NSK OSS, which has 64-bit signed int but at most
71360         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
71361         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
71362         More generally, don't assume that 64-bit signed int is available
71363         if unsigned int is, and vice versa.
71364         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
71365         unsigned symbols, not on their signed counterparts.
71366         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
71367         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
71368         (UINT64_C, UINTMAX_C):
71369         Likewise.
71370         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
71371         unsigned counterparts.
71372         (Have_long_long, Unsigned): New macros.
71373         (Int): Renamed from INT.
71374         (strtoimax): Use the new macros.
71375         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
71376         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
71377         * modules/inttypes (inttypes.h): Substitute
71378         HAVE_UNSIGNED_LONG_LONG_INT.
71379         * modules/stdint (stdint.h): Likewise.
71380         (Files): Add m4/ulonglong.m4.
71381
71382 2006-10-10  Bruno Haible  <bruno@clisp.org>
71383
71384         Fix a gcc -Wshadow warning.
71385         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
71386         to 'bucket'.
71387         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
71388         gl_linked_indexof_from_to): Likewise.
71389         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
71390         Likewise.
71391         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
71392         Likewise.
71393         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
71394         Reported by Eric Blake.
71395
71396 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
71397
71398         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
71399         for NetBSD.  Problem reported by Bruno Haible.
71400
71401 2006-10-09  Jim Meyering  <jim@meyering.net>
71402
71403         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
71404         Patch from Bruno Haible.
71405
71406 2006-10-09  Jim Meyering  <jim@meyering.net>
71407
71408         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
71409         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
71410         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
71411
71412 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
71413
71414         Don't include <config.h> twice; this doesn't work in some cases,
71415         e.g., when config.h has "#define intmax_t long long int" and
71416         we include <config.h>, <inttypes.h>, <config.h> in that order.
71417         Problem reported by Matthew Woehlke in:
71418         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
71419         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
71420         * lib/fts-cycle.c: Don't include config.h.
71421         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
71422         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
71423         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
71424         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
71425         inttypes.h.
71426         * lib/xstrtoumax.c: Likewise.
71427         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
71428         __strtol and the like, so that this module is more like its siblings.
71429         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
71430         Remove; no longer needed now that we assume gnulib inttypes.h.
71431
71432 2006-10-08  Bruno Haible  <bruno@clisp.org>
71433
71434         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
71435         option.
71436
71437 2006-10-07  Jim Meyering  <jim@meyering.net>
71438
71439         * modules/inttypes (inttypes.h): Revert what seems to have been
71440         an inadvertent part of today's change: use "|", not "/" in the
71441         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
71442
71443 2006-10-07  Bruno Haible  <bruno@clisp.org>
71444
71445         * modules/sublist: New file.
71446
71447 2006-10-07  Bruno Haible  <bruno@clisp.org>
71448
71449         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
71450         * modules/argz (argz.h): Likewise.
71451         * modules/arpa_inet (arpa/inet.h): Likewise.
71452         * modules/byteswap (byteswap.h): Likewise.
71453         * modules/configmake (configmake.h): Likewise.
71454         * modules/fcntl (fcntl.h): Likewise.
71455         * modules/fnmatch (fnmatch.h): Likewise.
71456         * modules/getopt (getopt.h): Likewise.
71457         * modules/glob (glob.h): Likewise.
71458         * modules/inttypes (inttypes.h): Likewise.
71459         * modules/netinet_in (netinet/in.h): Likewise.
71460         * modules/poll (poll.h): Likewise.
71461         * modules/stdbool (stdbool.h): Likewise.
71462         * modules/stdint (stdint.h): Likewise.
71463         * modules/sys_select (sys/select.h): Likewise.
71464         * modules/sys_socket (sys/socket.h): Likewise.
71465         * modules/sys_stat (sys/stat.h): Likewise.
71466         * modules/sysexits (sysexits.h): Likewise.
71467         * modules/unistd (unistd.h): Likewise.
71468         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
71469         Add a "DO NOT EDIT" comment to the generated file.
71470         (func_import): Likewise for gnulib-comp.m4.
71471
71472 2006-10-07  Bruno Haible  <bruno@clisp.org>
71473
71474         * lib/gl_sublist.h: New file.
71475         * lib/gl_sublist.c: New file.
71476
71477 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
71478
71479         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
71480         name (relative to the original working directory) and the file
71481         name component (relative to the temporary working directory).  All
71482         callers changed.
71483         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
71484         * lib/mkdir-p.c (make_dir_parents): Likewise.
71485         * lib/mkdir-p.h (make_dir_parents): Likewise.
71486
71487 2006-10-06  Eric Blake  <ebb9@byu.net>
71488
71489         Define several macros for use by the clean-temp module.
71490         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
71491         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
71492         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
71493
71494         * lib/clean-temp.h (close_stream_temp): New declaration.
71495         * lib/clean-temp.c (includes): Pull in headers according to what
71496         other modules are in use.
71497         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
71498
71499 2006-10-06  Bruno Haible  <bruno@clisp.org>
71500
71501         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
71502         instead of fopen, fwriteerror.
71503
71504 2006-10-06  Bruno Haible  <bruno@clisp.org>
71505
71506         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
71507         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
71508         int.
71509         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
71510         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
71511         Return an error indicator.
71512         Suggested by Eric Blake.
71513
71514 2006-10-06  Bruno Haible  <bruno@clisp.org>
71515
71516         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
71517         Reported by Eric Blake.
71518
71519 2006-10-06  Bruno Haible  <bruno@clisp.org>
71520
71521         * modules/closeout (Description): Mention stderr too.
71522
71523 2006-10-06  Bruno Haible  <bruno@clisp.org>
71524         and Paul Eggert  <eggert@cs.ucla.edu>
71525
71526         * lib/closeout.c (close_stdout): Also close stderr.
71527         * lib/closeout.h: Update comment.
71528
71529 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
71530
71531         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
71532         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
71533         * lib/dirchownmod.c: Include lchown.h.
71534         * lib/lchown.c: Don't include files that lchown.h now includes.
71535         Don't declare chown, since lchown.h now does that.
71536         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
71537         (lchown): Define to rpl_chown if lchown is declared but
71538         does not exist.  Declare using a prototype if lchown is not
71539         declared.  Add a copyright notice.
71540         * lib/mkstemp.h: Include <unistd.h>.
71541         * lib/openat.c: Include lchown.h.
71542
71543         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
71544         we now test for that separately.
71545         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
71546         rather than O_NOFOLLOW, when testing whether it's possible to
71547         avoid a race condition reliably.
71548         * lib/savewd.c (savewd_chdir): Likewise.
71549
71550         Remove macros that are no longer needed now that stdint.h is
71551         reliable.
71552         * lib/fsusage.c (UINTMAX_MAX): Remove.
71553         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
71554         * lib/utimecmp.c (SIZE_MAX): Remove.
71555
71556         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
71557
71558         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
71559         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
71560         O_NOATIME works.
71561
71562 2006-10-05  Bruno Haible  <bruno@clisp.org>
71563
71564         * lib/gl_list.h (gl_sortedlist_search_from_to,
71565         gl_sortedlist_indexof_from_to): New declarations.
71566         (gl_list_implementation): New fields sortedlist_search_from_to,
71567         sortedlist_indexof_from_to.
71568         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
71569         inline functions.
71570         * lib/gl_list.c (gl_sortedlist_search_from_to,
71571         gl_sortedlist_indexof_from_to): New functions.
71572         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
71573         function.
71574         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
71575         (gl_array_sortedlist_search_from_to): New function.
71576         (gl_array_list_implementation): Update.
71577         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
71578         function.
71579         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
71580         (gl_carray_sortedlist_search_from_to): New function.
71581         (gl_carray_list_implementation): Update.
71582         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
71583         gl_linked_sortedlist_indexof_from_to): New functions.
71584         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
71585         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
71586         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
71587         gl_tree_sortedlist_indexof_from_to): New functions.
71588         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
71589         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
71590         Update.
71591         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
71592         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
71593         Update.
71594
71595 2006-10-05  Bruno Haible  <bruno@clisp.org>
71596
71597         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
71598         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
71599         (struct gl_list_implementation): Add fields search_from_to,
71600         indexof_from_to. Remove fields search, indexof.
71601         (gl_list_search): Use the search_from_to method.
71602         (gl_list_search_from, gl_list_search_from_to): New functions.
71603         (gl_list_indexof): Use the indexof_from_to method.
71604         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
71605         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
71606         (gl_list_search_from, gl_list_search_from_to): New functions.
71607         (gl_list_indexof): Use the indexof_from_to method.
71608         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
71609         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
71610         gl_array_indexof. Add start_index, end_index arguments.
71611         (gl_array_search_from_to): Renamed from gl_array_search. Add
71612         start_index, end_index arguments.
71613         (gl_array_remove, gl_array_list_implementation): Update.
71614         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
71615         gl_carray_indexof. Add start_index, end_index arguments.
71616         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
71617         start_index, end_index arguments.
71618         (gl_carray_remove, gl_carray_list_implementation): Update.
71619         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
71620         gl_linked_search. Add start_index, end_index arguments.
71621         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
71622         start_index, end_index arguments.
71623         (gl_linked_remove): Update.
71624         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
71625         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
71626         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
71627         field to 'size_t'.
71628         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
71629         gl_tree_search. Add start_index, end_index arguments.
71630         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
71631         start_index, end_index arguments.
71632         (gl_tree_remove): Update.
71633         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
71634         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
71635         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
71636         function.
71637         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
71638         gl_tree_search. Add start_index, end_index arguments.
71639         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
71640         start_index, end_index arguments.
71641         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
71642         Update.
71643         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
71644
71645 2006-10-05  Bruno Haible  <bruno@clisp.org>
71646
71647         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
71648
71649         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
71650         fwriteerror_temp): New declarations.
71651         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
71652         (descriptors): New variable.
71653         (cleanup): First, close the descriptors.
71654         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
71655         fclose_temp, fwriteerror_temp): New functions.
71656
71657 2006-10-04  Jim Meyering  <jim@meyering.net>
71658
71659         * lib/fts.c (fts_open): Tiny comment change.
71660
71661 2006-10-04  Bruno Haible  <bruno@clisp.org>
71662
71663         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
71664         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
71665         gl_LOCK_BODY.
71666         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
71667         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
71668         gl_LOCK_EARLY_BODY.
71669         (gl_LOCK): Require gl_LOCK_BODY.
71670
71671 2006-10-04  Bruno Haible  <bruno@clisp.org>
71672
71673         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
71674         (gl_oset_search_atleast): New declaration.
71675         (struct gl_oset_implementation): Add field 'search_atleast'.
71676         (gl_oset_search_atleast): New inline function.
71677         * lib/gl_oset.c (gl_oset_search_atleast): New function.
71678         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
71679         (gl_array_oset_implementation): Update.
71680         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
71681         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
71682         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
71683
71684 2006-10-04  Bruno Haible  <bruno@clisp.org>
71685
71686         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
71687
71688 2006-10-03  Bruno Haible  <bruno@clisp.org>
71689
71690         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
71691         from gl_avltreehash_list_implementation.
71692
71693 2006-10-03  Bruno Haible  <bruno@clisp.org>
71694
71695         * lib/gl_oset.c (gl_oset_add): Fix return type.
71696
71697 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
71698
71699         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
71700
71701 2006-10-02  Eric Blake  <ebb9@byu.net>
71702
71703         * modules/strnlen (Depends-on): Add extensions.
71704
71705 2006-10-02  Eric Blake  <ebb9@byu.net>
71706
71707         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
71708         definition in 2.60+.
71709
71710 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
71711
71712         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
71713         checks.
71714
71715 2006-10-02  Bruno Haible  <bruno@clisp.org>
71716
71717         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
71718         to the AUTOMAKE_OPTIONS.
71719         Reported by Jim Meyering.
71720
71721 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
71722
71723         Work around bug in Solaris 10 /proc file system:
71724         /proc/self/fd/NNN/.. isn't the parent directory of
71725         the directory whose file descriptor is NNN.  This needs to
71726         be worked around at run time, not compile time, since a
71727         program might be built on Solaris 8, where things work, and
71728         run on Solaris 10.
71729         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
71730         to use the following interface instead:
71731         (OPENAT_BUFFER_SIZE): New macro.
71732         (openat_proc_name): New function.
71733         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
71734         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
71735         Likewise.
71736         * lib/openat-proc.c: New file.
71737         * modules/openat (Files): Add lib/openat-proc.c.
71738         (Depends-on): Add same-inode, stdbool.
71739         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
71740
71741 2006-09-29  Bruno Haible  <bruno@clisp.org>
71742
71743         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
71744         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
71745         argument. Set stdout_closed before testing for ferror, not after.
71746         (fwriteerror, fwriteerror_no_ebadf): New functions.
71747
71748 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71749
71750         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
71751
71752 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
71753
71754         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
71755         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
71756
71757 2006-09-28  Jim Meyering  <jim@meyering.net>
71758
71759         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
71760         Include <unistd.h>.
71761
71762 2006-09-28  Bruno Haible  <bruno@clisp.org>
71763
71764         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
71765         * modules/linkedhash-list (Depends-on): Likewise.
71766         * modules/rbtreehash-list (Depends-on): Likewise.
71767
71768 2006-09-28  Bruno Haible  <bruno@clisp.org>
71769
71770         * lib/strndup.h: Simplify the redefinition of strndup.
71771         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
71772         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
71773
71774 2006-09-28  Bruno Haible  <bruno@clisp.org>
71775
71776         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
71777         * lib/gl_linkedhash_list.c: Likewise.
71778         * lib/gl_rbtreehash_list.c: Likewise.
71779
71780 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
71781
71782         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
71783         getaddrinfo.
71784
71785         * lib/__fpending.h: Don't include <stdio_ext.h> unless
71786         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
71787         it causes <stdio_ext.h> to cause a compile-time error.
71788         Problem reported by Nelson H. F. Beebe.
71789         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
71790         of HAVE_DECL___PENDING.
71791
71792         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
71793         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
71794         declaration.
71795
71796 2006-09-27  Jim Meyering  <jim@meyering.net>
71797
71798         This file could end up with a definition for a function
71799         named __strndup, rather than rpl_strndup on a system with
71800         incomplete weak_alias support.
71801         * lib/strndup.c (strndup): Rename from __strndup.
71802         Remove #defines that used to map __strndup to strndup.
71803         Don't use K&R prototypes.
71804         Remove LIBC-related code, since this file is not sync'd with glibc.
71805         * lib/strndup.h: Revamp, accordingly.
71806         * m4/strndup.m4: Modernize.
71807
71808 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
71809
71810         * modules/savewd (Depends-on): Add 'raise'.
71811         * lib/savewd.c: Include <signal.h>, for 'raise'.
71812
71813 2006-09-26  Jim Meyering  <jim@meyering.net>
71814
71815         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
71816         when we detect Darwin 8.7.0's acl_get_file bug.
71817         Rearrange to perform the new (below) run-test while $LIBS
71818         contains any acl-related library.  Set USE_ACL at the end.
71819         (gl_ACL_GET_FILE): New function.
71820
71821 2006-09-26  Eric Blake  <ebb9@byu.net>
71822
71823         * lib/verror.c: Include <config.h> unconditionally.
71824
71825 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
71826
71827         * modules/clock-time (Maintainer): Add self.
71828         * modules/getlogin_r (Depends-on): Add extensions.
71829
71830 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71831
71832         * modules/clock-time: New module.
71833         * modules/nanosleep (Depends-on): Add clock-time.
71834         * modules/gethrxtime (Depends-on): Likewise.
71835         * modules/gettime (Depends-on): Likewise.
71836         * modules/settime (Depends-on): Likewise.
71837
71838         * modules/fts-lgpl: Depend on openat.
71839         * modules/mkancesdirs: Depend on savewd.
71840         * modules/mkdir-p: Likewise.
71841
71842 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71843
71844         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
71845
71846         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
71847         `gl_have_arbitrary_file_name_length_limit' to
71848         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
71849         actually works between configure runs.
71850
71851 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71852             Bruno Haible  <bruno@clisp.org>
71853
71854         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
71855
71856 2006-09-25  Jim Meyering  <jim@meyering.net>
71857
71858         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
71859         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
71860
71861 2006-09-25  Eric Blake  <ebb9@byu.net>
71862
71863         * gnulib-tool (func_import, func_create_testdir): Fix typos in
71864         exec's in 2006-09-18 patch when shuffling fds.
71865
71866 2006-09-25  Bruno Haible  <bruno@clisp.org>
71867
71868         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
71869         Reported by Jim Meyering.
71870
71871 2006-09-24  Jim Meyering  <jim@meyering.net>
71872
71873         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
71874         compare a pointer against a literal "0".  That caused failures with
71875         at least HP-UX's hpcc.
71876
71877 2006-09-22  Simon Josefsson  <jas@extundo.com>
71878
71879         * modules/gc-sha1:
71880         * modules/gc-md4:
71881         * modules/gc-hmac-sha1:
71882         * modules/gc-hmac-md5:
71883         * modules/gc-des:
71884         * modules/gc-arcfour: Distribute more files.
71885
71886 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71887
71888         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
71889         (gl_linked_iterator_from_to): Initialize struct completely.
71890         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
71891         (gl_tree_iterator_from_to): Likewise
71892         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
71893         * lib/gl_array_list.c [lint] (gl_array_iterator)
71894         (gl_array_iterator_from_to): Likewise.
71895         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
71896         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
71897         (gl_carray_iterator_from_to): Likewise.
71898
71899         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
71900         * lib/md4.c (md4_process_block): Remove unused variable.
71901         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
71902         parentheses for clarity.
71903
71904 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71905
71906         * modules/bison-i18n (Depends-on): Add gettext.
71907
71908 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71909
71910         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
71911         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
71912         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
71913         also add missing comma that caused broken test.
71914         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
71915         stdlib.h, for `abort'.
71916         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
71917         variables.
71918         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
71919         include unistd.h if present, for `rmdir'.
71920         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
71921         variables.
71922         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
71923         in the process include standard headers for prototypes.
71924         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
71925         gets declared on GNU/Linux.
71926         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
71927         unistd.h, for `rmdir'.
71928         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
71929
71930         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
71931         always true.
71932         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
71933
71934         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
71935
71936 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71937
71938         * gnulib-tool (func_version): Create output all at once.  This
71939         may help avoid triggering unnecessary SIGPIPEs, and at any
71940         rate it doesn't hurt.
71941
71942 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
71943             Bruno Haible  <bruno@clisp.org>
71944
71945         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
71946         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
71947         * m4/signed.m4 (bh_C_SIGNED): Likewise.
71948
71949         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
71950         (gl_FUNC_VASPRINTF): Invoke it.
71951
71952 2006-09-22  Bruno Haible  <bruno@clisp.org>
71953
71954         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
71955         getloadavg.c as first argument.
71956
71957 2006-09-22  Bruno Haible  <bruno@clisp.org>
71958
71959         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
71960         at the beginning of the gl_INIT macro.
71961         * modules/getloadavg (configure.ac): Pass $gl_source_base to
71962         gl_GETLOADAVG.
71963
71964 2006-09-22  Bruno Haible  <bruno@clisp.org>
71965
71966         * gnulib-tool (func_create_megatestdir): Don't include the config-h
71967         module.
71968         Suggested by Ralf Wildenhues.
71969
71970 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
71971
71972         Import this patch from libc:
71973
71974         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
71975
71976         * lib/regex_internal.c (re_string_reconstruct): Handle
71977         offset < pstr->valid_raw_len && pstr->offsets_needed case.
71978         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
71979         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
71980         re_string_context_at.
71981
71982         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
71983         now requires it.
71984         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
71985         gl_REGEX now does it for us.
71986         (gl_REGEX): Add test taken from
71987         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
71988
71989         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
71990         Check that large offsets work.  Modernize Autoconf usages.
71991         Prefer "yes" to mean a good thing rather than a bad.
71992         Don't put "#define mkstemp" in config.h, as this might interfere
71993         with standard system headers that "#define mkstemp mkstemp64".
71994
71995         * modules/mkstemp (Depends-on): Add extensions, so that
71996         mkstemp is visible on some platforms.
71997         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
71998         (Include): Change to "mkstemp.h" from <stdlib.h>.
71999         (Files): Add mkstemp.h.
72000
72001         * lib/mkstemp.h: New file, since some standard headers
72002         #define mkstemp.
72003         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
72004         Include "mkstemp.h".
72005         Make the _LIBC code resemble glibc original more,
72006         e.g., use K&R style.
72007         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
72008         (mkstemp): Remove, since mkstemp.h does this for us.
72009         * lib/stdlib--.h: Include mkstemp.h.
72010
72011         Import this patch from libc:
72012
72013         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
72014
72015         * lib/tempname.c (__gen_tempname): Change attempts_min
72016         into a macro.  Use preprocessor to decide how to initialize
72017         attempts [Coverity CID 67].
72018
72019 2006-09-20  Bruno Haible  <bruno@clisp.org>
72020
72021         * lib/mkdtemp.c: Import from libc.
72022         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
72023                 * sysdeps/posix/tempname.c (__gen_tempname): Change
72024                 attempts_min into a macro.  Use preprocessor to decide how to
72025                 initialize attempts [Coverity CID 67].
72026         2001-11-27  Paul Eggert  <eggert@twinsun.com>
72027                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
72028                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
72029
72030 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72031
72032         * gnulib-tool (func_exit): New function, to allow to pass the
72033         exit status portably through the trap.  Use everywhere.
72034         (--help, --version): Signal a write error.
72035         (trap): catch SIGPIPE, for write errors.
72036         Exit at the end of the trap, with the correct exit status.
72037
72038 2006-09-19  Karl Berry  <karl@gnu.org>
72039
72040         * doc/gnulib.texi: note about the license texinfo files.
72041
72042 2006-09-19  Eric Blake  <ebb9@byu.net>
72043
72044         * gnulib-tool: Avoid space-tab.
72045
72046 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72047
72048         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
72049         that prevented coreutils 6.1 from building.  Problem reported
72050         by Petter Reinholdtsen.
72051
72052 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
72053
72054         * gnulib-tool (avoidlist): Fix typo that broke options like
72055         --avoid=lock that are used by coreutils bootstrap.
72056
72057 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
72058
72059         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
72060         more systematically.
72061
72062 2006-09-18  Jim Meyering  <jim@meyering.net>
72063
72064         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
72065
72066 2006-09-18  Bruno Haible  <bruno@clisp.org>
72067
72068         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
72069
72070 2006-09-18  Bruno Haible  <bruno@clisp.org>
72071
72072         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
72073         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
72074         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
72075         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
72076         * m4/gettext.m4: Require autoconf >= 2.52.
72077         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
72078         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
72079         of gl_cv_header_inttypes_h.
72080
72081 2006-09-18  Bruno Haible  <bruno@clisp.org>
72082
72083         * lib/javaversion.c: Include configmake.h.
72084
72085 2006-09-18  Bruno Haible  <bruno@clisp.org>
72086
72087         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
72088         avoid that the while loops be executed in a subshell.
72089
72090 2006-09-18  Bruno Haible  <bruno@clisp.org>
72091
72092         * MODULES.html.sh (func_module): Break long lines.
72093         Suggested by Bruce Korb <bkorb@gnu.org>.
72094
72095 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72096
72097         Speed up by a factor of 1.12.
72098         * gnulib-tool (nl): New variable.
72099         (func_import): Rewrite include directive extraction to only read each
72100         directive once.
72101
72102 2006-09-17  Bruno Haible  <bruno@clisp.org>
72103
72104         * modules/javaversion (Makefile.am): Remove DEFS setting.
72105         (Depends-on): Add configmake, for PKGDATADIR definition.
72106
72107 2006-09-17  Bruno Haible  <bruno@clisp.org>
72108
72109         * gnulib-tool (func_create_testdir): Rewrite all files at once.
72110
72111 2006-09-17  Bruno Haible  <bruno@clisp.org>
72112
72113         * gnulib-tool (func_append): New function, stolen from libtool.m4.
72114         (func_modules_transitive_closure, func_modules_add_dummy,
72115         func_modules_to_filelist, func_import, func_create_testdir,
72116         func_create_megatestdir, ...): Use it wherever possible.
72117         Suggested by Ralf Wildenhues.
72118
72119 2006-09-16  Karl Berry  <karl@gnu.org>
72120
72121         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
72122         to avoid sectioning errors.
72123         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
72124         [ifinfo]: blank line after @center-ed titles.
72125         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
72126         Spell FSF address consistently with others.
72127         (These changes approved by rms.)
72128
72129 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72130
72131         Speed up by a factor of 1.61.
72132         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
72133         already checked module names again.
72134
72135 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72136
72137         Speed up by a factor of 1.13.
72138         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
72139         for new_files, and the input to func_add_or_update.
72140
72141 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72142
72143         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
72144         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
72145
72146 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72147
72148         * modules/mkancesdirs (Depends-on): Add fcntl.
72149         * modules/savewd: New file.
72150         * MODULES.html.sh (File system functions): Add savewd.
72151
72152         * modules/configmake (Makefile.am): Add support for the
72153         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
72154
72155 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72156
72157         * m4/savewd.m4: New file.
72158
72159 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
72160
72161         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
72162         (dirchownmod): New arg FD.  All callers changed.
72163         Use FD rather than opening the directory ourself, as opening is
72164         now the caller's responsibility.
72165         * lib/dirchownmod.h: Likewise.
72166         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
72167         hosts that require <sys/types.h> before <sys/stat.h>.  Include
72168         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
72169         (test_dir): Remove.
72170         (mkancesdirs): Return length of prefix of FILE that has already
72171         been made, or -2 if there is a child doing the work.  Redo
72172         algorithm so that it is O(N) rather than O(N**2).  Optimize away
72173         ".", and treat ".." specially since it might stray back into
72174         already-created areas.  Use a subprocess if necessary.  New arg
72175         WD; all users changed.  MAKE_DIR function should now return 1
72176         if it creates a directory that is not readable.  Return -2 if
72177         a child process is spun off.
72178         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
72179         Adjust signature to match code.
72180         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
72181         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
72182         all users changed.
72183         * lib/savewd.c, lib/savewd.h: New files.
72184
72185 2006-09-15  Jim Meyering  <jim@meyering.net>
72186
72187         * modules/rename-dest-slash: New module.
72188         * MODULES.html.sh (posix_compat): Add it here.
72189
72190         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
72191
72192 2006-09-15  Jim Meyering  <jim@meyering.net>
72193
72194         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
72195         file.
72196
72197         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
72198
72199 2006-09-15  Jim Meyering  <jim@meyering.net>
72200
72201         * lib/rename-dest-slash.c (has_trailing_slash): Use
72202         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
72203         (rpl_rename_dest_slash): Perform the cheaper trailing slash
72204         test before testing whether SRC is a directory.
72205         Suggestions from Bruno Haible.
72206
72207         Avoid a warning about an unused variable.
72208         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
72209         into the #ifdef block where it's used.
72210
72211         * lib/rename-dest-slash.c: New file.
72212
72213 2006-09-14  Bruno Haible  <bruno@clisp.org>
72214
72215         * lib/allocsa.c: Include <config.h> unconditionally.
72216         * lib/asnprintf.c: Likewise.
72217         * lib/asprintf.c: Likewise.
72218         * lib/c-strcasecmp.c: Likewise.
72219         * lib/c-strcasestr.c: Likewise.
72220         * lib/c-strncasecmp.c: Likewise.
72221         * lib/c-strstr.c: Likewise.
72222         * lib/classpath.c: Likewise.
72223         * lib/clean-temp.c: Likewise.
72224         * lib/concatpath.c: Likewise.
72225         * lib/copy-file.c: Likewise.
72226         * lib/csharpcomp.c: Likewise.
72227         * lib/csharpexec.c: Likewise.
72228         * lib/execute.c: Likewise.
72229         * lib/fatal-signal.c: Likewise.
72230         * lib/findprog.c: Likewise.
72231         * lib/fwriteerror.c: Likewise.
72232         * lib/gl_array_list.c: Likewise.
72233         * lib/gl_array_oset.c: Likewise.
72234         * lib/gl_avltree_list.c: Likewise.
72235         * lib/gl_avltree_oset.c: Likewise.
72236         * lib/gl_avltreehash_list.c: Likewise.
72237         * lib/gl_carray_list.c: Likewise.
72238         * lib/gl_linked_list.c: Likewise.
72239         * lib/gl_linkedhash_list.c: Likewise.
72240         * lib/gl_list.c: Likewise.
72241         * lib/gl_oset.c: Likewise.
72242         * lib/gl_rbtree_list.c: Likewise.
72243         * lib/gl_rbtree_oset.c: Likewise.
72244         * lib/gl_rbtreehash_list.c: Likewise.
72245         * lib/imaxabs.c: Likewise.
72246         * lib/imaxdiv.c: Likewise.
72247         * lib/javacomp.c: Likewise.
72248         * lib/javaexec.c: Likewise.
72249         * lib/javaversion.c: Likewise.
72250         * lib/linebreak.c: Likewise.
72251         * lib/localcharset.c: Likewise.
72252         * lib/lock.c: Likewise.
72253         * lib/mbchar.c: Likewise.
72254         * lib/mbswidth.c: Likewise.
72255         * lib/mkdtemp.c: Likewise.
72256         * lib/pipe.c: Likewise.
72257         * lib/printf-args.c: Likewise.
72258         * lib/printf-parse.c: Likewise.
72259         * lib/progname.c: Likewise.
72260         * lib/progreloc.c: Likewise.
72261         * lib/readlink.c: Likewise.
72262         * lib/sh-quote.c: Likewise.
72263         * lib/stpcpy.c: Likewise.
72264         * lib/stpncpy.c: Likewise.
72265         * lib/strcasecmp.c: Likewise.
72266         * lib/strcasestr.c: Likewise.
72267         * lib/strcspn.c: Likewise.
72268         * lib/striconv.c: Likewise.
72269         * lib/strncasecmp.c: Likewise.
72270         * lib/strnlen1.c: Likewise.
72271         * lib/strstr.c: Likewise.
72272         * lib/strtok_r.c: Likewise.
72273         * lib/tls.c: Likewise.
72274         * lib/tmpdir.c: Likewise.
72275         * lib/unicodeio.c: Likewise.
72276         * lib/unsetenv.c: Likewise.
72277         * lib/vasnprintf.c: Likewise.
72278         * lib/vasprintf.c: Likewise.
72279         * lib/wait-process.c: Likewise.
72280         * lib/xallocsa.c: Likewise.
72281         * lib/xsetenv.c: Likewise.
72282         * lib/xstriconv.c: Likewise.
72283
72284 2006-09-13  Simon Josefsson  <jas@extundo.com>
72285
72286         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
72287         that internally, suggested by Ralf Wildenhues
72288         <Ralf.Wildenhues@gmx.de>.
72289
72290 2006-09-13  Simon Josefsson  <jas@extundo.com>
72291
72292         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
72293         @LIBOBJS@.
72294         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
72295
72296 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
72297
72298         * lib/_fpending.c: Include <config.h> unconditionally, since we no
72299         longer worry about uses that don't define HAVE_CONFIG_H.
72300         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
72301         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
72302         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
72303         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
72304         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
72305         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
72306         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
72307         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
72308         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
72309         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
72310         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
72311         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
72312         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
72313         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
72314         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
72315         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
72316         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
72317         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
72318         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
72319         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
72320         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
72321         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
72322         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
72323         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
72324         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
72325         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
72326         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
72327         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
72328         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
72329         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
72330         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
72331         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
72332         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
72333         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
72334         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
72335         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
72336         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
72337         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
72338         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
72339         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
72340         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
72341         Likewise.
72342
72343 2006-09-13  Eric Blake  <ebb9@byu.net>
72344
72345         * lib/getopt.c: Fix typo in last commit.
72346
72347 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
72348
72349         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
72350         dgettext.
72351
72352 2006-09-12  Jim Meyering  <jim@meyering.net>
72353
72354         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
72355         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
72356         Reported by Nelson H. F. Beebe.
72357
72358 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
72359
72360         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
72361         program_invocation_name and program_invocation_short_name are
72362         initialized.
72363         * lib/argp-namefrob.h: Move declarations of program_invocation_name
72364         and program_invocation_short_name to argp.h, so they are visible
72365         to user programs.
72366         * lib/argp.h: Likewise
72367
72368 2006-09-10  Bruno Haible  <bruno@clisp.org>
72369
72370         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
72371         m4/inttypes_h.m4, m4/uintmax_t.m4.
72372
72373 2006-09-10  Bruno Haible  <bruno@clisp.org>
72374
72375         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
72376         gl_AC_TYPE_UINTMAX_T.
72377
72378 2006-09-10  Bruno Haible  <bruno@clisp.org>
72379
72380         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
72381
72382 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
72383
72384         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
72385         convention.  Text proposed by Bruno Haible.
72386         (struct argp_option): Document the use of N_() wrappers.
72387
72388         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
72389         '\v', and translate the two parts separately, instead of feeding
72390         the whole string to gettext.  This allows to exclude
72391         '\v' from the strings visible to the translator by writing doc
72392         strings as N_("..") "\v" N_("..").
72393
72394 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
72395
72396         * config/srclist.txt: Undo latest change; the bug was fixed.
72397
72398 2006-09-09  Bruno Haible  <bruno@clisp.org>
72399
72400         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
72401         assignments if building a library without libtool.
72402         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
72403         in func_emit_lib_Makefile_am.
72404         (func_import): When building a static library libfoo.a, arrange to
72405         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
72406         (func_create_testdir): Likewise.
72407         * modules/gc (configure.ac, Makefile.am): If building statically,
72408         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
72409         * modules/iconvme (configure.ac, Makefile.am): Likewise.
72410         * modules/striconv (configure.ac, Makefile.am): Likewise.
72411         Based on a suggestion by Ralf Wildenhues.
72412
72413 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72414
72415         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
72416         Check for unistd.h too, since Autoconf doesn't assume POSIX.
72417         Also:
72418
72419         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72420         Add year_2050_test to catch glibc bug 2821
72421         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72422
72423         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
72424         Prefer #ifdef to #if.
72425
72426         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
72427         Return from 'main' instead of calling 'exit'.
72428
72429 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72430
72431         * lib/mktime.c (guess_time_tm): Fix bug where mktime
72432         returned the maximum time_t value rather than (time_t) -1.
72433         Problem originally reported by William Bardwell
72434         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
72435
72436         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72437         Moved to here ...
72438         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
72439         ... from here.
72440
72441 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
72442
72443         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
72444         2821 is fixed.
72445
72446 2006-09-08  Jim Meyering  <jim@meyering.net>
72447
72448         Don't make generated files read-only.  That would bother too many
72449         people.  However, do retain the ability to work when targets are
72450         read-only: remove the destination and temporary files before writing
72451         them (when generated via sed or echo), or by using the -f option for
72452         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
72453         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72454         * modules/byteswap, modules/configmake, modules/fcntl:
72455         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72456         * modules/localcharset, modules/netinet_in, modules/poll:
72457         * modules/stdbool, modules/stdint, modules/sys_select:
72458         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72459
72460 2006-09-08  Jim Meyering  <jim@meyering.net>
72461
72462         Avoid new build failure on FreeBSD 6.0.
72463         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
72464         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
72465         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
72466
72467 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72468
72469         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
72470
72471 2006-09-07  Jim Meyering  <jim@meyering.net>
72472
72473         Fix global typo in last change: use chmod u-w, not chmod u-x.
72474         Spotted by Paul Eggert and Bruce Korb.
72475         * modules/alloca-opt, modules/argz, modules/arpa_inet:
72476         * modules/byteswap, modules/configmake, modules/fcntl:
72477         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
72478         * modules/localcharset, modules/netinet_in, modules/poll:
72479         * modules/stdbool, modules/stdint, modules/sys_select:
72480         * modules/sys_socket, modules/sys_stat, modules/sysexits:
72481
72482 2006-09-06  Jim Meyering  <jim@meyering.net>
72483
72484         Make generated files be read-only.
72485         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
72486         Ensure that each generated file is now read-only.
72487         * modules/argz: Likewise.
72488         * modules/arpa_inet: Likewise.
72489         * modules/byteswap: Likewise.
72490         * modules/configmake: Likewise.
72491         * modules/fcntl: Likewise.
72492         * modules/fnmatch: Likewise.
72493         * modules/getopt: Likewise.
72494         * modules/glob: Likewise.
72495         * modules/inttypes: Likewise.
72496         * modules/netinet_in: Likewise.
72497         * modules/poll: Likewise.
72498         * modules/stdbool: Likewise.
72499         * modules/stdint: Likewise.
72500         * modules/sys_select: Likewise.
72501         * modules/sys_socket: Likewise.
72502         * modules/sys_stat: Likewise.
72503         * modules/sysexits: Likewise.
72504         * modules/localcharset: Same as above, but continue using temporary
72505         file named "t-$@" (why different?) rather than the "$@-t" used
72506         everywhere else.
72507
72508         * modules/sysexits (Makefile.am): Replace literal occurrences
72509         of "sysexit.h" more readable, and more consistent, "$@".
72510
72511 2006-09-06  Bruno Haible  <bruno@clisp.org>
72512
72513         * modules/striconv: New file.
72514         * modules/xstriconv: New file.
72515         * MODULES.html.sh (Internationalization functions): Add striconv,
72516         xstriconv.
72517
72518 2006-09-06  Bruno Haible  <bruno@clisp.org>
72519
72520         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
72521         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
72522         not using libtool correctly.
72523
72524 2006-09-06  Bruno Haible  <bruno@clisp.org>
72525
72526         * lib/striconv.h: New file.
72527         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
72528         iconvstring.c.
72529         * lib/xstriconv.h: New file.
72530         * lib/xstriconv.c: New file.
72531
72532 2006-09-06  Bruno Haible  <bruno@clisp.org>
72533
72534         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
72535         lib_..._LDFLAGS.
72536
72537 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72538
72539         * lib/argz_.h: Sync from Libtool.
72540
72541         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
72542                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
72543
72544         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
72545
72546 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72547
72548         * modules/trim: New file.
72549
72550 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
72551
72552         * lib/trim.h: New file.
72553         * lib/trim.c: New file.
72554
72555 2006-09-05  Bruno Haible  <bruno@clisp.org>
72556
72557         * MODULES.html.sh (String handling): Add trim.
72558
72559 2006-09-04  Karl Berry  <karl@gnu.org>
72560
72561         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
72562         until next release.
72563
72564 2006-09-03  Bruno Haible  <bruno@clisp.org>
72565
72566         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
72567         correctly.
72568
72569 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72570
72571         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
72572         not gl_GETLOADAVG.  Omit unneeded semicolons.
72573         Problems reported by Ralf Wildenhues in
72574         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72575         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
72576         at the end, which is the usual gnulib style.
72577
72578         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
72579         of doing all the work ourselves.
72580         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
72581         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
72582
72583 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72584
72585         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
72586         Problem reported by Ralf Wildenhues in
72587         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
72588
72589         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
72590         HAVE_STRUCT_STATFS_F_FSTYPENAME.
72591
72592 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
72593
72594         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
72595         yesterday's patch by changing test -n to test -z.
72596
72597 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72598
72599         * modules/getloadavg (Files): Add m4/getloadavg.m4.
72600         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
72601         the former is now obsolescent.
72602
72603         * modules/chdir-long (Depends-on): Add fcntl.
72604
72605 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72606
72607         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
72608         obsolescent, and programs should use gnulib instead.
72609         * m4/getloadavg.m4: New file, with contents taken from Autoconf
72610         but with prefixes changed.
72611
72612 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
72613
72614         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
72615         or stdbool.h, because they might not exist while configuring.
72616
72617         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
72618         Don't include unistd.h or limits.h; not needed, since chdir-long.h
72619         does that for us.
72620         (O_DIRECTORY): Remove.
72621
72622 2006-08-31  Eric Blake  <ebb9@byu.net>
72623
72624         * gnulib-tool: Don't let emacs change spaces to TAB.
72625
72626 2006-08-31  Bruno Haible  <bruno@clisp.org>
72627
72628         * gnulib-tool: When calling func_import more than once, do it in a
72629         subshell.
72630         Reported by Eric Blake <ebb9@byu.net>.
72631
72632 2006-08-31  Bruno Haible  <bruno@clisp.org>
72633
72634         * gnulib-tool (nl): Remove variable.
72635         (sed_transform_lib_file): Use more robust test for config-h module.
72636         (func_import): Fix typo in 2006-08-25 patch.
72637
72638 2006-08-31  Bruno Haible  <bruno@clisp.org>
72639
72640         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
72641         specified, augment Makefile.am variables instead of assigning them.
72642
72643 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72644
72645         Work around a bug in both the Linux and SunOS 64-bit kernels:
72646         nanosleep mishandles sleeps for longer than 2**31 seconds.
72647         Problem reported by Frank v Waveren in
72648         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
72649         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
72650         Check for nanosleep bug.
72651         (LIB_NANOSLEEP): Append clock_gettime library if needed.
72652
72653 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72654
72655         Work around a bug in both the Linux and SunOS 64-bit kernels:
72656         nanosleep mishandles sleeps for longer than 2**31 seconds.
72657         Problem reported by Frank v Waveren in
72658         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
72659         * lib/nanosleep.c (BILLION): New constant.
72660         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
72661         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
72662         implementation.
72663
72664 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72665
72666         * modules/nanosleep (Depends-on): Add gettime.
72667
72668 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
72669         and Simon Josefsson  <jas@extundo.com>
72670         and Oskar Liljeblad  <oskar@osk.mine.nu>
72671
72672         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
72673         * gnulib-tool (func_import): New license type 'unmodifiable license
72674         text'.
72675         * modules/fdl: Use it.  Longer description.
72676         * module/gpl, module/lgpl: New files.
72677
72678 2006-08-30  Jim Meyering  <jim@meyering.net>
72679
72680         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
72681         shadowing the parameter.
72682
72683 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72684
72685         Sync from Libtool:
72686
72687         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
72688
72689         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
72690         sharing with gnulib.  Report by Eric Blake.
72691
72692 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72693
72694         * modules/isapipe: New file.
72695         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
72696
72697 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72698
72699         * modules/configmake (Makefile.am): Add a comment, and omit
72700         the CONFIGMAKE_ prefix from generated macro names.  Suggested
72701         by Bruno Haible.
72702
72703 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72704
72705         * m4/isapipe.m4: New file.
72706
72707 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
72708
72709         * lib/isapipe.c, lib/isapipe.h: New files.
72710
72711 2006-08-29  Jim Meyering  <jim@meyering.net>
72712
72713         * modules/configmake (Makefile.am): Make configmake.h depend on
72714         Makefile.  Otherwise, a stale configmake.h could hang around.
72715
72716 2006-08-29  Eric Blake  <ebb9@byu.net>
72717
72718         * lib/error.c (error_at_line, print_errno_message): Match libc, after
72719         resolution of upstream bug 3044.
72720
72721 2006-08-29  Bruno Haible  <bruno@clisp.org>
72722
72723         * modules/localcharset (Depends-on): Add configmake.
72724         (Makefile.am): Remove setting of LIBDIR through DEFS.
72725
72726 2006-08-29  Bruno Haible  <bruno@clisp.org>
72727
72728         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
72729         defined.
72730
72731 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72732
72733         * modules/fcntl: New file.
72734         * modules/chdir-safer (Depends-on): Add fcntl.
72735         * modules/fts: Likewise.
72736         * modules/mkdir-p: Likewise.
72737
72738         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
72739         This undoes the most recent change, since we're now addressing the
72740         problem in a different way.
72741
72742         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
72743         into output, since the output might be called Makefile.am even
72744         if $makefile_name is something different.
72745         (func_import): Use $makefile_am rather than
72746         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
72747         empty.
72748
72749         * modules/inttypes (Files): Add m4/inttypes-h.m4.
72750
72751 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72752
72753         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
72754         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
72755         recent change to stdint.m4, since we're now addressing the problem in a
72756         different way.
72757
72758 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72759
72760         * m4/fcntl_h.m4: New file.
72761
72762 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
72763
72764         * lib/fcntl_.h: New file.
72765         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
72766         the fcntl module.
72767         * lib/dirchownmod.c: Likewise.
72768         * lib/fts.c: Likewise.
72769
72770         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
72771         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
72772         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
72773         just before including <inttypes.h>, to avoid circular inclusion.
72774
72775 2006-08-28  Jim Meyering  <jim@meyering.net>
72776
72777         * doc/visibility.texi: Actually read and correct the grammar of the
72778         sentence affected by yesterday's change.
72779
72780 2006-08-28  Eric Blake  <ebb9@byu.net>
72781
72782         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
72783         needs wrapper.
72784
72785 2006-08-28  Eric Blake  <ebb9@byu.net>
72786
72787         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
72788
72789 2006-08-28  Eric Blake  <ebb9@byu.net>
72790
72791         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
72792
72793 2006-08-28  Bruno Haible  <bruno@clisp.org>
72794
72795         * modules/c-strstr: New file, from GNU gettext.
72796         * MODULES.html.sh (String handling): Add c-strstr.
72797
72798 2006-08-28  Bruno Haible  <bruno@clisp.org>
72799
72800         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
72801         macros.
72802         Reported by Eric Blake.
72803
72804 2006-08-28  Bruno Haible  <bruno@clisp.org>
72805
72806         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
72807         (VASNPRINTF): Return a string of length > INT_MAX without failing.
72808         * lib/vasprintf.c: Include errno.h, limits.h.
72809         (EOVERFLOW): New fallback definition.
72810         (vasprintf): Test here whether the string length is > INT_MAX.
72811         * lib/vsnprintf.c: Include errno.h, limits.h.
72812         (EOVERFLOW): New fallback definition.
72813         (vsnprintf): Fix bug when generated string was too long for the buffer.
72814         Test here whether the string length is > INT_MAX.
72815
72816 2006-08-28  Bruno Haible  <bruno@clisp.org>
72817
72818         * lib/inttypes_.h (SCNX*): Remove definitions.
72819         Reported by Eric Blake.
72820
72821 2006-08-28  Bruno Haible  <bruno@clisp.org>
72822
72823         * lib/c-strstr.h: New file, from GNU gettext.
72824         * lib/c-strstr.c: New file, from GNU gettext.
72825
72826 2006-08-28  Bruno Haible  <bruno@clisp.org>
72827
72828         * gnulib-tool: Reorder some statements.
72829
72830 2006-08-28  Bruno Haible  <bruno@clisp.org>
72831
72832         * gnulib-tool: New option --makefile-name.
72833         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
72834         $makefile_name.
72835         (func_import): Write $makefile_name to the cache file, and read it from
72836         there unless explicitly specified. Use $makefile_name as file name
72837         instead of Makefile.am. Adjust the recommendations accordingly.
72838
72839 2006-08-28  Bruno Haible  <bruno@clisp.org>
72840
72841         * gnulib-tool (func_verify_module): Check against misapplying patch.
72842
72843 2006-08-28  Bruno Haible  <bruno@clisp.org>
72844
72845         * gnulib-tool (func_relativize, func_relconcat): New functions.
72846         Give an error if --local-dir is given with --update.
72847         Remove trailing slashes from $local_gnulib_dir.
72848         (func_import): Store the relativized $local_gnulib_dir in
72849         gnulib-cache.m4, and read it from there if not specified explicitly.
72850
72851 2006-08-28  Bruno Haible  <bruno@clisp.org>
72852
72853         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
72854         is the current directory. Respect also $local_gnulib_dir.
72855
72856 2006-08-28  Bruno Haible  <bruno@clisp.org>
72857             Simon Josefsson  <jas@extundo.com>
72858
72859         BeOS portability.
72860         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
72861
72862 2006-08-27  Jim Meyering  <jim@meyering.net>
72863
72864         * doc/visibility.texi: Remove duplicate word: "pointer".
72865
72866 2006-08-26  Bruno Haible  <bruno@clisp.org>
72867
72868         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
72869         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
72870         (Makefile.am): Create inttypes.h from inttypes_.h.
72871         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
72872
72873         * modules/imaxabs: New file.
72874
72875         * modules/imaxdiv: New file.
72876
72877 2006-08-26  Bruno Haible  <bruno@clisp.org>
72878
72879         * m4/inttypes.m4: New file.
72880         * m4/_inttypes_h.m4: Remove file.
72881         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
72882         PRI_MACROS_BROKEN.
72883         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
72884
72885         * m4/imaxabs.m4: New file.
72886
72887         * m4/imaxdiv.m4: New file.
72888
72889 2006-08-26  Bruno Haible  <bruno@clisp.org>
72890
72891         * lib/inttypes_.h: New file.
72892         * lib/inttypes.h: Remove file.
72893         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
72894
72895         * lib/imaxabs.c: New file.
72896
72897         * lib/imaxdiv.c: New file.
72898
72899 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72900
72901         New config-h module, so that "make" output needn't be cluttered
72902         by -DHAVE_CONFIG_H.
72903         * MODULES.html.sh (Support for building libraries and executables):
72904         Add config-h.
72905         * modules/config-h: New file.
72906         * gnulib-tool (nl, sed_transform_lib_file): New vars.
72907         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
72908         the config-h module is used.
72909
72910         New configmake module, so that "make" output needn't be cluttered
72911         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
72912         * MODULES.html.sh (Support for building libraries and executables):
72913         Add configmake.
72914         * modules/configmake: New file.
72915
72916 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
72917
72918         * m4/config-h.m4: New file.
72919
72920 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
72921
72922         * config/srclist.txt: Add elisp-comp.
72923
72924 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
72925
72926         * MODULES.html.sh (Support for building libraries and executables):
72927         Add elisp-comp.
72928         * build-aux/elisp-comp: New file.
72929         * modules/elisp-comp: New file.
72930
72931 2006-08-24  Bruno Haible  <bruno@clisp.org>
72932
72933         * gnulib-tool (func_create_testdir): Use non-default values of
72934         sourcebase and m4base.
72935
72936 2006-08-24  Bruno Haible  <bruno@clisp.org>
72937
72938         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
72939         HTML structure.
72940
72941 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
72942
72943         * modules/openat (Depends-on): Add lchown.
72944
72945 2006-08-23  Bruno Haible  <bruno@clisp.org>
72946
72947         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
72948         of gl_LOCK_EARLY instead of gl_LOCK.
72949
72950 2006-08-23  Bruno Haible  <bruno@clisp.org>
72951
72952         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
72953         on OSF/1 to no.
72954         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
72955
72956 2006-08-23  Bruno Haible  <bruno@clisp.org>
72957
72958         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
72959         as unusable.
72960
72961         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
72962         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
72963         (gl_LOCK): New macro.
72964
72965 2006-08-22  Simon Josefsson  <jas@extundo.com>
72966
72967         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
72968         to md5 module.
72969
72970 2006-08-22  Simon Josefsson  <jas@extundo.com>
72971
72972         * MODULES.html.sh: Add "Support for maintaining and release
72973         projects".
72974
72975         * build-aux/gnupload: New file, from coreutils.
72976
72977 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
72978
72979         Avoid the need for AC_LIBSOURCES in m4 macros.
72980         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
72981         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
72982         * modules/check-version (EXTRA_DIST): Add check-version.h.
72983         * modules/crc (EXTRA_DIST): Add crc.h.
72984         * modules/des (EXTRA_DIST): Add des.h.
72985         * modules/gc (EXTRA_DIST): Add gc.h.
72986         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
72987         * modules/getline (EXTRA_DIST): Add getline.h.
72988         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
72989         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
72990         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
72991         * modules/md2 (EXTRA_DIST): Add md2.h.
72992         * modules/md4 (EXTRA_DIST): Add md4.h.
72993         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
72994         * modules/read-file (EXTRA_DIST): Add read-file.h.
72995         * modules/readline (EXTRA_DIST): Add readline.h.
72996         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
72997         rijndael-api-fst.h.
72998
72999 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73000
73001         * m4/rijndael.m4 (gl_ARCFOUR):
73002         * m4/arctwo.m4 (gl_ARCTWO):
73003         * m4/check-version.m4 (gl_CHECK_VERSION):
73004         * m4/crc.m4 (gl_CRC):
73005         * m4/des.m4 (gl_DES):
73006         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
73007         * m4/gc.m4 (gl_GC):
73008         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
73009         * m4/getline.m4 (gl_FUNC_GETLINE):
73010         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
73011         * m4/hmac-md5.m4 (gl_HMAC_MD5):
73012         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
73013         * m4/md2.m4 (gl_MD2):
73014         * m4/md4.m4 (gl_MD4):
73015         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
73016         * m4/read-file.m4 (gl_FUNC_READ_FILE):
73017         * m4/readline.m4 (gl_FUNC_READLINE):
73018         * m4/rijndael.m4 (gl_RIJNDAEL):
73019         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
73020         to get the necessary .h files and whatnot.
73021
73022 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
73023
73024         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
73025         gnulib rather than the other way around.
73026         * config/srclistvars.sh (COREUTILS): Remove.
73027
73028 2006-08-22  Jim Meyering  <jim@meyering.net>
73029
73030         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
73031
73032         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
73033
73034 2006-08-22  Eric Blake  <ebb9@byu.net>
73035
73036         * modules/regexprops-generic: New file.
73037         * MODULES.html.sh (Support for building documentation): List it.
73038
73039 2006-08-22  Eric Blake  <ebb9@byu.net>
73040
73041         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
73042         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
73043         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
73044         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
73045
73046 2006-08-22  Bruno Haible  <bruno@clisp.org>
73047
73048         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
73049         and lib_LTLIBRARIES like the other lib_* variables.
73050
73051 2006-08-22  Bruno Haible  <bruno@clisp.org>
73052
73053         * build-aux/x-to-1.in: New file, from GNU gettext.
73054
73055 2006-08-22  Bruno Haible  <bruno@clisp.org>
73056
73057         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
73058         <utmpx.h> exists.
73059
73060 2006-08-22  Bruno Haible  <bruno@clisp.org>
73061
73062         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
73063         <utmpx.h> exists.
73064
73065 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73066
73067         BeOS portability.
73068         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
73069         exist.
73070         Problem reported by Bruno Haible.
73071
73072 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73073
73074         Avoid the need for AC_LIBSOURCES in m4 macros.
73075         * modules/acl (EXTRA_DIST): Add acl.h.
73076         * modules/argmatch (Files): Add m4/argmatch.m4.
73077         (configure.ac): Add gl_ARGMATCH.
73078         (EXTRA_DIST): Renamed from lib_SOURCES, for
73079         consistency with the other modules.  Remove argmatch.c.
73080         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
73081         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
73082         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
73083         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
73084         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
73085         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
73086         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
73087         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
73088         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
73089         * modules/closeout (EXTRA_DIST): Add closeout.h.
73090         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
73091         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
73092         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
73093         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
73094         dirname.h; remove basename.c and stripslash.c.
73095         * modules/exclude (EXTRA_DIST): Add exclude.h.
73096         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
73097         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
73098         * modules/file-type (EXTRA_DIST): Add file-type.h.
73099         * modules/filemode (EXTRA_DIST): Add filemode.h.
73100         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
73101         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73102         * modules/fpending (EXTRA_DIST): Add __fpending.h.
73103         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
73104         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
73105         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
73106         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
73107         * modules/getdate (EXTRA_DIST): Add getdate.c.
73108         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
73109         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
73110         * modules/getpass (EXTRA_DIST): Add getpass.h.
73111         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
73112         * modules/group-member (EXTRA_DIST): Add group-member.h.
73113         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
73114         * modules/hash (EXTRA_DIST): Add hash.h.
73115         * modules/human (EXTRA_DIST): Add human.h.
73116         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
73117         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
73118         * modules/lchown (EXTRA_DIST): Add lchown.h.
73119         * modules/long-options (EXTRA_DIST): Add long-options.h.
73120         * modules/lstat (EXTRA_DIST): Add lstat.h.
73121         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
73122         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
73123         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
73124         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
73125         * modules/memxor (EXTRA_DIST): Add memxor.h.
73126         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
73127         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
73128         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
73129         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
73130         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
73131         * modules/physmem (EXTRA_DIST): Add physmem.h.
73132         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
73133         * modules/posixver (EXTRA_DIST): Add posixver.h.
73134         * modules/quote (EXTRA_DIST): Add quote.h.
73135         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
73136         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
73137         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
73138         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
73139         regex_internal.h regexec.c.
73140         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
73141         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
73142         * modules/same (EXTRA_DIST): Add same.h.
73143         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
73144         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
73145         * modules/savedir (EXTRA_DIST): Add savedir.h.
73146         * modules/sha1 (EXTRA_DIST): Add sha1.h.
73147         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
73148         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
73149         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
73150         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
73151         * modules/strdup (EXTRA_DIST): Add strdup.h.
73152         * modules/strftime (EXTRA_DIST): Add strftime.h.
73153         * modules/strndup (EXTRA_DIST): Add strndup.h.
73154         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
73155         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
73156         * modules/time_r (EXTRA_DIST): Add time_r.h.
73157         * modules/timespec (EXTRA_DIST): Add timespec.h.
73158         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
73159         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
73160         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
73161         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
73162         * modules/userspec (EXTRA_DIST): Add userspec.h.
73163         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
73164         * modules/utimens (EXTRA_DIST): Add utimens.h.
73165         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
73166         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
73167         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
73168         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
73169         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
73170         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
73171         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
73172         * modules/yesno (EXTRA_DIST): Add yesno.h.
73173
73174 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
73175
73176         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
73177
73178         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
73179         * m4/dev-ino.m4, same-inode.m4: Remove.
73180
73181         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
73182         * m4/acl.m4 (AC_FUNC_ACL):
73183         * m4/backupfile.m4 (gl_BACKUPFILE):
73184         * m4/c-strtod.m4 (gl_C99_STRTOLD):
73185         * m4/canon-host.m4 (gl_CANON_HOST):
73186         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
73187         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
73188         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
73189         * m4/cloexec.m4 (gl_CLOEXEC):
73190         * m4/close-stream.m4 (gl_CLOSE_STREAM):
73191         * m4/closeout.m4 (gl_CLOSEOUT):
73192         * m4/dirfd.m4 (gl_FUNC_DIRFD):
73193         * m4/dirname.m4 (gl_DIRNAME):
73194         * m4/exclude.m4 (gl_EXCLUDE):
73195         * m4/exitfail.m4 (gl_EXITFAIL):
73196         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
73197         * m4/file-type.m4 (gl_FILE_TYPE):
73198         * m4/filemode.m4 (gl_FILEMODE):
73199         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
73200         * m4/fpending.m4 (gl_FUNC_FPENDING):
73201         * m4/fprintftime.m4 (gl_FPRINTFTIME):
73202         * m4/fts.m4 (gl_FUNC_FTS):
73203         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
73204         * m4/getdate.m4 (gl_GETDATE):
73205         * m4/gethrxtime.m4 (gl_GETHRXTIME):
73206         * m4/getpagesize.m4 (gl_GETPAGESIZE):
73207         * m4/getpass.m4 (gl_FUNC_GETPASS):
73208         * m4/gettime.m4 (gl_GETTIME):
73209         * m4/getugroups.m4 (gl_GETUGROUPS):
73210         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
73211         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
73212         * m4/hard-locale.m4 (gl_HARD_LOCALE):
73213         * m4/hash.m4 (gl_HASH):
73214         * m4/idcache.m4 (gl_IDCACHE):
73215         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
73216         * m4/lchown.m4 (gl_FUNC_LCHOWN):
73217         * m4/long-options.m4 (gl_LONG_OPTIONS):
73218         * m4/lstat.m4 (gl_FUNC_LSTAT):
73219         * m4/md5.m4 (gl_MD5):
73220         * m4/memcasecmp.m4 (gl_MEMCASECMP):
73221         * m4/memcoll.m4 (gl_MEMCOLL):
73222         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
73223         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
73224         * m4/memxor.m4 (gl_MEMXOR):
73225         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
73226         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
73227         * m4/modechange.m4 (gl_MODECHANGE):
73228         * m4/mountlist.m4 (gl_MOUNTLIST):
73229         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
73230         * m4/openat.m4 (gl_FUNC_OPENAT):
73231         * m4/pathmax.m4 (gl_PATHMAX):
73232         * m4/physmem.m4 (gl_PHYSMEM):
73233         * m4/posixtm.m4 (gl_POSIXTM):
73234         * m4/posixver.m4 (gl_POSIXVER):
73235         * m4/quote.m4 (gl_QUOTE):
73236         * m4/quotearg.m4 (gl_QUOTEARG):
73237         * m4/readtokens.m4 (gl_READTOKENS):
73238         * m4/readutmp.m4 (gl_READUTMP):
73239         * m4/regex.m4 (gl_REGEX):
73240         * m4/safe-read.m4 (gl_SAFE_READ):
73241         * m4/safe-write.m4 (gl_SAFE_WRITE):
73242         * m4/same.m4 (gl_SAME):
73243         * m4/save-cwd.m4 (gl_SAVE_CWD):
73244         * m4/savedir.m4 (gl_SAVEDIR):
73245         * m4/settime.m4 (gl_SETTIME):
73246         * m4/sha1.m4 (gl_SHA1):
73247         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
73248         * m4/stat-macros.m4 (gl_STAT_MACROS):
73249         * m4/stat-time.m4 (gl_STAT_TIME):
73250         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
73251         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
73252         * m4/strdup.m4 (gl_FUNC_STRDUP):
73253         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
73254         * m4/strndup.m4 (gl_FUNC_STRNDUP):
73255         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
73256         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
73257         * m4/time_r.m4 (gl_TIME_R):
73258         * m4/timespec.m4 (gl_TIMESPEC):
73259         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
73260         * m4/unlinkdir.m4 (gl_UNLINKDIR):
73261         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
73262         * m4/userspec.m4 (gl_USERSPEC):
73263         * m4/utimecmp.m4 (gl_UTIMECMP):
73264         * m4/utimens.m4 (gl_UTIMENS):
73265         * m4/xalloc.m4 (gl_XALLOC):
73266         * m4/xgetcwd.m4 (gl_XGETCWD):
73267         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
73268         * m4/xreadlink.m4 (gl_XREADLINK):
73269         * m4/xstrtod.m4 (gl_XSTRTOD):
73270         * m4/yesno.m4 (gl_YESNO):
73271         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
73272         to get the necessary .h files and whatnot.
73273
73274 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
73275             Bruno Haible  <bruno@clisp.org>
73276
73277         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
73278         /bin/sh understanding of '!' conditional negation.
73279
73280 2006-08-21  Jim Meyering  <jim@meyering.net>
73281
73282         * modules/openat (Depends-on): Really alphabetize.
73283
73284         * modules/acl (Depends-on): Add error and quote.
73285
73286         * check-module (find_included_lib_files): Add at-func.c to the
73287         ok-to-include-more-than-once white list.
73288
73289         * modules/openat (Depends-on): Add lstat.  Alphabetize.
73290
73291 2006-08-21  Bruno Haible  <bruno@clisp.org>
73292
73293         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73294         Emit a pkgdata_DATA variable only if some snippets add contents to it.
73295         Reported by Martin Lambers <marlam@marlam.de>.
73296
73297 2006-08-21  Bruno Haible  <bruno@clisp.org>
73298
73299         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
73300         specify an installation location, don't emit a noinst_LIBRARIES or
73301         noinst_LTLIBRARIES assignment.
73302
73303 2006-08-21  Bruno Haible  <bruno@clisp.org>
73304
73305         BeOS portability.
73306         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
73307         BeOS has mbrtowc() but no <wctype.h>.
73308
73309 2006-08-21  Bruno Haible  <bruno@clisp.org>
73310
73311         BeOS portability.
73312         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
73313         exist.
73314
73315 2006-08-21  Bruno Haible  <bruno@clisp.org>
73316
73317         BeOS portability.
73318         * lib/mbchar.h: Include <wctype.h> only if it exists.
73319
73320 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73321
73322         Remove files that are no longer needed by their respective modules.
73323         * m4/obstack.m4: Remove.
73324         * m4/strerror_r.m4: Remove.
73325         * m4/uint32_t.m4: Remove.
73326         * m4/uintptr_t.m4: Remove.
73327         * m4/ullong_max.m4: Remove.
73328         * m4/xstrtoimax.m4: Remove.
73329         * m4/xstrtoumax.m4: Remove.
73330
73331         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
73332         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
73333         dependencies now capture this.
73334
73335         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
73336         Do not use AC_LIBSOURCES, since gnulib modules now do this.
73337         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
73338         * m4/human.m4 (gl_HUMAN): Likewise.
73339         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
73340         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
73341
73342         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
73343
73344         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
73345         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
73346         stdint.
73347         * m4/human.m4 (gl_HUMAN): Likewise.
73348         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
73349         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
73350         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73351         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73352         * m4/xstrtol (gl_XSTRTOL): Likewise.
73353
73354         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
73355         AC_TYPE_LONG_LONG_INT.
73356         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
73357         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
73358         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
73359         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
73360
73361         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
73362         on stdbool.
73363
73364         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
73365         (gl_PREREQ_XSTRTOUL): Remove.
73366
73367         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
73368
73369         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
73370         mode.
73371
73372 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73373
73374         Add and change modules to make it easier for coreutils to use
73375         gnulib-tool.
73376         * modules/backupfile (Files): Remove m4/d-ino.m4.
73377         (Depends-on): Add d-ino.
73378         * modules/cycle-check (Depends-on): Add stdint.
73379         (lib_SOURCES): Add cycle-check.h.
73380         * modules/d-ino: New module.
73381         * modules/d-type: New module.
73382         * modules/error (Files): Remove m4/strerror_r.m4.
73383         * modules/filemode (Files): Add m4/st_dm_mode.m4.
73384         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
73385         m4/inttypes_h.m4, m4/uintmax_t.m4.
73386         (Depends-on): Add stdint.
73387         (lib_SOURCES): Add fsusage.h.
73388         * modules/getcwd (Files): Remove d-ino.m4.
73389         (Depends-on): Add d-ino.
73390         * modules/getndelim2 (Depends-on): Add stdint.
73391         * modules/glob (Files): Remove m4/d-type.m4.
73392         (Depends-on): Add d-type.
73393         * modules/host-os: New module.
73394         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
73395         m4/inttypes_h.m4, m4/uintmax_t.m4.
73396         * Depends-on: Add stdint.
73397         (lib_SOURCES): Add human.h.
73398         * modules/inttostr (Files): Remove m4/intmax_t.m4,
73399         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
73400         m4/uintmax_t.m4, m4/ulonglong.m4.
73401         (Depends-on): Add stdint.
73402         (EXTRA_DIST): Add inttostr.h.
73403         * modules/lchmod: New module.
73404         * modules/link-follow: New module.
73405         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
73406         (Depends-on): Add lchmod.
73407         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
73408         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
73409         (Depends-on): Add stdint.
73410         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
73411         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
73412         (Depends-on): Add stdint.
73413         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
73414         * modules/perl: New module.
73415         * modules/regex (Depends-on): Add stdint.
73416         * modules/rmdir-errno: New module.
73417         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73418         m4/intmax_t.m4.
73419         (Depends-on): Add stdint.
73420         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
73421         m4/uintmax_t.m4.
73422         (Depends-on): Add stdint.
73423         * modules/unlink-busy: New module.
73424         * modules/utimecmp (Depends-on): Add stdint.
73425         * modules/uptime: New module.
73426         * modules/winsz-ioctl: New module.
73427         * modules/winsz-termios: New module.
73428         * modules/xnanosleep (Depends-on): Add nanosleep.
73429         * modules/ullong_max: Remove.
73430         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
73431         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
73432         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
73433         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
73434         (Depends-on): Add inttypes.
73435         (lib_SOURCES): Add xstrtol.h.
73436         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
73437         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
73438         * MODULES.html.sh: Move 'assert' into the assert section.
73439         Move 'dummy' into the linking section.
73440         Remove ullong_max.
73441         Add section for compatibility checks for POSIX:2001 functions,
73442         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
73443         winsz-ioctl, and winsz-termios into it.
73444         Add lchmod.
73445         Add top-level Misc section and put host-os, perl, and uptime
73446         into it.
73447
73448 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
73449
73450         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
73451         now assume the stdint module.  Do not include inttypes.h.
73452         * lib/fsusage.h: Likewise.
73453         * lib/getndelim2.c: Likewise.
73454         * lib/human.h: Likewise.
73455         * lib/inttostr.h: Likewise.
73456         * lib/obstack.c: Likewise.
73457         * lib/regex_internal.h: Likewise.
73458         * lib/tempname.c: Likewise.
73459         * lib/utimecmp.c: Likewise.
73460         * lib/xstrtol.h: Likewise.
73461
73462         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
73463
73464         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
73465         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
73466         * lib/xtime.h: Likewise.
73467
73468 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73469
73470         * modules/openat (Files): Add lib/fchmodat.c.
73471         Fixes problem reported by Jay Youngman.
73472
73473 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
73474
73475         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
73476         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
73477
73478 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
73479             Bruno Haible  <bruno@clisp.org>
73480
73481         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
73482         and is a script that invokes bison. Tighten the code. Add comments.
73483
73484 2006-08-18  Jim Meyering  <jim@meyering.net>
73485
73486         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
73487         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
73488         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
73489         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
73490
73491 2006-08-18  Bruno Haible  <bruno@clisp.org>
73492
73493         * modules/bison-i18n: New file.
73494         * MODULES.html.sh (Internationalization functions): Add it.
73495
73496 2006-08-18  Bruno Haible  <bruno@clisp.org>
73497
73498         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
73499         sys/statvfs.h. When getmntinfo was found, check its declaration and
73500         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
73501
73502 2006-08-18  Bruno Haible  <bruno@clisp.org>
73503
73504         * m4/bison-i18n.m4: New file, from bison.
73505
73506 2006-08-18  Bruno Haible  <bruno@clisp.org>
73507
73508         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
73509         (ME_DUMMY): Treat "kernfs" as a dummy.
73510         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
73511
73512 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73513
73514         Update from coreutils.
73515
73516         2006-08-15  Jim Meyering  <jim@meyering.net>
73517
73518         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
73519
73520         2006-01-17  Jim Meyering  <jim@meyering.net>
73521
73522         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
73523
73524         2006-01-11  Jim Meyering  <jim@meyering.net>
73525
73526         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
73527         Check for the lchmod function.
73528
73529 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
73530
73531         Update from coreutils.
73532
73533         * lib/__fpending.h: Add copyright notice.
73534         * lib/fprintftime.h: Likewise.
73535         * lib/savedir.c: Use (C) in copyright notice.
73536         * lib/savedir.h: Likewise.
73537
73538         2006-08-15  Jim Meyering  <jim@meyering.net>
73539
73540         * lib/at-func.c: New file, with the logic of all emulated at-functions.
73541         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
73542         in support of the EXPECTED_ERRNO macro.
73543         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
73544         definitions.  Instead, define the appropriate symbols and include
73545         "at-func.c".
73546         * lib/mkdirat.c (mkdirat): Likewise.
73547         * lib/fchmodat.c (fchmodat): Likewise.
73548         (ENOSYS): Remove definition.
73549         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
73550         it.  Don't include "unistd--.h" -- it wasn't ever used.
73551
73552         2006-01-17  Jim Meyering  <jim@meyering.net>
73553
73554         Rewrite fts.c not to change the current working directory,
73555         by using openat, fstatat, fdopendir, etc..
73556
73557         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
73558         (HAVE_OPENAT_SUPPORT): Define.
73559         [_LIBC] (fchdir): Don't undef or define; no longer used.
73560         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
73561         Now, this `function' always succeeds, and consumes its file descriptor
73562         parameter -- so callers must not close such FDs.  Update callers.
73563         (diropen_fd, opendirat, cwd_advance_fd): New functions.
73564         (diropen): Add parameter, SP.  Adjust all callers.
73565         Implement using diropen_fd, rather than open.
73566         (fts_open): Initialize new member, fts_cwd_fd.
73567         Remove fts_rft-setting code.
73568         (fts_close): Close fts_cwd_fd, if necessary.
73569         (__opendir2): Define in terms of opendir or opendirat,
73570         depending on whether the FST_NOCHDIR flag is set.
73571         (fts_build): Since fts_safe_changedir consumes its FD, and since
73572         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
73573         and close the dup'd file descriptor upon failure.
73574         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
73575         (fts_safe_changedir): Tweak semantics to reflect that this function
73576         now calls cwd_advance_fd and hence consumes its FD argument.
73577         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
73578         [struct FTS] (fts_rft): Remove now-unused member.
73579         [struct FTS] (fts_cycle.state): Improve comment.
73580
73581         * lib/openat.c (openat_needs_fchdir): New function.
73582         * lib/openat.h (openat_needs_fchdir): Declare it.
73583
73584 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
73585
73586         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
73587         Problem and fix reported by Pádraig Brady in
73588         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
73589
73590 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73591
73592         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
73593
73594 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73595
73596         * lib/memcoll.c (memcoll): Optimize for the common case where the
73597         arguments are bytewise equal.
73598
73599 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
73600
73601         * doc/regexprops-generic.texi: Add a copyright notice.
73602
73603 2006-08-15  Bruno Haible  <bruno@clisp.org>
73604
73605         * modules/tmpdir (License): Change to LGPL.
73606
73607 2006-08-15  Bruno Haible  <bruno@clisp.org>
73608
73609         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
73610         module.
73611
73612 2006-08-14  Simon Josefsson  <jas@extundo.com>
73613
73614         * config/srclist.txt: Add gnupload.
73615
73616 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73617
73618         Change copyright notice from LGPL 2 to GPL 2, since that's the
73619         standard form used in the gnulib repository.
73620         * tests/test-lock.c: Likewise.
73621         * tests/test-stdint.c: Likewise.
73622         * tests/test-tls.c: Likewise.
73623
73624         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
73625         prelude-manager.  User shorter URLs for GNU projects, without '?'.
73626         Add copyright notice.
73627
73628         * check-module: Add copyright notice.  Output a copyright
73629         notice if "--version" is specified.
73630         * modules/COPYING: New file.
73631         * tests/test-getaddrinfo.c: Add copyright notice.
73632         * tests/test-verify.c: Likewise.
73633
73634 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73635
73636         Change copyright notice from LGPL 2 to GPL 2, since that's the
73637         standard form used in the gnulib repository.
73638         * lib/lock.c: LGPL -> GPL.
73639         * lib/lock.h: Likewise.
73640         * lib/strnlen1.c: Likewise.
73641         * lib/strnlen1.h: Likewise.
73642         * lib/tls.c: Likewise.
73643         * lib/tls.h: Likewise.
73644         * lib/tmpdir.c: Likewise.
73645
73646         * lib/TODO: Remove; this belongs only in coreutils.
73647
73648 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73649
73650         Add copyright notices to long-enough files that lack them, since
73651         otherwise the files aren't clearly free.  Use the same notice that
73652         getdate.texi already uses.
73653         * doc/alloca-opt.texi: Add copyright notice.
73654         * doc/alloca.texi: Likewise.
73655         * doc/ctime.texi: Likewise.
73656         * doc/functions.texi: Likewise.
73657         * doc/gcd.texi: Likewise.
73658         * doc/gnulib-tool.texi: Likewise.
73659         * doc/inet_ntoa.texi: Likewise.
73660         * doc/visibility.texi: Likewise.
73661
73662         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
73663         * doc/quote.texi: Add copyright notice.
73664
73665         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
73666         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
73667         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
73668         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
73669         is now obsolete, and give a pointer to the Sun list.
73670         Add copyright notice.
73671
73672 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
73673
73674         * config/srclistvars.sh: Add copyright notice.
73675
73676 2006-08-14  Eric Blake  <ebb9@byu.net>
73677
73678         Import the following change from libc:
73679
73680         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
73681
73682         Upstream bug 2997.
73683         * lib/misc/error.c: Add space between program name and message if file
73684         name is missing.
73685
73686 2006-08-12  Karl Berry  <karl@gnu.org>
73687
73688         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
73689         remove, these originate in gnulib now.
73690
73691 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73692
73693         * doc/Makefile (standards.info standards.html standards.dvi):
73694         Also depend on make-stds.texi.
73695
73696 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
73697
73698         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
73699         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
73700
73701         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
73702         in wchar_t.  Problem reported by Eric Blake.
73703
73704         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
73705         LEN is smaller than SIZE.  Suggested by Bruno Haible.
73706         Also, help the compiler to keep LEN in a register.
73707
73708 2006-08-11  Eric Blake  <ebb9@byu.net>
73709
73710         * users.txt: Sort.  Add tar.
73711
73712 2006-08-11  Bruno Haible  <bruno@clisp.org>
73713
73714         * users.txt: New file.
73715
73716 2006-08-11  Bruno Haible  <bruno@clisp.org>
73717
73718         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
73719         before <wchar.h>. Needed for OSF/1 and BSD/OS.
73720
73721 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
73722
73723         * modules/snprintf (Depends-on): Remove minmax.
73724         (Maintainer): Add self and Bruno.
73725
73726 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
73727
73728         * lib/.cppi-disable: Add snprintf.h, socket_.h.
73729         * lib/snprintf.c: Include <errno.h> and <limits.h>.
73730         (EOVERFLOW): Define if the system does not.
73731         Do not include "minmax.h"; it wasn't used.
73732         (snprintf): Don't assume size_t promotes to an unsigned type.
73733         Fix bug when generated string was too long for the buffer: the
73734         buffer's contents are supposed to be the initial prefix of the
73735         output.  Don't assume vasnprintf returns EOVERFLOW if the size
73736         exceeds INT_MAX; do the check ourselves.
73737
73738         Import the following changes from libc:
73739
73740         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
73741
73742         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
73743         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
73744         set wc to the byte which couldn't be converted.
73745         (re_string_reconstruct): Don't clear valid_raw_len before calling
73746         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
73747         tip_context using re_string_context_at.
73748
73749         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
73750
73751         * lib/posix/regex.h: g++ still cannot handled [restrict].
73752
73753         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
73754
73755         * lib/posix/regex.h: Remove special handling for VMS.
73756
73757 2006-08-10  Jim Meyering  <jim@meyering.net>
73758
73759         * modules/same-inode: New module.
73760         * modules/dev-ino: New module.
73761         * modules/cycle-check: Depend on these modules, rather than simply
73762         including their .h files.
73763         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
73764         required via m4/cycle-check.m4.
73765         * modules/same: Depend on new same-inode module, rather than
73766         including same-inode.h.
73767         * modules/chdir-safer: New file.
73768
73769         * modules/chown (Depends-on): Add stat-macros.
73770
73771 2006-08-10  Jim Meyering  <jim@meyering.net>
73772
73773         * m4/cycle-check.m4: New file.
73774         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
73775         * m4/dev-ino.m4, m4/same-inode.m4: New files.
73776
73777 2006-08-10  Eric Blake  <ebb9@byu.net>
73778
73779         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
73780         in from original proposal.
73781
73782 2006-08-10  Eric Blake  <ebb9@byu.net>
73783         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
73784
73785         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
73786         namespace.
73787
73788 2006-08-10  Bruno Haible  <bruno@clisp.org>
73789
73790         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
73791         as well.
73792
73793 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73794
73795         Sync from coreutils.
73796
73797         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
73798
73799         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
73800         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
73801
73802 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73803
73804         * modules/restrict: Remove; no longer needed now that we assume
73805         Autoconf 2.59 or later.
73806         * MODULES.html.sh: Remove 'restrict'.
73807         * modules/argp (Depends-on): Remove 'restrict'.
73808         * modules/base64 (Depends-on): Likewise.
73809         * modules/gc (Depends-on): Likewise.
73810         * modules/getaddrinfo (Depends-on): Likewise.
73811         * modules/glob (Depends-on): Likewise.
73812         * modules/inet_ntop (Depends-on): Likewise.
73813         * modules/inet_pton (Depends-on): Likewise.
73814         * modules/memxor (Depends-on): Likewise.
73815         * modules/regex (Depends-on): Likewise.
73816         * modules/strtok_r (Depends-on): Likewise.
73817         * modules/time_r (Depends-on): Likewise.
73818
73819 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
73820
73821         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
73822         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
73823         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
73824         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
73825         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
73826         * m4/memxor.m4 (gl_MEMXOR): Likewise.
73827         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
73828         gl_C_RESTRICT replaced by AC_C_RESTRICT.
73829
73830         Merge from coreutils.
73831         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
73832         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
73833         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
73834         * m4/time_r.m4 (gl_TIME_R): Likewise.
73835
73836 2006-08-09  Karl Berry  <karl@gnu.org>
73837
73838         * config/srclist.txt: no more gettext-tools, per Bruno.
73839
73840 2006-08-08  Eric Blake  <ebb9@byu.net>
73841
73842         * modules/verror: New module.
73843         * MODULES.html.sh: Document it.
73844
73845 2006-08-08  Eric Blake  <ebb9@byu.net>
73846
73847         * lib/verror.h, lib/verror.c: New files.
73848
73849 2006-08-08  Eric Blake  <ebb9@byu.net>
73850
73851         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
73852         verror_at_line output complies with GNU Coding Standards even when
73853         file is NULL.
73854
73855 2006-08-07  Bruno Haible  <bruno@clisp.org>
73856
73857         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
73858         versions of AIX.
73859         Reported by Ralf Wildenhues.
73860
73861 2006-08-07  Bruno Haible  <bruno@clisp.org>
73862
73863         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
73864         in an AC_DEFUN. Needed so that the autoconf snippets can use
73865         AC_REQUIRE.
73866
73867 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73868
73869         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73870         Initialize pkgdata_DATA.
73871         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
73872         overriding it.
73873
73874 2006-08-06  Eric Blake  <ebb9@byu.net>
73875
73876         * lib/error.h: Fold in some upstream changes from glibc.
73877         * lib/error.c: Likewise.
73878
73879 2006-08-04  Bruno Haible  <bruno@clisp.org>
73880
73881         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73882         Make the mostlyclean-local rule depend on mostlyclean-generic.
73883         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
73884
73885 2006-07-31  Bruno Haible  <bruno@clisp.org>
73886
73887         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
73888         <stdlib.h>, <string.h>.
73889
73890 2006-07-30  Bruno Haible  <bruno@clisp.org>
73891
73892         * modules/readlink (License): Change to LGPL.
73893
73894 2006-07-30  Bruno Haible  <bruno@clisp.org>
73895
73896         * modules/javaversion (Makefile.am): Distribute javaversion.java and
73897         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
73898         set PKGDATADIR to point to it.
73899
73900 2006-07-30  Bruno Haible  <bruno@clisp.org>
73901
73902         * modules/csharpexec (configure.ac): Comment out macro invocation.
73903         * modules/javaexec (configure.ac): Likewise.
73904         * modules/javacomp-script (configure.ac): Likewise.
73905
73906         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
73907
73908 2006-07-30  Bruno Haible  <bruno@clisp.org>
73909
73910         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
73911         linked-list.
73912
73913 2006-07-30  Bruno Haible  <bruno@clisp.org>
73914
73915         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
73916
73917 2006-07-30  Bruno Haible  <bruno@clisp.org>
73918
73919         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
73920         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
73921         get removed.
73922
73923 2006-07-29  Bruno Haible  <bruno@clisp.org>
73924
73925         Make it possible for gnulib-tool to work with locally modified or
73926         augmented gnulib repositories.
73927         * gnulib-tool (func_usage): Document --local-dir option.
73928         (local_gnulib_dir): New variable.
73929         Handle --local-dir option.
73930         (func_lookup_file): New function.
73931         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
73932         (func_get_description, func_get_filelist, func_get_description,
73933         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
73934         func_get_automake_snippet, func_get_include_directive,
73935         func_get_license, func_get_maintainer): Use func_lookup_file.
73936         (func_import, func_create_testdir): Use func_lookup_file.
73937
73938 2006-07-29  Bruno Haible  <bruno@clisp.org>
73939
73940         * modules/setenv (Depends-on): Add unistd.
73941
73942 2006-07-29  Bruno Haible  <bruno@clisp.org>
73943
73944         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
73945
73946 2006-07-29  Bruno Haible  <bruno@clisp.org>
73947
73948         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
73949
73950 2006-07-29  Bruno Haible  <bruno@clisp.org>
73951
73952         * gnulib-tool (import, update): If there is no Makefile.am, look at
73953         aclocal.m4, instead of bailing out.
73954
73955 2006-07-29  Bruno Haible  <bruno@clisp.org>
73956
73957         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
73958         Categorize the options by when they are useful.
73959
73960 2006-07-29  Bruno Haible  <bruno@clisp.org>
73961
73962         * gnulib-tool (func_usage): Document option --no-libtool.
73963         Handle option --no-libtool.
73964         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
73965         for changed semantics of $libtool variable.
73966         (func_import): Likewise. If libtool is not used, show this through
73967         an option --no-libtool.
73968         (func_create_testdir): Update.
73969
73970 2006-07-29  Bruno Haible  <bruno@clisp.org>
73971
73972         * gnulib-tool (func_import): Extend error message about missing
73973         --doc-base.
73974
73975 2006-07-29  Bruno Haible  <bruno@clisp.org>
73976
73977         * gnulib-tool (func_import): Don't create the $docbase directory if
73978         there is no file to store there.
73979
73980 2006-07-29  Bruno Haible  <bruno@clisp.org>
73981
73982         * gnulib-tool (autoconf_minversion): If a --dir option is given and
73983         relevant, look for configure.ac there, not in the current directory.
73984         Also use a simple search for AC_PREREQ, not "autoconf --trace".
73985
73986 2006-07-29  Bruno Haible  <bruno@clisp.org>
73987
73988         * gnulib-tool (SORT): New variable.
73989         (func_usage): Undocument --assume-autoconf option.
73990         Remove --assume-autoconf option handling.
73991         (autoconf_minversion): Determine from the contents of configure.ac.
73992         (func_import): Remove autoconf_minversion handling.
73993         Suggested by Eric Blake.
73994
73995 2006-07-29  Bruno Haible  <bruno@clisp.org>
73996
73997         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
73998
73999 2006-07-29  Bruno Haible  <bruno@clisp.org>
74000
74001         * config/srclist.txt (*setenv.[ch]): Remove rules.
74002
74003 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74004
74005         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
74006
74007 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74008
74009         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
74010         arpa/inet.h.
74011
74012 2006-07-28  Simon Josefsson  <jas@extundo.com>
74013
74014         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
74015         * modules/inet_pton (Depends-on): Likewise.
74016
74017 2006-07-28  Simon Josefsson  <jas@extundo.com>
74018
74019         * m4/netinet_in_h.m4: New file.
74020
74021 2006-07-28  Simon Josefsson  <jas@extundo.com>
74022
74023         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
74024         #include's.
74025
74026 2006-07-28  Simon Josefsson  <jas@extundo.com>
74027
74028         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
74029         #include's.
74030
74031 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
74032
74033         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
74034         setgid on directories only if they set these bits.
74035         * lib/modechange.h: Remove obsolete comment about masks.
74036
74037 2006-07-28  Eric Blake  <ebb9@byu.net>
74038
74039         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
74040         macro expansion.
74041
74042 2006-07-28  Bruno Haible  <bruno@clisp.org>
74043
74044         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
74045
74046 2006-07-28  Bruno Haible  <bruno@clisp.org>
74047
74048         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
74049
74050 2006-07-28  Bruno Haible  <bruno@clisp.org>
74051
74052         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
74053         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
74054         Define fallbacks.
74055         Avoids link error on FreeBSD 4.x.
74056         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
74057
74058         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
74059         encoding.
74060         * lib/mbswidth.c (iswcntrl): Likewise.
74061
74062 2006-07-27  Bruno Haible  <bruno@clisp.org>
74063
74064         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
74065         test.
74066
74067 2006-07-27  Bruno Haible  <bruno@clisp.org>
74068
74069         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
74070         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
74071         defined.
74072
74073 2006-07-26  Eric Blake  <ebb9@byu.net>
74074
74075         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
74076
74077 2006-07-26  Eric Blake  <ebb9@byu.net>
74078
74079         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
74080         like mingw that lack mkstemp.
74081         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
74082         avoid compilation warning on mingw.
74083
74084 2006-07-26  Bruno Haible  <bruno@clisp.org>
74085
74086         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
74087         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
74088         INT_FAST*_MIN, INTPTR_MIN.
74089
74090 2006-07-25  Bruno Haible  <bruno@clisp.org>
74091
74092         * modules/version-etc (Depends-on): Add stdarg.
74093
74094 2006-07-25  Bruno Haible  <bruno@clisp.org>
74095
74096         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
74097         complex commands.
74098
74099 2006-07-25  Bruno Haible  <bruno@clisp.org>
74100
74101         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
74102         defined in <stdarg.h> or config.h.
74103
74104 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74105
74106         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
74107         (gl_STDIO_SAFER): Remove.
74108
74109 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
74110
74111         * MODULES.html.sh (File stream based Input/Output):
74112         Add fopen-safer, tmpfile-safer; remove stdio-safer.
74113         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
74114         * modules/fopen-safer, modules/tmpfile-safer: New files.
74115         * modules/stdio-safer: Remove.
74116
74117 2006-07-24  Bruno Haible  <bruno@clisp.org>
74118
74119         * modules/tmpdir: New file.
74120         * MODULES.html.sh (File system functions): Add it.
74121
74122 2006-07-24  Bruno Haible  <bruno@clisp.org>
74123
74124         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
74125         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
74126
74127 2006-07-24  Bruno Haible  <bruno@clisp.org>
74128
74129         * modules/clean-temp: New file.
74130
74131 2006-07-24  Bruno Haible  <bruno@clisp.org>
74132
74133         * m4/tmpdir.m4: New file, from GNU gettext.
74134
74135 2006-07-24  Bruno Haible  <bruno@clisp.org>
74136
74137         * lib/tmpdir.h: New file, from GNU gettext.
74138         * lib/tmpdir.c: New file, from GNU gettext.
74139
74140 2006-07-24  Bruno Haible  <bruno@clisp.org>
74141
74142         * lib/clean-temp.h: New file, from GNU gettext.
74143         * lib/clean-temp.c: New file, from GNU gettext.
74144
74145 2006-07-23  Eric Blake  <ebb9@byu.net>
74146
74147         * modules/stdio-safer (Files): Add tmpfile-safer.c.
74148         (Depends-on): Add binary-io.
74149
74150 2006-07-23  Eric Blake  <ebb9@byu.net>
74151
74152         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
74153
74154 2006-07-23  Eric Blake  <ebb9@byu.net>
74155
74156         * lib/tmpfile-safer.c: New file.
74157         * lib/stdio-safer.h (fopen_safer): Add prototype.
74158         * lib/stdio--.h (tmpfile): Make safer.
74159
74160 2006-07-23  Bruno Haible  <bruno@clisp.org>
74161
74162         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
74163         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
74164         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
74165         gl_linked_remove_at): Use it.
74166
74167 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74168         and Simon Josefsson <jas@extundo.com>
74169
74170         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
74171
74172         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
74173
74174 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74175
74176         * modules/close-stream: New file.
74177         * modules/closeout (Description): Make it clear that it exits
74178         with a diagnostic on error.
74179         (Depends-on): Add close-stream.  Remove fpending, stdbool.
74180         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
74181
74182 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74183
74184         * m4/close-stream.m4: New file.
74185
74186 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
74187
74188         * lib/close-stream.c, lib/close-stream.h: New files.
74189
74190 2006-07-22  Bruno Haible  <bruno@clisp.org>
74191
74192         Merge from GNU gettext 0.15.
74193
74194         2006-05-01  Bruno Haible  <bruno@clisp.org>
74195
74196                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
74197
74198         2006-07-22  Bruno Haible  <bruno@clisp.org>
74199
74200                 * modules/javaversion: New file.
74201                 * MODULES.html.sh (Java): Add javaversion.
74202
74203         2006-03-12  Bruno Haible  <bruno@clisp.org>
74204
74205                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
74206
74207         2005-12-04  Bruno Haible  <bruno@clisp.org>
74208
74209                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
74210                 (untested).
74211
74212         2006-06-21  Bruno Haible  <bruno@clisp.org>
74213
74214                 Avoid warnings from recent versions of mcs.
74215                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
74216                 -o, -L, -r any more. Use options documented since mcs-1.0
74217                 instead. Similarly for -g.
74218
74219         2005-12-04  Bruno Haible  <bruno@clisp.org>
74220
74221                 * build-aux/csharpcomp.sh.in: Suffix for resources is
74222                 .resources, not .resource.
74223
74224         2005-07-09  Bruno Haible  <bruno@clisp.org>
74225
74226                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
74227                 add a .dll suffix.
74228                 Reported by Mark Junker <mjscod@gmx.de>.
74229
74230         2006-07-22  Bruno Haible  <bruno@clisp.org>
74231
74232                 * modules/gettext: Upgrade to gettext-0.15.
74233                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
74234                 m4/visibility.m4.
74235                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
74236
74237 2006-07-22  Bruno Haible  <bruno@clisp.org>
74238
74239         Merge from GNU gettext 0.15.
74240
74241         2006-03-25  Bruno Haible  <bruno@clisp.org>
74242
74243                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
74244
74245         2006-07-21  Bruno Haible  <bruno@clisp.org>
74246
74247                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
74248                 "1.1".
74249
74250         2006-05-09  Bruno Haible  <bruno@clisp.org>
74251
74252                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
74253                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
74254                 for the conftestver execution.
74255
74256         2006-05-01  Bruno Haible  <bruno@clisp.org>
74257
74258                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
74259                 optional target-version argument. Verify that the compiler
74260                 groks source of the specified source-version, or add -source
74261                 option as necessary. Verify that the compiler produces
74262                 bytecode in the specified target-version, or add -target and
74263                 -source options as necessary. Make the result of the test
74264                 available as variable CONF_JAVAC. Also log error output in
74265                 config.log.
74266
74267         2006-03-11  Bruno Haible  <bruno@clisp.org>
74268
74269                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
74270
74271         2006-05-09  Bruno Haible  <bruno@clisp.org>
74272
74273                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
74274                 CLASSPATH_SEPARATOR to a semicolon.
74275
74276         2006-03-12  Bruno Haible  <bruno@clisp.org>
74277
74278                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
74279                 available as variable CONF_JAVA, for subsequent autoconf
74280                 tests. Also log error output in config.log.
74281
74282         2006-07-19  Bruno Haible  <bruno@clisp.org>
74283
74284                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
74285                 that getline works on glibc2 systems. Needed to avoid trouble
74286                 in relocatable.c.
74287                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
74288
74289         2005-12-04  Bruno Haible  <bruno@clisp.org>
74290
74291                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
74292                 launcher (untested).
74293
74294         2005-12-04  Bruno Haible  <bruno@clisp.org>
74295
74296                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
74297
74298         2006-07-22  Bruno Haible  <bruno@clisp.org>
74299
74300                 * gettext.m4: Update from GNU gettext-0.15.
74301                 * nls.m4: Likewise.
74302                 * po.m4: Likewise.
74303                 * inttypes-pri.m4: Likewise.
74304                 * inttypes-h.m4: Renamed from inttypes.m4.
74305                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
74306
74307 2006-07-22  Bruno Haible  <bruno@clisp.org>
74308
74309         Merge from GNU gettext 0.15.
74310
74311         2005-07-05  Bruno Haible  <bruno@clisp.org>
74312
74313                 * printf-args.c (printf_fetchargs): Work around broken
74314                 definition of wint_t on mingw.
74315
74316         2005-02-12  Bruno Haible  <bruno@clisp.org>
74317
74318                 * xallocsa.h: Add extern "C" for C++.
74319
74320         2006-05-17  Bruno Haible  <bruno@clisp.org>
74321
74322                 Cygwin portability.
74323                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
74324
74325         2006-04-30  Bruno Haible  <bruno@clisp.org>
74326
74327                 * progreloc.c: Include <mach-o/dyld.h> if available.
74328                 (find_executable): Use _NSGetExecutablePath when possible.
74329
74330         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
74331
74332                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
74333                 function.
74334
74335         2005-12-29  Bruno Haible  <bruno@clisp.org>
74336
74337                 * progreloc.c (set_program_name_and_installdir): Fix
74338                 compilation error.
74339
74340         2005-12-04  Bruno Haible  <bruno@clisp.org>
74341
74342                 Cygwin portability.
74343                 * progreloc.c: Include <windows.h> also on Cygwin.
74344                 (find_executable): Add support for Cygwin.
74345                 (set_program_name_and_installdir): Handle also platforms with
74346                 nonempty EXEEXT.
74347
74348         2006-07-11  Bruno Haible  <bruno@clisp.org>
74349
74350                 * javacomp.c: Fix a comment.
74351                 Reported by Jim Meyering.
74352
74353         2006-04-30  Bruno Haible  <bruno@clisp.org>
74354
74355                 * javacomp.h (compile_java_class): Add source_version,
74356                 target_version arguments.
74357                 * javacomp.c: Rewritten to choose only a compiler that
74358                 respects the specified source_version and target_version.
74359
74360         2006-06-27  Bruno Haible  <bruno@clisp.org>
74361
74362                 Assume correct S_ISDIR macro.
74363                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
74364
74365         2006-07-22  Bruno Haible  <bruno@clisp.org>
74366
74367                 * javaversion.h: New file, from GNU gettext.
74368                 * javaversion.c: New file, from GNU gettext.
74369                 * javaversion.java: New file, from GNU gettext.
74370                 * javaversion.class: New file, from GNU gettext.
74371
74372         2006-05-17  Bruno Haible  <bruno@clisp.org>
74373
74374                 Cygwin portability.
74375                 * javaexec.c (execute_java_class): Test for jview program
74376                 also on Cygwin.
74377
74378         2006-04-09  Bruno Haible  <bruno@clisp.org>
74379
74380                 * fatal-signal.c: Don't include string.h.
74381                 (at_fatal_signal): Use a copying loop instead of memcpy.
74382
74383         2005-12-04  Bruno Haible  <bruno@clisp.org>
74384
74385                 * csharpexec.c: Add support for 'clix' launcher (untested).
74386                 (execute_csharp_using_sscli): New function.
74387                 (execute_csharp_program): Call it.
74388
74389         2006-06-21  Bruno Haible  <bruno@clisp.org>
74390
74391                 Avoid warnings from recent versions of mcs.
74392                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
74393                 -o, -L, -r any more. Use options documented since mcs-1.0
74394                 instead. Similarly for -g.
74395
74396         2005-07-09  Bruno Haible  <bruno@clisp.org>
74397
74398                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
74399                 add a .dll suffix.
74400                 Reported by Mark Junker <mjscod@gmx.de>.
74401
74402         2006-06-17  Bruno Haible  <bruno@clisp.org>
74403
74404                 * config.charset: Update for NetBSD 3.0.
74405
74406         2006-05-17  Bruno Haible  <bruno@clisp.org>
74407
74408                 Cygwin portability.
74409                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
74410
74411         2006-05-16  Bruno Haible  <bruno@clisp.org>
74412
74413                 * localcharset.c [CYGWIN]: Include <windows.h>.
74414                 (get_charset_aliases): For Cygwin, return the same CPxxx
74415                 aliases list as under WIN32.
74416                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
74417                 the environment variables. Fall back to GetACP().
74418
74419         2006-04-05  Bruno Haible  <bruno@clisp.org>
74420
74421                 * config.charset: Update Juan Manuel Guerrero's address.
74422
74423         2005-02-12  Bruno Haible  <bruno@clisp.org>
74424
74425                 * allocsa.h: Add extern "C" for C++.
74426
74427         2005-02-10  Bruno Haible  <bruno@clisp.org>
74428
74429                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
74430                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
74431
74432         2006-07-22  Bruno Haible  <bruno@clisp.org>
74433
74434                 * gettext.h: Update to GNU gettext-0.15.
74435
74436 2006-07-22  Bruno Haible  <bruno@clisp.org>
74437
74438         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
74439         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
74440         lib-prefix.m4, longdouble.m4, ssize_t.m4.
74441
74442 2006-07-21  Eric Blake  <ebb9@byu.net>
74443
74444         * modules/stdlib-safer: New file.
74445         * MODULES.html.sh (File stream based Input/Output): Add
74446         stdlib-safer.
74447
74448 2006-07-21  Eric Blake  <ebb9@byu.net>
74449
74450         * lib/stdlib-safer.h: New file from coreutils, required by
74451         stdlib--.h.
74452
74453 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
74454
74455         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
74456
74457 2006-07-20  Bruno Haible  <bruno@clisp.org>
74458
74459         * gnulib-tool: Recognize new option --assume-autoconf.
74460         (autoconf_minversion): New variable.
74461         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
74462
74463 2006-07-20  Bruno Haible  <bruno@clisp.org>
74464
74465         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
74466
74467 2006-07-19  Derek R. Price  <derek@ximbiot.com>
74468
74469         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
74470         Reindent and repaginate.
74471
74472 2006-07-19  Derek Price  <derek@ximbiot.com>
74473
74474         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
74475         Correct grammar.
74476
74477 2006-07-17  Bruno Haible  <bruno@clisp.org>
74478
74479         * modules/list: New file.
74480         * modules/array-list: New file.
74481         * modules/carray-list, modules/carray-list-tests: New files.
74482         * modules/linked-list, modules/linked-list-tests: New files.
74483         * modules/avltree-list, modules/avltree-list-tests: New files.
74484         * modules/rbtree-list, modules/rbtree-list-tests: New files.
74485         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
74486         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
74487         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
74488         * modules/oset: New file.
74489         * modules/array-oset: New file.
74490         * modules/avltree-oset, modules/avltree-oset-tests: New files.
74491         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
74492         * tests/test-carray_list.c: New file.
74493         * tests/test-linked_list.c: New file.
74494         * tests/test-avltree_list.c: New file.
74495         * tests/test-rbtree_list.c: New file.
74496         * tests/test-linkedhash_list.c: New file.
74497         * tests/test-avltreehash_list.c: New file.
74498         * tests/test-rbtreehash_list.c: New file.
74499         * tests/test-avltree_oset.c: New file.
74500         * tests/test-rbtree_oset.c: New file.
74501         * MODULES.html.sh (Container data structures): New section.
74502
74503 2006-07-17  Bruno Haible  <bruno@clisp.org>
74504
74505         * m4/gl_list.m4: New file.
74506
74507 2006-07-17  Bruno Haible  <bruno@clisp.org>
74508
74509         * lib/gl_list.h: New file.
74510         * lib/gl_list.c: New file.
74511         * lib/gl_array_list.h: New file.
74512         * lib/gl_array_list.c: New file.
74513         * lib/gl_carray_list.h: New file.
74514         * lib/gl_carray_list.c: New file.
74515         * lib/gl_linked_list.h: New file.
74516         * lib/gl_linked_list.c: New file.
74517         * lib/gl_anylinked_list1.h: New file.
74518         * lib/gl_anylinked_list2.h: New file.
74519         * lib/gl_avltree_list.h: New file.
74520         * lib/gl_avltree_list.c: New file.
74521         * lib/gl_anyavltree_list1.h: New file.
74522         * lib/gl_anyavltree_list2.h: New file.
74523         * lib/gl_rbtree_list.h: New file.
74524         * lib/gl_rbtree_list.c: New file.
74525         * lib/gl_anyrbtree_list1.h: New file.
74526         * lib/gl_anyrbtree_list2.h: New file.
74527         * lib/gl_anytree_list1.h: New file.
74528         * lib/gl_anytree_list2.h: New file.
74529         * lib/gl_linkedhash_list.h: New file.
74530         * lib/gl_linkedhash_list.c: New file.
74531         * lib/gl_anyhash_list1.h: New file.
74532         * lib/gl_anyhash_list2.h: New file.
74533         * lib/gl_avltreehash_list.h: New file.
74534         * lib/gl_avltreehash_list.c: New file.
74535         * lib/gl_rbtreehash_list.h: New file.
74536         * lib/gl_rbtreehash_list.c: New file.
74537         * lib/gl_anytreehash_list1.h: New file.
74538         * lib/gl_anytreehash_list2.h: New file.
74539
74540         * lib/gl_oset.h: New file.
74541         * lib/gl_oset.c: New file.
74542         * lib/gl_array_oset.h: New file.
74543         * lib/gl_array_oset.c: New file.
74544         * lib/gl_avltree_oset.h: New file.
74545         * lib/gl_avltree_oset.c: New file.
74546         * lib/gl_rbtree_oset.h: New file.
74547         * lib/gl_rbtree_oset.c: New file.
74548         * lib/gl_anytree_oset.h: New file.
74549
74550 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74551
74552         * m4/mkancesdirs.m4: New file.
74553         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
74554         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
74555         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
74556         it.
74557
74558 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74559
74560         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
74561         * lib/mkancesdirs.h: New files.
74562         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
74563         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
74564         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
74565         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
74566         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
74567         callers changed.  Revamp internals significantly, by not
74568         attempting to create directories that are temporarily more
74569         permissive than the final results.  Do not attempt to use
74570         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
74571         This removes some race conditions, fixes some bugs, and simplifies
74572         things.  Use new dirchownmod function to do owner and mode changes.
74573         * lib/mkdir-p.h: Likewise.
74574         * lib/modechange.c (octal_to_mode): New function.
74575         (struct mode_change): New member mentioned.
74576         (make_node_op_equals): New arg mentioned.  All callers changed.
74577         (mode_compile): Keep track of which mode bits the user has explicitly
74578         mentioned.
74579         (mode_adjust): New arg DIR, so that we implement the X op correctly.
74580         New arg PMODE_BITS, to keep track of which mode bits the user
74581         mentioned; it treats S_ISUID and S_ISGID speciall.
74582         All callers changed.
74583         * lib/modechange.h: Likewise.
74584
74585 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
74586
74587         * MODULES.html.sh: Add mkancestors.
74588         * modules/mkancesdirs: New module.
74589         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
74590         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
74591         The chdir-safer and afs files are now orphans; I'll remove them
74592         unless someone speaks up.
74593         Add lib/dirchownmod.c, lib/dirchownmod.h.
74594         (Depends-on): Remove alloca, chown, save-cwd, dirname.
74595         Add lchown, mkancesdirs.
74596         (Maintainer): Add self.
74597
74598 2006-07-15  Karl Berry  <karl@gnu.org>
74599
74600         * gnulib-tool: help message wording/arrangement.
74601
74602 2006-07-14  Simon Josefsson  <jas@extundo.com>
74603
74604         * doc/gnulib.texi (Libtool and Windows): New section.
74605
74606 2006-07-12  Simon Josefsson  <jas@extundo.com>
74607
74608         * modules/gendocs (License): Fix license, approved by Karl.
74609
74610 2006-07-12  Eric Blake  <ebb9@byu.net>
74611
74612         * MODULES.html.sh: Add gendocs.
74613
74614 2006-07-11  Eric Blake  <ebb9@byu.net>
74615
74616         * modules/fdl: New module, to install doc/fdl.texi.
74617         * MODULES.html.sh: Add new section for documentation modules.
74618         * gnulib-tool: Avoid space-tab.
74619         (--doc-base): New option, to manage files from doc.
74620
74621 2006-07-11  Eric Blake  <ebb9@byu.net>
74622
74623         * m4/absolute-header.m4: Fix comments to match recent change.
74624
74625 2006-07-11  Eric Blake  <ebb9@byu.net>
74626
74627         * gnulib-tool: List --doc-base before --tests-base.
74628
74629 2006-07-11  Derek R. Price  <derek@ximbiot.com>
74630
74631         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
74632
74633 2006-07-11  Bruno Haible  <bruno@clisp.org>
74634
74635         * README: Mention where to put documentation.
74636
74637 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74638
74639         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
74640
74641 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
74642
74643         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
74644         to stdint.m4.
74645
74646 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
74647
74648         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
74649         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
74650         "no/such/file/stdint.h" when there is no such file, so that
74651         the resulting C code can be parsed by dodgy compilers.
74652         Problems reported by Bob Proulx.
74653
74654 2006-07-10  Derek R. Price  <derek@ximbiot.com>
74655
74656         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
74657         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
74658         macros into the GNU _D_EXACT_NAMLEN.
74659         * lib/savedir.c:  Likewise.
74660         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
74661
74662 2006-07-10  Derek R. Price  <derek@ximbiot.com>
74663         and Paul Eggert  <eggert@cs.ucla.edu>
74664
74665         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
74666         * m4/savedir.m4:
74667         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
74668         macros into the GNU _D_EXACT_NAMLEN.
74669
74670 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74671
74672         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
74673         around the absolute name, to work around a problem with the HP-UX
74674         11.23 native C compiler, reported by Bob Proulx.
74675
74676 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74677
74678         * doc/maintain.texi, make-stds.texi: Sync from
74679         <http://savannah.gnu.org/projects/gnustandards>.
74680
74681 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
74682
74683         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
74684
74685 2006-07-09  Jim Meyering  <jim@meyering.net>
74686
74687         * m4/glob.m4: Remove a doubled word in a comment.
74688
74689 2006-07-09  Jim Meyering  <jim@meyering.net>
74690
74691         * lib/argp-pv.c: Remove a doubled word in a comment.
74692         * lib/check-version.c (check_version): Likewise.
74693         * lib/javacomp.c (compile_java_class): Likewise.
74694
74695 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
74696
74697         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
74698         for the benefit of people using Autoconf 2.60.  If you want to
74699         support older Autoconf versions you can copy m4/onceonly_2_57.m4
74700         (or m4/onceonly.m4, if pre-2.57) manually.
74701
74702 2006-07-08  Jim Meyering  <jim@meyering.net>
74703
74704         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
74705         comment.
74706         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
74707         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
74708         comment.
74709
74710 2006-07-08  Jim Meyering  <jim@meyering.net>
74711
74712         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
74713
74714 2006-07-07  Simon Josefsson  <jas@extundo.com>
74715
74716         * tests/test-crc.c: Change expected crc value, the test vector
74717         were probably computed using the old broken crc.c?
74718
74719 2006-07-06  Simon Josefsson  <jas@extundo.com>
74720
74721         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
74722         now the canonical place for the M4 file).
74723
74724         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
74725         from the sys_socket dependency now.
74726
74727         * modules/inet_pton (Files): Ditto.
74728
74729         * modules/inet_ntop (Files): Ditto.
74730
74731 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
74732
74733         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
74734         not gl_PREREQ_GETUSERSHELL.
74735
74736 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74737
74738         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
74739         with only one argument, for Autoconf 2.60.
74740         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
74741         expand to nothing, so add a shell command to avoid syntax error.
74742         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
74743
74744 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74745
74746         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
74747
74748 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74749
74750         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
74751         no longer needed.  Check for isblank decl.
74752         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
74753         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
74754         of existence.
74755
74756 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74757
74758         * lib/getloadavg.c: Use __VMS, not VMS.
74759         * lib/getopt.c: Likewise.
74760         * lib/getpagesize.h: Likewise.
74761         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
74762         and probably does not work.
74763
74764 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
74765
74766         * lib/.cppi-disable: Add wcwidth.
74767         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
74768         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
74769         (ISGRAPH): Remove.  All uses changed to isgraph.
74770         (FOLD) [!defined _LIBC]: Remove special case.
74771         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
74772         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
74773         HAVE_ISBLANK.
74774         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
74775         case.
74776
74777 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
74778
74779         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
74780         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
74781         brackets.  Other minor changes to suppress some compiler
74782         warnings.
74783
74784 2006-07-06  Derek R. Price  <derek@ximbiot.com>
74785         and Paul Eggert  <eggert@cs.ucla.edu>
74786
74787         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
74788         of invoking obsolescent AC_HEADER_DIRENT macro.
74789         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
74790         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
74791         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
74792         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
74793         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
74794         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
74795         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
74796         * m4/readdir.m4: Remove; no longer needed.
74797
74798 2006-07-06  Derek R. Price  <derek@ximbiot.com>
74799         and Paul Eggert  <eggert@cs.ucla.edu>
74800
74801         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
74802         Don't worry about this obsolete case any more.
74803         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
74804         directories.
74805         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
74806         worry about this obsolete case any more.
74807         * lib/fts.c: Likewise.
74808         * lib/getcwd.c: Likewise.
74809         * lib/glob.h: Likewise.
74810         * lib/savedir.c: Likewise.
74811
74812 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
74813
74814         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
74815         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
74816         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
74817         needed.
74818         All uses removed.
74819         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74820         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
74821         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
74822         needed.
74823         * m4/getdate.m4 (gl_GETDATE): Likewise.
74824         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
74825         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
74826         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
74827         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74828         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
74829         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74830         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
74831         needed.
74832
74833 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
74834
74835         * lib/memcasecmp.c: Include <limits.h>.
74836         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
74837         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
74838         Don't assume isdigit succeeds only on '0' through '9'.
74839
74840 2006-07-05  Eric Blake  <ebb9@byu.net>
74841
74842         * modules/getaddrinfo (Depends-on): Add snprintf.
74843
74844 2006-07-05  Eric Blake  <ebb9@byu.net>
74845
74846         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
74847         to avoid 'header present but could not be compiled' on cygwin.
74848
74849 2006-07-05  Eric Blake  <ebb9@byu.net>
74850
74851         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
74852         missing from netdb.h.
74853         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
74854
74855 2006-07-05  Derek R. Price  <derek@ximbiot.com>
74856
74857         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
74858         no longer needed.
74859         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
74860         * m4/getdate.m4 (gl_GETDATE): Likewise.
74861         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
74862         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
74863         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
74864         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
74865         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
74866
74867 2006-07-05  Derek R. Price  <derek@ximbiot.com>
74868
74869         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
74870         All uses of is_space replaced by isspace.
74871         * lib/exit.h: Don't talk about STDC_HEADERS.
74872         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
74873         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
74874         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
74875         replaced by isprint etc.
74876         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
74877         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
74878         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
74879         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
74880         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
74881         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
74882
74883 2006-07-05  Bruno Haible  <bruno@clisp.org>
74884
74885         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
74886         the function exists, before testing against AIX.
74887         Reported by Martin Lambers <marlam@marlam.de>.
74888
74889 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
74890
74891         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
74892         From Mark D. Baushke.
74893
74894 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
74895
74896         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
74897         to the absolute name, not just one, to bypass Sun C 5.8's
74898         "warning: #include of /usr/include/... may be non-portable".
74899
74900 2006-07-04  Eric Blake  <ebb9@byu.net>
74901
74902         * modules/dirname-tests: New test module.
74903         * tests/test-dirname.c: New file, replacing dirname.c
74904         TEST_DIRNAME section that was recently deleted.
74905
74906 2006-07-04  Bruno Haible  <bruno@clisp.org>
74907
74908         Assume ANSI C header files and <ctype.h> functions.
74909         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
74910         (mbsnwidth): Use isprint, iscntrl instead.
74911
74912 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74913
74914         Merge from coreutils.
74915         * MODULES.html.sh: Add xstrtold.
74916         * modules/xstrtold: New file.
74917         * modules/cycle-check (Files): Add lib/same-inode.h.
74918         * modules/dirname (Files): Add m4/double-slash-root.m4.
74919         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
74920         * modules/mkdir-p (Files): Add lib/same-inode.h.
74921         * modules/same (Files): Add lib/same-inode.h.
74922
74923 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74924
74925         * m4/absolute-header.m4: Renamed from full-header-path.m4.
74926         This is to keep the terminology clean; POSIX talks about
74927         "absolute pathnames", not "full pathnames", but the GNU
74928         Coding Standards say to use "path" for something else;
74929         so use "absolute" to keep both sides happy.
74930         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
74931         Set gl_absolute_header, not gl_full_header_path.
74932         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
74933         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
74934         All uses changed.
74935
74936         Merge from coreutils.
74937
74938         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
74939
74940         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
74941         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
74942         want to require the building of c-strtod.o.
74943         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
74944         needs -lm directly.
74945         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
74946
74947         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
74948
74949         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
74950         --as-needed option if available.  Problem reported by Albert Chin in
74951         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
74952         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
74953         cc merely issues a bunch of annoying warnings for --as-needed
74954         (this problem was reported by Bob Proulx).  Also, try linking with
74955         -lm to detect a bug in binutils 2.16 (this problem was reported
74956         by Ralf Wildenhues).
74957
74958         2006-06-18  Jim Meyering  <jim@meyering.net>
74959
74960         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
74961         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
74962         macro.
74963         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
74964         also check for glibc-2.4's abort-inducing bug.
74965
74966         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
74967         Low-probability clean-up should be to use rmdir to get rid of
74968         the just-created directory, not unlink.
74969
74970         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
74971         configure fail, and request a bug report to inform us about it.
74972         Add a comment that, barring reports to the contrary, in 2007 we'll
74973         assume ftruncate is universally available.
74974
74975         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
74976
74977         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
74978
74979         2006-03-12  Jim Meyering  <jim@meyering.net>
74980
74981         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
74982         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
74983         * m4/same.m4 (gl_SAME): Likewise.
74984         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
74985
74986         2006-03-11  Eric Blake  <ebb9@byu.net>
74987
74988         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
74989         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
74990         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
74991         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
74992
74993 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
74994
74995         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
74996         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
74997         reported by Mark D. Baushke, one in
74998         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
74999
75000         Merge from coreutils.
75001
75002         * lib/.cppi-disable: Add stdint_.h.
75003         * lib/.cvsignore: Add stdint.h.
75004
75005         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
75006
75007         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
75008         both double and long double versions.
75009         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
75010         * lib/xstrtold.c: New file.
75011         * lib/xstrtod.h (xstrtold): New decl.
75012
75013         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
75014
75015         * lib/filemode.c (setst): Remove.
75016         (strmode): Rewrite to avoid setst.  This makes the code shorter,
75017         (arguably) clearer, and the generated code is a bit smaller on my
75018         Debian GNU/Linux stable x86 host.
75019
75020         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
75021
75022         * lib/filemode.c: Include "filemode.h" first, to test the interface.
75023         Assume that filemode.h includes sys/types.h and sys/stat.h.
75024         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
75025         (ftypelet): Reorder to put common cases first, for efficiency.
75026         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
75027         to do 'M'.
75028         (strmode): Renamed from mode_string, and now stores 12 bytes instead
75029         of 10, for compatibility with FreeBSD.  All callers changed.
75030         (filemodestring): Now stores 12 bytes instead of 10, and sets file
75031         types that can't be deduced solely from st_mode.  First arg is now a
75032         const pointer.
75033         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
75034         (strmode): Renamed from mode_string.
75035         (filemodestring): New decl.
75036         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
75037         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
75038         needed.
75039         (S_ISPORT, S_ISWHT): New macros, if not already defined.
75040
75041         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
75042
75043         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
75044         fsusage.h now does that.  Include fsusage.h first, to test interface.
75045         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
75046         at most one method (the old code could have generated decls that
75047         didn't conform to C89, not that this was ever exercised).
75048         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
75049
75050         2006-03-19  Jim Meyering  <jim@meyering.net>
75051
75052         Work even in a chroot where d_ino values for entries in "/"
75053         don't match the stat.st_ino values for the same names.
75054         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
75055         number, iterate through all entries again, using lstat instead.
75056         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
75057         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
75058
75059         * lib/getcwd.c (__getcwd): Clarify a comment.
75060         Use memcpy in place of a call to strcpy.
75061
75062         2006-03-12  Jim Meyering  <jim@meyering.net>
75063
75064         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
75065         matches that of the current directory (which we're about to chdir ".."
75066         out of), then save the dev-ino of the parent, instead.
75067
75068         * lib/same-inode.h (SAME_INODE): New file/macro.
75069         * lib/chdir-safer.c (SAME_INODE): Remove definition.
75070         Include "same-inode.h", instead.
75071         * lib/same.c: Likewise.
75072         * lib/cycle-check.h: Include "same-inode.h".
75073         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
75074         * lib/cycle-check.c (SAME_INODE): Remove definition.
75075         * lib/root-dev-ino.h: Include "same-inode.h".
75076
75077         2006-03-11  Eric Blake  <ebb9@byu.net>
75078
75079         * lib/same.c (same_name): s/base_name/last_component/
75080         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
75081         * lib/filenamecat.c (file_name_concat): Likewise.
75082
75083         2006-03-11  Eric Blake  <ebb9@byu.net>,
75084                     Paul Eggert  <eggert@cs.ucla.edu>
75085
75086         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
75087         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
75088         drive prefix.
75089         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
75090         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
75091         (last_component): New method.
75092         * lib/dirname.c (dir_len): Determine when drive letters need a
75093         subsequent slash.  Preserve // when it is special.
75094         (dir_name): Don't append dot when drive letter is absolute.
75095         [TEST_DIRNAME]: Move into a full-blown gnulib test.
75096         * lib/basename.c (base_name): New semantics - malloc the result.
75097         Preserve // when it is special.  Preserve relative files that look
75098         like drive letters.
75099         (base_len): Preserve // when it is special.
75100         (last_component): New method, similar to old base_name semantics.
75101         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
75102         base_name.  Strip redundant slashes from ///.
75103
75104 2006-07-03  Jim Meyering  <jim@meyering.net>
75105
75106         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
75107         macro is used before the first cycle_check call.
75108
75109 2006-07-03  Eric Blake  <ebb9@byu.net>
75110
75111         * modules/dirname (Depends-on): Add xstrndup.
75112
75113 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75114
75115         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
75116         test cases, so that config.log is a bit easier to follow.
75117
75118 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
75119
75120         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
75121         both are 64 bits, since this seems to be the tradition, and this
75122         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
75123         we ever run into a host that prefers long long to long in this
75124         case, we'll need another configure-time test.  Problem reported by
75125         Jim Meyering.
75126
75127 2006-07-02  Eric Blake  <ebb9@byu.net>
75128
75129         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
75130
75131 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75132
75133         * modules/inttypes (Depends-on): No longer depends on stdint.
75134         * modules/stdint (Description): Say more about assumptions.
75135         Say that the fast types might differ.  Say macros are used.
75136         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
75137         (Makefile.am): Revise list of substituted symbols to match
75138         new stdint.m4.
75139         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
75140         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
75141         * tests/test-stdint.c (verify_same_types)
75142         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
75143         the code conforms to C99/C89.
75144         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
75145         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
75146
75147 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75148
75149         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
75150         but fix a bug, by requiring at least 64 bits.
75151         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
75152         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
75153         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
75154         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
75155
75156         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
75157         changes.  Make 2.59 a prerequisite.  Check and substitute for
75158         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
75159         inttypes.h.  Do not use special include files; just use the
75160         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
75161         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
75162         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
75163         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
75164         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
75165         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
75166         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
75167         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
75168         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
75169         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
75170         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
75171         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
75172         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
75173         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
75174         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
75175         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
75176         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
75177         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
75178         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
75179         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
75180         WINT_MAX.  Check for C99 conformance more strictly, by detecting
75181         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
75182         not check for things that C99 does not require, e.g., int8_t.  If
75183         a test isn't needed unless <stdint.h> isn't working, and is
75184         unlikely to be needed for any other reason, then don't do it
75185         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
75186         size_t, since we assume C89 freestanding at least.  Do not check
75187         for sig_atomic_t, wchar_t, or wint_t, since the code now does
75188         the right thing even if the types are not defined.  Instead use:
75189         (gl_STDINT_TYPE_PROPERTIES): New macro.
75190         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
75191         testing whether <sys/types.h> clashes, as Autoconf does this for
75192         us now.  All uses removed.
75193         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
75194         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
75195         (gl_CHECK_TYPE_SAME):
75196         Remove; no longer needed.
75197         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
75198         exists, since we'll return 0 anyway in that case.
75199         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
75200
75201 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
75202
75203         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
75204         possible collision with system files.
75205         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
75206         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
75207         WCHAR_MIN and WCHAR_MAX in this case.
75208         (<stddef.h>): Do not include; no longer needed.
75209         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
75210         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
75211         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
75212         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
75213         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
75214         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
75215         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
75216         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
75217         !defined(__c99))]: Include in this case too, since it's harmless
75218         now.
75219         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
75220         dangerous to do so.
75221         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
75222         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
75223         (_STDINT_MIN, _STDINT_MAX): New macros.
75224         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
75225         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
75226         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
75227         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
75228         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
75229         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
75230         macros, not typedefs; this simplifies things quite a bit.
75231         Use long int for all types narrower than int64_t.
75232         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
75233         Define in terms of long long int or int64_t or long int,
75234         not int64_t or int32_t.  This saves some compile-time testing.
75235         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
75236         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
75237         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
75238         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
75239         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
75240         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
75241         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
75242         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
75243         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
75244         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
75245         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75246         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75247         undef any previous version and define our own version, for
75248         simplicity and consistency with the new macros for types.
75249         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
75250         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
75251         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
75252         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
75253         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
75254         @WINT_T_SUFFIX@ to keep things simple here.
75255         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
75256         Simplify by assuming typical 8/16/32/64 host, since we're
75257         already doing that elsewhere anyway.
75258         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
75259         and assume long long int is 64 bits if available.  This
75260         speeds up 'configure'.
75261
75262 2006-07-01  Eric Blake  <ebb9@byu.net>
75263
75264         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
75265         Reported by Andreas Buening.
75266
75267 2006-07-01  Eric Blake  <ebb9@byu.net>
75268
75269         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
75270
75271 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
75272
75273         * lib/getaddrinfo.c: fixed typo
75274
75275 2006-06-29  Jim Meyering  <jim@meyering.net>
75276
75277         * modules/strftime (Maintainer): Add my name, since with the
75278         FPRINTFTIME changes strftime.c has forked from glibc.
75279
75280 2006-06-29  Eric Blake  <ebb9@byu.net>
75281
75282         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
75283
75284 2006-06-29  Eric Blake  <ebb9@byu.net>
75285
75286         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
75287
75288 2006-06-29  Eric Blake  <ebb9@byu.net>
75289
75290         * lib/stat_.h: New file.
75291
75292 2006-06-29  Eric Blake  <ebb9@byu.net>
75293
75294         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
75295         unused static function.
75296
75297 2006-06-29  Eric Blake  <ebb9@byu.net>
75298
75299         * doc/functions.texi (Function Portability): Document missing lstat
75300         on mingw.
75301
75302 2006-06-29  Eric Blake  <ebb9@byu.net>
75303
75304         * MODULES.html.sh: Add sys_stat.
75305         * modules/sys_stat: New module.
75306         * modules/mkstemp (Depends-on): Add sys_stat.
75307
75308 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75309
75310         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
75311
75312 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75313
75314         * m4/c-bs-a.m4: Removed.
75315
75316 2006-06-29  Derek R. Price  <derek@ximbiot.com>
75317
75318         * lib/strftime.c: Assume strftime() exists.
75319
75320 2006-06-29  Derek Price  <derek@ximbiot.com>
75321
75322         * modules/c-bs-a: Removed - \a is C89.
75323         * MODULES.html.sh: Remove c-bs-a.
75324
75325 2006-06-29  Bruno Haible  <bruno@clisp.org>
75326
75327         * modules/wcwidth (License): Change to LGPL.
75328
75329 2006-06-28  Simon Josefsson  <jas@extundo.com>
75330
75331         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
75332         on _WIN32.
75333
75334         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
75335         getnameinfo.
75336
75337 2006-06-28  Simon Josefsson  <jas@extundo.com>
75338
75339         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
75340
75341 2006-06-28  Simon Josefsson  <jas@extundo.com>
75342
75343         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
75344         functions there.  It will succeed on Windows XP, but on Windows
75345         2000 and (presumably) earlier, it will fail, and use the internal
75346         re-implementation.
75347         (use_win32_p): New function.
75348         (getaddrinfo): Use strtoul on servname, to support numeric ports.
75349         Support AI_NUMERICSERV to disable getservbyname.
75350         (getnameinfo): New function, only supports
75351         NI_NUMERICHOST|NI_NUMERICSERV for now.
75352
75353         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
75354         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
75355         getnameinfo.
75356
75357 2006-06-28  Eric Blake  <ebb9@byu.net>
75358
75359         * modules/wcwidth: New file.
75360         * modules/mbchar (Depends-on): Add wcwidth.
75361         * modules/mbswidth (Depends-on): Add wcwidth.
75362         * MODULES.html.sh: Add wcwidth.
75363
75364 2006-06-28  Eric Blake  <ebb9@byu.net>
75365
75366         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
75367         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
75368
75369 2006-06-28  Eric Blake  <ebb9@byu.net>
75370
75371         * lib/xvasprintf.h: Fix comments.
75372
75373 2006-06-28  Eric Blake  <ebb9@byu.net>
75374
75375         * lib/mbchar.h (wcwidth): Include wcwidth.h.
75376         * lib/mbswidth.c (wcwidth): Move from here...
75377         * lib/wcwidth.h: ...to this new file.
75378
75379 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75380
75381         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
75382
75383         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
75384         it's obsolete.
75385         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
75386
75387 2006-06-28  Derek R. Price  <derek@ximbiot.com>
75388
75389         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
75390         Autoconf 2.60 says this stuff was obsolete.
75391
75392 2006-06-28  Bruno Haible  <bruno@clisp.org>
75393
75394         * modules/wcwidth (Files): Add m4/wchar_t.m4.
75395
75396 2006-06-28  Bruno Haible  <bruno@clisp.org>
75397
75398         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
75399         gt_TYPE_WCHAR_T.
75400
75401 2006-06-28  Bruno Haible  <bruno@clisp.org>
75402
75403         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
75404         declaration for wcwidth.
75405         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctypes.h>.
75406
75407 2006-06-28  Bruno Haible  <bruno@clisp.org>
75408
75409         * lib/mkdtemp.c [MINGW]: Include <io.h>.
75410         (mkdir): Define using _mkdir.
75411
75412 2006-06-28  Bruno Haible  <bruno@clisp.org>
75413
75414         * lib/getaddrinfo.h: Fix POSIX URL.
75415         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
75416         _WIN32.
75417         (use_win32_p): Make static.
75418         (getaddrinfo): Reject service name if it is empty or does not consist
75419         solely of decimal digits, or if its value is > 65535.
75420         (getnameinfo): Remove useless casts.
75421
75422 2006-06-27  Simon Josefsson  <jas@extundo.com>
75423
75424         * modules/sys_select: New file, suggested by Bruno Haible, Paul
75425         Eggert and Martin Lambers.
75426
75427 2006-06-27  Simon Josefsson  <jas@extundo.com>
75428
75429         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
75430         Eggert and Martin Lambers.
75431
75432 2006-06-27  Bruno Haible  <bruno@clisp.org>
75433
75434         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
75435         result to 0, not to empty.
75436         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
75437
75438 2006-06-27  Bruno Haible  <bruno@clisp.org>
75439
75440         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
75441
75442 2006-06-26  Simon Josefsson  <jas@extundo.com>
75443
75444         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
75445         present.
75446
75447 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
75448
75449         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
75450         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
75451         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
75452
75453 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
75454
75455         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
75456
75457 2006-06-26  Bruno Haible  <bruno@clisp.org>
75458
75459         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
75460
75461 2006-06-26  Bruno Haible  <bruno@clisp.org>
75462
75463         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
75464
75465 2006-06-26  Bruno Haible  <bruno@clisp.org>
75466
75467         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
75468         SGI C compiler in pre-C99 mode.
75469         Suggested by Mark D. Baushke and Larry Jones.
75470
75471 2006-06-26  Bruno Haible  <bruno@clisp.org>
75472
75473         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
75474         WCHAR_MAX.
75475         Reported by Mark D. Baushke and Larry Jones.
75476
75477 2006-06-26  Bruno Haible  <bruno@clisp.org>
75478
75479         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
75480         in pre-C99 mode.
75481         Suggested by Mark D. Baushke and Larry Jones.
75482
75483 2006-06-23  Simon Josefsson  <jas@extundo.com>
75484             Bruno Haible  <bruno@clisp.org>
75485
75486         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
75487         Emit mostlyclean-local rule.
75488         (func_emit_tests_Makefile_am): Likewise.
75489         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
75490
75491 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
75492
75493         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
75494
75495 2006-06-23  Bruno Haible  <bruno@clisp.org>
75496
75497         * tests/test-stdint.c: Update to match ISO C 99 Technical
75498         Corrigendum 1.
75499
75500 2006-06-23  Bruno Haible  <bruno@clisp.org>
75501
75502         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
75503
75504 2006-06-23  Bruno Haible  <bruno@clisp.org>
75505
75506         * lib/stdint_.h: Treat IRIX like OpenBSD.
75507
75508 2006-06-23  Bruno Haible  <bruno@clisp.org>
75509
75510         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
75511         ISO C 99 Technical Corrigendum 1.
75512
75513 2006-06-22  Simon Josefsson  <jas@extundo.com>
75514
75515         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
75516         MinGW.
75517
75518 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
75519
75520         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
75521         needed.  Some compiler complained about some of them.  Problem reported
75522         by Larry Jones in
75523         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
75524
75525 2006-06-21  Simon Josefsson  <jas@extundo.com>
75526
75527         * tests/test-getaddrinfo.c: New file.
75528
75529         * modules/getaddrinfo-tests: New file.
75530
75531         * MODULES.html.sh: Add inet_pton.
75532
75533         * modules/inet_pton: New file.
75534
75535 2006-06-21  Simon Josefsson  <jas@extundo.com>
75536
75537         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
75538         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
75539         of using the (limited) gnulib implementation on Windows XP.
75540
75541         * m4/inet_pton.m4: New file.
75542
75543 2006-06-21  Simon Josefsson  <jas@extundo.com>
75544
75545         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
75546         variable.
75547
75548         * lib/socket_.h: Don't define WINVER.
75549
75550         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
75551         slightly modified to work in gnulib.
75552
75553 2006-06-21  Simon Josefsson  <jas@extundo.com>
75554
75555         * doc/gnulib.texi (Windows sockets): Add.
75556
75557 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
75558
75559         * lib/read-file.c (fread_file): Start with buffer allocation of
75560         0 bytes rather than 1 byte; this simplifies the code.
75561         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
75562         code to free buffer and save/restore errno.
75563         (internal_read_file): Remove unused local.
75564
75565 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
75566
75567         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
75568         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
75569         Problem reported by Denis Excoffier in
75570         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
75571
75572 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75573
75574         * modules/sys_socket, modules/socklen: Include sys/types since
75575         FreeBSD 4.x's sys/socket.h needs it.
75576
75577 2006-06-19  Simon Josefsson  <jas@extundo.com>
75578
75579         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
75580
75581 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
75582
75583         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
75584
75585 2006-06-19  Bruno Haible  <bruno@clisp.org>
75586
75587         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
75588         and FULL_PATH_INTTYPES_H in angle brackets.
75589         Reported by Mark D. Baushke <mdb@gnu.org>.
75590
75591 2006-06-17  Eric Blake  <ebb9@byu.net>
75592
75593         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
75594         errno.
75595
75596 2006-06-17  Bruno Haible  <bruno@clisp.org>
75597
75598         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
75599         <sys/inttypes.h>.
75600
75601 2006-06-17  Bruno Haible  <bruno@clisp.org>
75602
75603         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
75604         whether errno is declared. Assume <errno.h> declares errno.
75605
75606 2006-06-17  Bruno Haible  <bruno@clisp.org>
75607
75608         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
75609
75610 2006-06-17  Bruno Haible  <bruno@clisp.org>
75611
75612         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
75613         problem on Solaris 2.5.1.
75614
75615 2006-06-16  Eric Blake  <ebb9@byu.net>
75616
75617         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
75618         * lib/unicodeio.c [!defined errno]: Likewise.
75619         * lib/strtol.c [!defined errno]: Likewise.
75620         * lib/strtod.c [!defined errno]: Likewise.
75621
75622 2006-06-15  Eric Blake  <ebb9@byu.net>
75623
75624         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
75625
75626 2006-06-15  Eric Blake  <ebb9@byu.net>
75627
75628         * config/srclist.txt (ssize_t.m4): Lose sync.
75629
75630 2006-06-15  Bruno Haible  <bruno@clisp.org>
75631
75632         * modules/stdint (Files): Include m4/full-header-path.m4,
75633         m4/size_max.m4, m4/wchar_t.m4.
75634         (Makefile.am): Many more substitutions.
75635         * modules/stdint-tests: New file.
75636         * tests/test-stdint.c: New file.
75637
75638 2006-06-15  Bruno Haible  <bruno@clisp.org>
75639
75640         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
75641         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
75642         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
75643         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
75644         gl_CHECK_TYPE_SAME): New macros.
75645
75646 2006-06-15  Bruno Haible  <bruno@clisp.org>
75647
75648         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
75649
75650 2006-06-15  Bruno Haible  <bruno@clisp.org>
75651
75652         * lib/stdint_.h: Rewritten to be fully auto-configured.
75653         Fixes bug on HP-UX/IA64.
75654
75655 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
75656
75657         * lib/getdate.y (__attribute__): Don't define if already defined.
75658         Problem reported by Larry Jones.
75659         * lib/utimens.c (__attribute__): Likewise.
75660
75661 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
75662
75663         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
75664         reported by Andreas Schwab.
75665
75666 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75667             Bruno Haible  <bruno@clisp.org>
75668
75669         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
75670         check for the declaration of strnlen and a run test that exposes the
75671         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
75672         rpl_strndup.
75673
75674 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75675             Bruno Haible  <bruno@clisp.org>
75676
75677         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
75678
75679 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75680
75681         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
75682         compile test, for Tru64 4.0D.
75683
75684 2006-05-28  Karl Berry  <karl@gnu.org>
75685
75686         * config/srclist.txt (printf-args.c): lose sync.
75687
75688 2006-05-26  Martin Lambers  <marlam@marlam.de>
75689
75690         * lib/getpass.c: Updates the test for the native W32 API, and adds
75691         missing includes, thus fixing compilation warnings.
75692
75693 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
75694
75695         * lib/exclude.c (exclude_fnmatch): New function.
75696         (excluded_file_name): Call exclude_fnmatch.
75697         * lib/exclude.h (excluded_file_name): New prototype
75698
75699 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
75700
75701         * lib/tempname.c (small_open, large_open): New macros.
75702         (__open, __open64) [!_LIBC]: Remove.
75703         (__gen_tempname): Use small_open and large_open instead of __open
75704         and __open64.  This fixes a portability bug on HP-UX 11.11i
75705         reported by Simon Wing-Tang in
75706         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
75707
75708 2006-05-24  Bruno Haible  <bruno@clisp.org>
75709
75710         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
75711         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
75712         Reported by Thorsten Maerz <torte@netztorte.de> via
75713         Aaron Stone <aaron@serendipity.cx>.
75714
75715 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75716
75717         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
75718         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
75719         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
75720         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
75721         not really conditional on the cache.
75722         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
75723
75724 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
75725
75726         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
75727         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
75728         (my_usleep): Don't mishandle maximum value.
75729
75730 2006-05-19  Jim Meyering  <jim@meyering.net>
75731
75732         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
75733
75734 2006-05-17  Bruno Haible  <bruno@clisp.org>
75735
75736         Cygwin portability.
75737         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
75738
75739 2006-05-17  Bruno Haible  <bruno@clisp.org>
75740
75741         * lib/stdint_.h: Fix recognition of Cygwin.
75742
75743 2006-05-15  Bruno Haible  <bruno@clisp.org>
75744
75745         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
75746         on libtool patch by Ralf Wildenhues.
75747
75748 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
75749
75750         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
75751         test for C99 conformance; (bool) 0.5 is an integer constant
75752         expression, but (bool) -0.5 is not.  Problem reported by Fedor
75753         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
75754
75755 2006-05-11  Simon Josefsson  <jas@extundo.com>
75756
75757         * m4/xvasprintf.m4: Fix obvious typo.
75758
75759 2006-05-11  Jim Meyering  <jim@meyering.net>
75760
75761         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
75762         James Lemley.
75763
75764 2006-05-10  Simon Josefsson  <jas@extundo.com>
75765
75766         * lib/md4.c: Typo fix, update copyright years.
75767         (K1, K2): Don't use L because it turn computations into 64-bit on
75768         64-bit platforms.
75769
75770 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
75771
75772         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
75773         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
75774         unwanted sign propagation, e.g., on hosts with 64-bit int.
75775         There still are some problems with reeelly weird theoretical hosts
75776         (e.g., 33-bit int) but it's not worth worrying about now.
75777         * lib/sha1.c (rol): Likewise.
75778         (K1, K2, K3, K4): Remove unnecessary L suffix.
75779
75780 2006-05-10  Bruno Haible  <bruno@clisp.org>
75781
75782         * lib/des.c: Cast to avoid warnings.
75783
75784 2006-05-09  Bruno Haible  <bruno@clisp.org>
75785
75786         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
75787         (Depends-on): Depend also on xsize, stdarg.
75788         (configure.ac): Add gl_XVASPRINTF.
75789
75790 2006-05-09  Bruno Haible  <bruno@clisp.org>
75791
75792         * m4/xvasprintf.m4: New file.
75793
75794 2006-05-09  Bruno Haible  <bruno@clisp.org>
75795
75796         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
75797         (EOVERFLOW): Define fallback value.
75798         (xstrcat): New function.
75799         (xvasprintf): Recognize the special case of a string concatenation.
75800
75801 2006-05-08  Eric Blake  <ebb9@byu.net>
75802
75803         * gnulib-tool (func_version): Base copyright year on CVS date.
75804         (func_emit_copyright_notice): New function.
75805         (func_emit_lib_Makefile_am): Use it.
75806         (func_emit_tests_Makefile_am): Likewise.
75807         (func_import): Likewise.
75808
75809 2006-05-08  Bruno Haible  <bruno@clisp.org>
75810
75811         * modules/stdarg: New file.
75812         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
75813
75814 2006-05-08  Bruno Haible  <bruno@clisp.org>
75815
75816         * m4/stdarg.m4: New file, from GNU gettext.
75817
75818 2006-05-08  Bruno Haible  <bruno@clisp.org>
75819
75820         * config/srclist.txt (build-aux/config.rpath): different from latest
75821         release.
75822
75823 2006-05-08  Bruno Haible  <bruno@clisp.org>
75824
75825         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
75826
75827 2006-05-05  Jim Meyering  <jim@meyering.net>
75828
75829         * m4/warning.m4: New file, derived from bison's file by the same name.
75830
75831 2006-05-03  Bruno Haible  <bruno@clisp.org>
75832
75833         * lib/stdint_.h: Shorter URL.
75834         * lib/inttypes.h: Likewise.
75835
75836 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75837
75838         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
75839
75840 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75841
75842         * lib/verify.h: Document the internals better.  Most of this change
75843         was written by Bruno Haible.
75844
75845 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
75846
75847         * doc/verify.texi: New file, partly based on a proposal by
75848         Bruno Haible.
75849
75850 2006-05-02  Bruno Haible  <bruno@clisp.org>
75851
75852         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
75853         test from here...
75854         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
75855
75856 2006-04-29  Bruno Haible  <bruno@clisp.org>
75857
75858         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
75859         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
75860
75861 2006-04-29  Bruno Haible  <bruno@clisp.org>
75862
75863         * gnulib-tool: Make --update option actually work.
75864
75865 2006-04-29  Bruno Haible  <bruno@clisp.org>
75866
75867         * doc/gcd.texi: New file.
75868         * doc/gnulib.texi: Include it.
75869
75870 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
75871
75872         * lib/getdate.y (get_date): When adding relative date, start with the
75873         initial time, not with the result of the first mktime call.
75874
75875 2006-04-25  Bruno Haible  <bruno@clisp.org>
75876
75877         * gnulib-tool (func_import): Output the include directives in three
75878         blocks, sorted separately.
75879         Reported by Ben Pfaff <blp@cs.stanford.edu>.
75880
75881 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
75882
75883         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
75884         to define main with arguments, for C++.  Reported by Eric Blake.
75885         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
75886         Prefer 'int main ()' to 'int main (void)', for C++.
75887         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
75888         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
75889         for 'main', for C99 and C++.
75890
75891 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
75892
75893         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
75894         Don't assume that exit status -1 is valid.
75895         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
75896         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
75897         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
75898         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
75899         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
75900         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
75901         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
75902         functions can be used without declaring them, or that you can
75903         exit with status -1.
75904         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
75905
75906 2006-04-24  Karl Berry  <karl@gnu.org>
75907
75908         * config/srclist.txt (longdouble.m4): sync lost.
75909
75910 2006-04-24  Eric Blake  <ebb9@byu.net>
75911
75912         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
75913
75914 2006-04-24  Bruno Haible  <bruno@clisp.org>
75915
75916         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
75917         poll() implementation in AIX.
75918         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
75919
75920 2006-04-24  Bruno Haible  <bruno@clisp.org>
75921
75922         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
75923         assigned exactly once.
75924
75925 2006-04-23  Claudio Fontana  <claudio@gnu.org>
75926             Bruno Haible  <bruno@clisp.org>
75927
75928         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
75929         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
75930         for AM_CPPFLAGS.
75931
75932 2006-04-23  Bruno Haible  <bruno@clisp.org>
75933
75934         * modules/copy-file: Depend on unistd.
75935         * modules/execute: Likewise.
75936         * modules/fatal-signal: Likewise.
75937         * modules/findprog: Likewise.
75938         * modules/mkdtemp : Likewise.
75939         * modules/pipe: Likewise.
75940         * modules/wait-process: Likewise.
75941
75942 2006-04-23  Bruno Haible  <bruno@clisp.org>
75943
75944         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
75945         condition was already detected.
75946         Reported by Ben Pfaff <blp@cs.stanford.edu>.
75947
75948 2006-04-23  Bruno Haible  <bruno@clisp.org>
75949
75950         * lib/copy-file.c: Include <unistd.h> unconditionally.
75951         * lib/execute.c: Likewise.
75952         * lib/fatal-signal.c: Likewise.
75953         * lib/findprog.c: Likewise.
75954         * lib/mkdtemp.c: Likewise.
75955         * lib/pipe.h: Likewise.
75956         * lib/pipe.c: Likewise.
75957         * lib/wait-process.h: Likewise.
75958
75959 2006-04-23  Bruno Haible  <bruno@clisp.org>
75960
75961         * gnulib-tool (func_usage): Fix --import description. Document
75962         --update.
75963         (func_import): Create temporary file in a temporary directory, if
75964         --dry-run is specified. Silence errors from 'grep' when there are no
75965         m4 files in $m4dir.
75966         (func_create_testdir): Silence errors from 'grep' when there are no
75967         m4 files in $m4dir.
75968         Reported by Karl Berry <karl@freefriends.org>.
75969
75970 2006-04-20  Bruno Haible  <bruno@clisp.org>
75971
75972         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
75973         one argument, so that the code will be portable to Autoconf 2.60.
75974         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
75975         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
75976         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
75977
75978 2006-04-19  Derek Price  <derek@ximbiot.com>
75979             Eric Blake  <ebb9@byu.net>
75980
75981         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
75982         rather than "/full/path.h".  Update comment to match.  Shorten &
75983         generalize m4_translit call via AS_TR_CPP.
75984
75985 2006-04-19  Derek Price  <derek@ximbiot.com>
75986             Eric Blake  <ebb9@byu.net>
75987
75988         * lib/inttypes.h: Correct grammar in comment.
75989
75990 2006-04-18  Derek Price  <derek@ximbiot.com>
75991             Paul Eggert  <eggert@cs.ucla.edu>
75992
75993         * modules/inttypes: New file.
75994         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
75995
75996 2006-04-18  Derek Price  <derek@ximbiot.com>
75997             Paul Eggert  <eggert@cs.ucla.edu>
75998
75999         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
76000         New files.
76001
76002 2006-04-18  Derek Price  <derek@ximbiot.com>
76003             Paul Eggert  <eggert@cs.ucla.edu>
76004
76005         * lib/inttypes.h: New file.
76006         * lib/strtoimax.c: Assume <inttypes.h>.
76007
76008 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
76009
76010         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
76011         isn't mounted.  Problem reported by Kir Kolyshkin.
76012
76013 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
76014
76015         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
76016         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
76017         Derek R. Price.
76018         * lib/regex.h (RE_DUP_MAX): Update comment to match current
76019         implementation.
76020
76021 2006-04-12  Eric Blake  <ebb9@byu.net>
76022
76023         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
76024         is now done automatically by the corresponding Autoconf macro.
76025
76026 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
76027
76028         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
76029         time_r.h.
76030
76031 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76032
76033         Merge regex changes from libc, removing some of our
76034         POSIX-conformance changes that were rejected and redoing them in a
76035         less-intrusive way.
76036
76037         * lib/regcomp.c (re_compile_internal, init_dfa):
76038         Length arg is now size_t, not Idx.  All uses changed.
76039         (peek_token): Forward decl now says internal_function.
76040         (__re_error_msgid, __re_error_msgid_idx):
76041         Now static rather than extern with attribute_hidden.
76042         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
76043         For some reason libc prefers K&R style defns for external functions.
76044         (regerror) [!defined _LIBC]: Likewise.
76045         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
76046         (seek_collating_symbol_entry, lookup_collation_sequence_value):
76047         (build_range_exp, build_collating_symbol):
76048         Use K&R-style defn.
76049         (re_compile_fastmap): Use '\0' to memset, not 0.
76050         (utf8_sb_map): Make the calculations more obvious.
76051         (init_dfa, parse_bracket_exp, build_charclass_op):
76052         Call calloc and cast result, as glibc does.
76053         (init_word_char, fetch_token, peek_token, peek_token_bracket):
76054         (build_range_exp, build_collating_symbol):
76055         Now internal functions.
76056
76057         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
76058
76059         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
76060         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
76061         Don't depend on VMS; depend on __VMS instead, for POSIX
76062         namespace cleanness.
76063         (regoff_t): Define to ssize_t, not long int.
76064
76065         Remove the REG_ macros named below.  Instead, make the old names
76066         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
76067         __USE_GNU_REGEX.
76068         (REG_BACKSLASH_ESCAPE_IN_LISTS):
76069         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
76070         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
76071         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
76072         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
76073         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
76074         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
76075         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
76076         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
76077         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
76078         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
76079         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
76080         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
76081         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
76082         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
76083         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
76084         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
76085         (REG_NREGS):
76086         Remove.  All uses replaced by the old RE_* names.
76087         (RE_BACKSLASH_ESCAPE_IN_LISTS):
76088         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
76089         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
76090         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
76091         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
76092         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
76093         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
76094         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
76095         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
76096         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
76097         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
76098         Don't bother having these macros be independent of each others'
76099         values, since they no longer exist in the POSIX name space.
76100
76101         Rename the following member names back to their old names,
76102         unless !__USE_GNU_REGEX.  All uses changed back.
76103         (buffer): Renamed from re_buffer.
76104         (allocated): Renamed from re_allocated.
76105         (used): Renamed from re_used.
76106         (syntax): Renamed from re_syntax.
76107         (fastmap): Renamed from re_fastmap.
76108         (translate): Renamed from re_translate.
76109         (can_be_null): Renamed from re_can_be_null.
76110         (regs_allocated): Renamed from re_regs_allocated.
76111         (fastmap_accurate): Renamed from re_fastmap_accurate.
76112         (no_sub): Renamed from re_no_sub.
76113         (not_bol): Renamed from re_not_bol.
76114         (not_eol): Renamed from re_not_eol.
76115         (newline_anchor): Renamed from re_newline_anchor.
76116         (num_regs): Renamed from rm_num_regs.
76117         (start): Renamed from rm_start.
76118         (end): Renamed from rm_end.
76119
76120         (free_state): Move up a bit.
76121
76122         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
76123         #define to be empty.
76124         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
76125         when that is what is intended.
76126         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
76127         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
76128         (MAX): New macro.
76129         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
76130         All uses changed back to re_malloc, etc.  It's now the caller's
76131         responsibility to check for overflow; all callers changed.
76132         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
76133         (re_x2nrealloc): Remove.
76134         (free_state): Remove decl.
76135
76136         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
76137         (re_set_registers, re_exec):
76138         Use K&R-style defn.
76139
76140         2006-01-31  Roland McGrath  <roland@redhat.com>
76141
76142         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
76143         Reported by Mike Frysinger <vapier@gentoo.org>.
76144
76145         2006-01-15  Andreas Jaeger  <aj@suse.de>
76146
76147         [BZ #1950]
76148         * lib/regex_internal.c (re_string_reconstruct): Adjust for
76149         build_wcs_upper_buffer change.
76150         (build_wcs_upper_buffer): Change return type.
76151
76152         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
76153
76154         * lib/regex_internal.h: Include <stdint.h> if available.
76155
76156         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
76157
76158         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
76159
76160         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
76161
76162         * lib/regcomp.c: Adjust for changed secondary hash function.
76163
76164         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
76165
76166         * lib/regex.h: Pretty printing.
76167         Clean up namespace a bit.
76168
76169         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
76170
76171         * lib/regexec.c (update_cur_sifted_state, check_arrival,
76172         check_arrival_add_next_nodes): Avoid using uninitialized variable.
76173
76174         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
76175                     Ulrich Drepper  <drepper@redhat.com>
76176
76177         [BZ #1302]
76178         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
76179         changed.
76180         (bitset_word_t): Renamed from bitset_word.  All uses changed.
76181
76182         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
76183
76184         [BZ #281]
76185         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
76186         * lib/regcomp.c: Remove unnecessary uses of
76187         unsigned RE_TRANSLATE_TYPE.
76188         * lib/regex_internal.h: Likewise.
76189         * lib/regex_internal.c: Likewise.
76190         * lib/regexec.c: Likewise.
76191         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
76192
76193         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
76194
76195         * lib/regexec.c (find_recover_state): Remove unnecessary
76196         initialization.
76197         (transit_state_bkref): Make DFA a const pointer.
76198         (get_subexp): Likewise.
76199         (check_arrival): Likewise.
76200         (update_cur_sifted_state): Likewise.
76201         (re_search_internal): Likewise.
76202         (prune_impossible_nodes): Likewise.
76203         (acquire_init_state_context): Likewise.
76204         (proceed_next_node): Likewise.
76205         (set_regs): Likewise.
76206         (free_fail_stack_return): Likewise.
76207         (check_arrival_expand_ecl): Mark DFA parameter as const.
76208         (check_arrival_expand_ecl_sub): Likewise.
76209         (check_subexp_limits): Likewise.
76210         (sub_epsilon_src_nodes):  Likewise.
76211         (add_epsilon_src_nodes):  Likewise.
76212         (merge_state_array): Likewise.
76213         (update_regs): Likewise.
76214         (build_trtable): Likewise.
76215         (sift_states_backward): Mark MCTX parameter as const.
76216         (build_sifted_states): Likewise.
76217         (update_cur_sifted_state): Likewise.
76218         (sift_states_mkref): Likewise.
76219         (check_arrival_expand_ecl): Mark eclosure as const.
76220         (check_dst_limits_calc_pos_1): Likewise.
76221         * lib/regex_internal.h (re_match_context_t): Make dfa a const
76222         pointer.
76223
76224         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
76225
76226         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
76227         (transit_state_sb): Likewise.
76228         (transit_state_mb): Likewise.
76229         (sift_states_iter_mb): Likewise.
76230         (check_arrival_add_next_nodes): Likewise.
76231         (check_node_accept_bytes): Change first parameter to pointer-to-const.
76232         [_LIBC] (re_search_2_stub): Use mempcpy.
76233
76234         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
76235         mbrtowc for very simple UTF-8 case.
76236
76237         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
76238         a pointer-to-const.
76239         (re_acquire_state_context): Likewise.
76240         * lib/regex_internal.h: Adjust prototypes.
76241
76242         * lib/regex.c: Prevent using C++ compilers.
76243
76244         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
76245         (re_acquire_state_context): Likewise.
76246
76247 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76248
76249         * modules/regex (Depends-on): Add ssize_t.
76250
76251 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76252
76253         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
76254         translation table.
76255
76256 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
76257
76258         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
76259
76260 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
76261             Bruno Haible  <bruno@clisp.org>
76262
76263         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
76264         <sys/types.h> and <inttypes.h>.
76265
76266 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76267
76268         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
76269         `__error_t_defined', so argp.h will not typedef the former.
76270
76271 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
76272
76273         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
76274         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
76275         glibc names.  Even if glibc is changed to conform to POSIX, the
76276         traditional names will be available anyway, since regex depends on
76277         the extensions module.  Also, fix a longstanding typo in the
76278         implementation of Spencer ERE test #75 from grep 2.3.  Problems
76279         reported by Emanuele Giaquinta.  Also, change sense of cached
76280         variable, so that the message makes sense.
76281
76282 2006-03-24  Simon Josefsson  <jas@extundo.com>
76283
76284         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
76285         including some doc fixes.
76286         (base64_encode_alloc): Fix +1 bug on allocation failures.
76287
76288 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76289
76290         * lib/base64.c (base64_encode): Do not read past end of array with
76291         unsanitized input on systems with CHAR_BIT > 8.
76292
76293 2006-03-24  Eric Blake  <ebb9@byu.net>
76294
76295         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
76296
76297 2006-03-22  Karl Berry  <karl@gnu.org>
76298
76299         * config/srclist.txt (*setenv.[ch]): get from coreutils.
76300         * config/srclistvars.sh (COREUTILS): new var.
76301
76302 2006-03-17  Jim Meyering  <jim@meyering.net>
76303
76304         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
76305         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
76306
76307 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76308
76309         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
76310         no longer needs it.  Instead, check that regoff_t is as least
76311         as wide as ptrdiff_t.
76312
76313         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
76314         so that our regex.h stays compatible with the installed regex.
76315         This is helpful for installers who configure --without-included-regex.
76316         Problem reported by Emanuele Giaquinta.
76317
76318 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
76319
76320         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
76321         Typedef to long int, not to off_, as POSIX will likely change
76322         in that direction.
76323
76324 2006-03-15  Eric Blake  <ebb9@byu.net>
76325
76326         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
76327
76328 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76329
76330         * lib/argp-help.c (validate_uparams): Fix typo
76331         * lib/argp-parse.c (argp_default_options): Consistently begin help
76332         messages with a lowercase letter.
76333
76334 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
76335
76336         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
76337         overrun buffers and shouldn't be used (much as gets shouldn't be
76338         used).
76339         * lib/time_r.c (asctime_r, ctime_r): Likewise.
76340
76341 2006-03-08  Simon Josefsson  <jas@extundo.com>
76342
76343         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
76344         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76345
76346 2006-03-08  Simon Josefsson  <jas@extundo.com>
76347
76348         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
76349         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76350
76351 2006-03-08  Simon Josefsson  <jas@extundo.com>
76352
76353         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
76354         signal that configure disabled the device.
76355
76356 2006-03-08  Simon Josefsson  <jas@extundo.com>
76357
76358         * build-aux/maint.mk: Fix refresh-po, to handle no translated
76359         languages.
76360
76361 2006-03-07  Simon Josefsson  <jas@extundo.com>
76362
76363         * modules/getopt (Depends-on): Add unistd.
76364
76365         * modules/unistd: New file.
76366
76367 2006-03-07  Simon Josefsson  <jas@extundo.com>
76368
76369         * modules/gc-random: New file.
76370
76371 2006-03-07  Simon Josefsson  <jas@extundo.com>
76372
76373         * m4/unistd_h.m4: New file.
76374
76375 2006-03-07  Simon Josefsson  <jas@extundo.com>
76376
76377         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
76378         test to be side-effect free by storing the result in the cache
76379         variable gl_cv_lib_readline, and moving the assignment of
76380         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
76381         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
76382
76383 2006-03-07  Simon Josefsson  <jas@extundo.com>
76384
76385         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
76386         error on missing devices (the functions will return an error).
76387
76388         * m4/gc.m4: Move random stuff to gc-random.m4
76389
76390 2006-03-07  Simon Josefsson  <jas@extundo.com>
76391
76392         * lib/unistd_.h: New file.
76393
76394 2006-03-07  Simon Josefsson  <jas@extundo.com>
76395
76396         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
76397
76398 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76399
76400         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
76401         Problem reported by Juan Manuel Guerrero.
76402
76403 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76404
76405         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
76406         the unistd module.
76407         * lib/getlogin_r.c: Likewise.
76408         * lib/getlogin_r.h: Likewise.
76409         * lib/glob.c: Likewise.
76410         * lib/pagealign_alloc.c: Likewise.
76411         * lib/unistd_.h: Remove; no longer needed.
76412
76413 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
76414
76415         * MODULES.html.sh (Support for systems lacking POSIX:2001):
76416         Add unistd.
76417         * modules/c-stack (Depends-on): Add unistd.
76418         * modules/getlogin_r: Likewise.
76419         * modules/glob: Likewise.
76420         * modules/pagealign_alloc: Likewise.
76421         * modules/unistd (Files): Remove lib/unistd_.h.
76422         (EXTRA_DIST): Remove.
76423         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
76424         need unistd_.h.
76425         (MOSTLYCLEANFILES): Remove unistd.h-t.
76426
76427 2006-03-03  Simon Josefsson  <jas@extundo.com>
76428
76429         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
76430
76431 2006-03-03  Simon Josefsson  <jas@extundo.com>
76432
76433         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
76434         libidn and bison.
76435
76436 2006-03-03  Simon Josefsson  <jas@extundo.com>
76437
76438         * build-aux/maint.mk: Add indent target.
76439
76440 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
76441
76442         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
76443         our replacement poll.h in any case, to avoid a differing
76444         declaration from a system header.  Seen on AIX.
76445
76446 2006-03-01  Simon Josefsson  <jas@extundo.com>
76447
76448         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
76449         <kasal@ucw.cz>.
76450
76451 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76452
76453         * modules/gettime (Depends-on): Add extensions module.
76454         * modules/nanosleep (Depends-on): Likewise.
76455         * modules/settime (Depends-on): Likewise.
76456
76457 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
76458
76459         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
76460         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
76461         pedantically.
76462         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
76463         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
76464
76465         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
76466         not "==".  Reported by Ralf Wildenhues.
76467
76468 2006-03-01  Karl Berry  <karl@gnu.org>
76469
76470         * doc/Copyright/request-*: new files, synced from gnuorg.
76471
76472 2006-03-01  Karl Berry  <karl@gnu.org>
76473
76474         * config/srclist.txt (Copyright/*): new entries.
76475
76476 2006-02-28  Simon Josefsson  <jas@extundo.com>
76477
76478         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
76479
76480 2006-02-27  Simon Josefsson  <jas@extundo.com>
76481
76482         * lib/base64.h: Indent #define's.  From Jim Meyering
76483         <jim@meyering.net>.
76484
76485 2006-02-27  Jim Meyering  <jim@meyering.net>
76486
76487         Revert the change of 2006-02-24, so these files can continue
76488         to be sync'd from gettext.
76489         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
76490         of `config.h'.
76491
76492 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
76493
76494         * modules/intprops: New file.
76495         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76496         Add intprops.
76497         * modules/getloadavg (Files): Remove lib/intprops.h.
76498         (Depends-on): Add intprops.
76499         * modules/human: Likewise.
76500         * modules/inttostr: Likewise.
76501         * modules/openat: Likewise.
76502         * modules/sig2str: Likewise.
76503         * modules/userspec: Likewise.
76504         * modules/utimecmp: Likewise.
76505         * modules/xnanosleep: Likewise.
76506         * modules/xstrtol: Likewise.
76507
76508 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
76509
76510         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
76511         * modules/lock-tests (TESTS): Use $(EXEEXT).
76512         * modules/tls-tests: Likewise.
76513         * modules/argp-tests: Likewise.
76514         (check_PROGRAMS): New var, replacing...
76515         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
76516
76517 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76518
76519         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
76520         `config.h'.
76521
76522 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
76523
76524         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
76525
76526 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76527
76528         Sync from coreutils.
76529         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
76530         gl_CHDIR_SAFER.
76531
76532 2006-02-22  Jim Meyering  <jim@meyering.net>
76533
76534         Sync from coreutils.
76535         * m4/chdir-safer.m4: New file.
76536
76537 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
76538
76539         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
76540         AT_FDCWD exceeds INT_MAX.
76541         * lib/openat.h (AT_FDCWD): Likewise.
76542
76543 2006-02-17  Eric Blake  <address@hidden>
76544
76545         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
76546
76547 2006-02-16  Simon Josefsson  <jas@extundo.com>
76548
76549         * modules/getaddrinfo (Depends-on): Add sys_socket.
76550
76551 2006-02-15  Simon Josefsson  <jas@extundo.com>
76552
76553         * build-aux/maint.mk: Add dsyntax-check rule.
76554
76555 2006-02-15  Eric Blake  <ebb9@byu.net>
76556
76557         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
76558         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
76559         'present but cannot compile' warnings on cygwin.
76560         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
76561         use ws2tcpip.h if sys/socket.h works.
76562         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
76563         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
76564
76565 2006-02-14  Simon Josefsson  <jas@extundo.com>
76566
76567         * modules/maintainer-makefile (Files): Rename.
76568
76569         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
76570         and (the local) Makefile.cfg to maint-cfg.mk.
76571
76572         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
76573         to the latter.
76574
76575         * modules/maintainer-makefile: New module.
76576
76577         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
76578         severaly stripped to make it possible to build it up from scratch
76579         with reliable tests.
76580
76581         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
76582         fixes to permit overriding the default actions when configure and
76583         makefile are not available.
76584
76585 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
76586
76587         Sync from coreutils.
76588         * modules/lstat (Depends-on): Don't depend on xalloc.
76589         (License): Change from GPL to LGPL, since this is now simply a
76590         replacement for a libc function.
76591
76592 2006-02-14  Jim Meyering  <jim@meyering.net>
76593
76594         Sync from coreutils.
76595
76596         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
76597         failure on deficient systems, and simplify gnulib lgpl dependencies.
76598         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
76599         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
76600
76601         * lib/xalloc-die.c: Remove unused definition of N_.
76602
76603 2006-02-14  Jim Meyering  <jim@meyering.net>
76604
76605         Sync from coreutils.
76606         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
76607         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
76608         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
76609         double-quote uses of that variable, to accommodate the rare case in
76610         which getmntent is available in none of the libraries checked.  This
76611         happens at least on FreeBSD 5.0.
76612
76613 2006-02-13  Simon Josefsson  <jas@extundo.com>
76614
76615         * gnulib-tool (Usage): Fix --import, from
76616         karl@freefriends.org (Karl Berry).
76617
76618 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
76619
76620         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
76621
76622 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
76623
76624         * lib/argp-namefrob.h: Restore changes accidentally lost during the
76625         "autoupdate" on 2005-12-12.
76626
76627 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76628
76629         * modules/closeout (Depends-on): Remove atexit.
76630
76631 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
76632
76633         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
76634         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
76635
76636 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
76637
76638         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
76639         __EXTENSIONS__ if this causes compilation to fail.  Problem
76640         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
76641         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
76642
76643 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
76644
76645         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
76646         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
76647         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
76648         All uses changed.
76649
76650 2006-01-26  Simon Josefsson  <jas@extundo.com>
76651
76652         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
76653         prototype is visible on mingw32.
76654
76655         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
76656         for mingw32.
76657
76658         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
76659         mingw32).
76660
76661 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
76662
76663         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
76664         attempt to open for write; this always fails, at least on POSIX
76665         hosts.  This reinstates the 2006-01-09 change, which was
76666         inadvertently removed.
76667
76668 2006-01-26  Bruno Haible  <bruno@clisp.org>
76669
76670         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
76671         Reported by Paul Eggert.
76672
76673 2006-01-26  Bruno Haible  <bruno@clisp.org>
76674             Paul Eggert  <eggert@cs.ucla.edu>
76675
76676         * lib/stdbool_.h (_Bool)
76677         [(! (defined __cplusplus || defined __BEOS__)
76678           && !defined __GNUC__
76679           && !(defined __HP_cc || defined __xlc__
76680                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
76681                || defined __sgi))]:
76682         #define to signed char in these cases too; this simplifies
76683         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
76684         etc., separately) and makes it more conservative.
76685
76686 2006-01-25  Simon Josefsson  <jas@extundo.com>
76687
76688         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
76689         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
76690         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
76691
76692 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
76693
76694         * lib/argp-namefrob.h: Bugfix. Remove stray #
76695
76696 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
76697
76698         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
76699         so that we test the test.
76700         Check for yet another HP-UX cc bug involving *bool |= bool.
76701
76702 2006-01-25  Karl Berry  <karl@gnu.org>
76703
76704         * config/srclist.txt (vasnprintf.c): sync lost.
76705
76706 2006-01-25  Jim Meyering  <jim@meyering.net>
76707
76708         Sync from the stable (b5) branch of coreutils:
76709
76710         * lib/fts.c (fts_children): Don't let close() clobber errno from
76711         failed fchdir().
76712
76713         * lib/fts.c (fts_stat): When following a symlink-to-directory,
76714         don't necessarily interpret stat-fails+lstat-succeeds as indicating
76715         a dangling symlink.  That can also happen at least for ELOOP.
76716         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
76717         FYI, this bug predates the inclusion of fts.c in coreutils.
76718
76719         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
76720         in their own block, so pre-c99 compilers don't object.
76721
76722         Avoid the double-free (first in fts_read, second in fts_close) that
76723         would occur when an `active' directory is made inaccessible (e.g.,
76724         via chmod a-x) during a traversal.
76725         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
76726         before returning.  Reproduce this failure by
76727         mkdir -p a/b; cd a; chmod a-x . b
76728         Reported by Stavros Passas.
76729
76730 2006-01-25  Jim Meyering  <jim@meyering.net>
76731
76732         * lib/fileblocks.c: Remove more useless parentheses.
76733         * lib/readutmp.h: Likewise.
76734
76735 2006-01-25  Bruno Haible  <bruno@clisp.org>
76736
76737         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
76738         warnings.
76739         Reported by Paul Eggert.
76740
76741 2006-01-25  Bruno Haible  <bruno@clisp.org>
76742
76743         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
76744         rid of a trap command. For Solaris sh.
76745         Reported by Mark D. Baushke <mdb@gnu.org>.
76746
76747 2006-01-24  Simon Josefsson  <jas@extundo.com>
76748
76749         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
76750         Bruno.
76751
76752 2006-01-24  Karl Berry  <karl@gnu.org>
76753
76754         * config/srclist.txt (argp-namefrob.h): sync lost.
76755
76756 2006-01-24  Jim Meyering  <jim@meyering.net>
76757
76758         * modules/openat (Files): Add lib/intprops.h.
76759         From Mark D. Baushke.
76760
76761 2006-01-24  Jim Meyering  <jim@meyering.net>
76762
76763         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
76764         Reported by Mark D. Baushke.
76765
76766 2006-01-24  Jim Meyering  <jim@meyering.net>
76767
76768         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
76769
76770 2006-01-24  Bruno Haible  <bruno@clisp.org>
76771
76772         * modules/strnlen (Maintainer): Change from glibc to all.
76773
76774 2006-01-24  Bruno Haible  <bruno@clisp.org>
76775
76776         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
76777         Patch by Paul Eggert.
76778
76779 2006-01-24  Bruno Haible  <bruno@clisp.org>
76780
76781         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
76782         already has it.
76783         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
76784         2005-11-26.
76785
76786         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
76787         'signed char' to avoid problems with the built-in _Bool type.
76788         Reported by Paul Eggert on 2005-11-26.
76789
76790 2006-01-24  Bruno Haible  <bruno@clisp.org>
76791
76792         * gnulib-tool (func_import): Avoid constructing complicated sed
76793         expressions inside backquote.
76794         Report and solution by Mark D. Baushke <mdb@gnu.org>.
76795
76796 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
76797
76798         These changes imported from libc.
76799         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
76800         test and two separate function calls.
76801         * lib/strndup.c (__strndup): Add libc_hidden_def.
76802
76803 2006-01-23  Simon Josefsson  <jas@extundo.com>
76804
76805         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
76806         Remove the test_*_SOURCES variable: automake infers it by default.
76807         * modules/tls-tests: Likewise.
76808
76809 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76810
76811         Work around porting bugs reported by Dieter in
76812         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
76813         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
76814         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
76815         Include "getopt.h" first, to check interface.
76816         (getenv): Declare only if defined HAVE_DECL_GETENV &&
76817         !HAVE_DECL_GETENV.
76818         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
76819         (__strndup): Revert to K&R-style function dfns, the glibc style.
76820         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
76821         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
76822         Include strnlen.h first, to get prototype properly.
76823         (strnlen): Renamed from __strnlen.
76824         Remove weak alias.
76825
76826 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76827
76828         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
76829
76830 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
76831
76832         * config/srclist.txt: Adjust to reflect glibc reorganization.
76833         This affects only comments.
76834
76835 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
76836
76837          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
76838          Reported by Bruce Korb <bkorb@gnu.org>.
76839
76840 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
76841
76842         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
76843         to pacify gcc -Wswitch-default.
76844
76845 2006-01-22  Bruno Haible  <bruno@clisp.org>
76846
76847         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
76848         temporary buffer for sprintf, take into account the precision also
76849         for 'd', 'i', 'u', 'o', 'x', 'X'.
76850
76851 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
76852
76853         * modules/argp-tests: New module
76854         * tests/test-argp.c: New file
76855         * tests/test-argp-2.sh: New file
76856
76857 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
76858
76859         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
76860         (__argp_base_name): Removed
76861         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
76862         typo.
76863         (__argp_base_name): Provide macro definition or extern declaration
76864         depending on the configuration
76865
76866 2006-01-20  Simon Josefsson  <jas@extundo.com>
76867
76868         * modules/inet_ntop (Depends-on): Depend on sys_socket.
76869
76870 2006-01-20  Simon Josefsson  <jas@extundo.com>
76871
76872         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
76873
76874 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
76875
76876         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
76877         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
76878         Suggested by Bruno Haible.
76879
76880 2006-01-20  Karl Berry  <karl@gnu.org>
76881
76882         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
76883         until changes propagate, I guess.
76884
76885 2006-01-19  Simon Josefsson  <jas@extundo.com>
76886
76887         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
76888
76889 2006-01-19  Simon Josefsson  <jas@extundo.com>
76890
76891         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
76892
76893 2006-01-19  Simon Josefsson  <jas@extundo.com>
76894
76895         * gnulib-tool: Set check_PROGRAMS.
76896
76897         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
76898         modules/des-tests, modules/gc-arcfour-tests,
76899         modules/gc-arctwo-tests, modules/gc-des-tests,
76900         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
76901         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
76902         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
76903         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
76904         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
76905         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
76906         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
76907         test_*_SOURCES.
76908
76909 2006-01-18  Simon Josefsson  <jas@extundo.com>
76910
76911         * modules/socklen (Depends-on): Depend on sys_socket.
76912
76913 2006-01-18  Simon Josefsson  <jas@extundo.com>
76914
76915         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
76916         modules/des-tests, modules/gc-arcfour-tests,
76917         modules/gc-arctwo-tests, modules/gc-des-tests,
76918         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
76919         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
76920         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
76921         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
76922         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
76923         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
76924         $(EXEEXT) to automake TESTS variable, for mingw32.
76925
76926 2006-01-17  Simon Josefsson  <jas@extundo.com>
76927
76928         * modules/socklen (Include): Need sys/socket.h.
76929
76930 2006-01-17  Bruno Haible  <bruno@clisp.org>
76931
76932         * modules/ssize_t (Include): Add <sys/types.h>.
76933
76934 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
76935
76936         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
76937         it's not portable and it doesn't work with cross-compiles.
76938         Problem reported by Bruno Haible.  Fix missing-$ typo in
76939         'test "gl_cv_ignore_unused_libraries" ...' that prevented
76940         -zignore from being used with Sun's C compiler.
76941
76942 2006-01-12  Simon Josefsson  <jas@extundo.com>
76943
76944         * lib/base64.c: Fix warning, reported by Bruno Haible
76945         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
76946
76947 2006-01-12  Bruno Haible  <bruno@clisp.org>
76948
76949         * modules/ldd: New file.
76950         * build-aux/ldd.sh.in: New file.
76951         * MODULES.html.sh (Support for building libraries and executables): Add
76952         ldd.
76953
76954 2006-01-12  Bruno Haible  <bruno@clisp.org>
76955
76956         * m4/ldd.m4: New file.
76957
76958 2006-01-12  Bruno Haible  <bruno@clisp.org>
76959
76960         * gnulib-tool (func_import, func_create_testdir): Don't go into an
76961         endless loop while replacing $auxdir with build-aux.
76962
76963 2006-01-11  Simon Josefsson  <jas@extundo.com>
76964
76965         * lib/stdint_.h (SIZE_MAX): Add missing (.
76966
76967 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
76968
76969         Sync from coreutils.
76970         * lib/md5.c: Fix commentary typos.
76971         (alignof, UNALIGNED_P): No need for a GCC-specific version.
76972         * lib/md5.h (__attribute__): Remove; unused.
76973         * lib/sha1.c: Fix commentary to match md5 better.
76974         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
76975         so that we don't need to worry about alignment.  All uses changed.
76976         This merges the 2005-10-28 md5 change into sha1.
76977
76978 2006-01-11  Jim Meyering  <jim@meyering.net>
76979
76980         Sync from coreutils.
76981         * lib/md5.c (OP): Fix spacing.
76982
76983 2006-01-11  Bruno Haible  <bruno@clisp.org>
76984
76985         Ensure automatic ordering between gl_LOCK and gl_ARGP.
76986         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
76987         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
76988
76989 2006-01-11  Bruno Haible  <bruno@clisp.org>
76990
76991         Ensure automatic ordering between gl_LOCK and gl_ARGP.
76992         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
76993         the "early" section as well.
76994
76995 2006-01-11  Bruno Haible  <bruno@clisp.org>
76996
76997         Avoid "ar: no archive members specified" error on MacOS X.
76998         * gnulib-tool (func_modules_add_dummy): New function.
76999         (func_import, func_create_testdir): Invoke it.
77000
77001 2006-01-11  Bruno Haible  <bruno@clisp.org>
77002
77003         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
77004         with $auxdir in AC_CONFIG_FILES statements.
77005
77006 2006-01-11  Bruno Haible  <bruno@clisp.org>
77007
77008         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77009         Initialize also noinst_HEADERS to empty.
77010
77011 2006-01-11  Bruno Haible  <bruno@clisp.org>
77012
77013         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
77014         variables.
77015         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
77016         autoreconf.
77017
77018 2006-01-11  Bruno Haible  <bruno@clisp.org>
77019
77020         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
77021         overridable by the user.
77022         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77023
77024 2006-01-10  Simon Josefsson  <jas@extundo.com>
77025
77026         * modules/sys_socket: New file.
77027
77028 2006-01-10  Simon Josefsson  <jas@extundo.com>
77029
77030         * m4/sys_socket_h.m4: New file.
77031
77032 2006-01-10  Simon Josefsson  <jas@extundo.com>
77033
77034         * lib/socket_.h: New file.
77035
77036 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77037
77038         * modules/readutmp (Maintainer): Add myself.
77039
77040 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77041
77042         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
77043         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
77044         People who are still concerned with buggy memcmp implementations
77045         can invoke gl_FUNC_MEMCMP themselves.
77046
77047 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
77048
77049         * lib/regex_internal.h (BITSET_WORD_BITS):
77050         Work around a bug in 64-bit PGC (before version 6.1-2), where the
77051         preprocessor mishandles large unsigned values as if they were signed.
77052         Problem reported by Claudio Fontana in
77053         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
77054
77055 2006-01-10  Jim Meyering  <jim@meyering.net>
77056
77057         Avoid the double-free (first in fts_read, second in fts_close) that
77058         would occur when an `active' directory is made inaccessible (e.g.,
77059         via chmod a-x) during a traversal.
77060         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
77061         before returning.  Reproduce this failure by
77062         mkdir -p a/b; cd a; chmod a-x . b
77063         Reported by Stavros Passas.
77064
77065         Sync from coreutils.
77066         * lib/sha1.c: Tweak grammar in a comment.
77067
77068 2006-01-10  Jim Meyering  <jim@meyering.net>
77069
77070         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
77071         Patch by Joerg Sonnenberger.
77072
77073 2006-01-10  Bruno Haible  <bruno@clisp.org>
77074
77075         * modules/readutmp: Depend on module free.
77076         * modules/strtok_r: Depend on module restrict.
77077
77078 2006-01-10  Bruno Haible  <bruno@clisp.org>
77079
77080         * modules/gettext (configure.ac): Add an invocation of
77081         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
77082
77083 2006-01-10  Bruno Haible  <bruno@clisp.org>
77084
77085         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
77086         Reported by Werner Lemberg <wl@gnu.org>.
77087
77088 2006-01-10  Bruno Haible  <bruno@clisp.org>
77089
77090         * lib/localcharset.c: Update from GNU gettext.
77091
77092 2006-01-10  Bruno Haible  <bruno@clisp.org>
77093
77094         * lib/argp.h (__const): Remove macro. Use const instead.
77095         * lib/argp-fmtstream.h (__const): Likewise.
77096         * lib/glob_.h (__const): Remove macro.
77097         * lib/glob-libc.h: Use const instead of __const.
77098
77099 2006-01-10  Bruno Haible  <bruno@clisp.org>
77100
77101         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
77102         variable.
77103         Needed to avoid an automake error regarding the 'gettext' module.
77104
77105 2006-01-09  Simon Josefsson  <jas@extundo.com>
77106
77107         * modules/inet_ntop (Depends-on): Add restrict.
77108
77109 2006-01-09  Simon Josefsson  <jas@extundo.com>
77110
77111         * modules/gc-rijndael-tests (License): Put under LGPL.
77112
77113         * modules/gc-des-tests (License): Likewise.
77114
77115         * modules/gc-arcfour-tests (License): Likewise.
77116
77117         * modules/gc-arctwo-tests (License): Likewise.
77118
77119         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
77120
77121         * modules/gc-hmac-sha1-tests (Files): Likewise.
77122
77123         * modules/gc-hmac-md5-tests (License): Likewise.
77124
77125         * modules/gc-sha1-tests (License): Likewise.
77126
77127         * modules/gc-md5-tests (License): Likewise.
77128
77129         * modules/gc-md4-tests (License): Likewise.
77130
77131         * modules/gc-md2-tests (License): Likewise.
77132
77133         * modules/gc-tests (License): Likewise.
77134
77135         * modules/des-tests (License): Likewise.
77136
77137         * modules/md4-tests (License): Likewise.
77138
77139         * modules/md2-tests (License): Likewise.
77140
77141 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77142
77143         Sync from coreutils:
77144
77145         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
77146         * modules/lib-ignore: New file.
77147         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
77148         chdir-safer.m4, lchmod.m4.
77149         * modules/openat: Add mkdirat.c, openat-priv.h.
77150
77151 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77152
77153         Sync from coreutils.
77154         * m4/lib-ignore.m4: New file.
77155         * m4/lchmod.m4: New file.
77156
77157 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77158
77159         Sync from coreutils.
77160         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
77161         for write access: POSIX says that must fail.
77162         * lib/fts.c (diropen): Likewise.
77163         * lib/save-cwd.c (save_cwd): Likewise.
77164         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
77165         well, for minor improvements on hosts that lack O_DIRECTORY.
77166         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
77167         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
77168         Fall back on chown if open failed with EACCES.
77169
77170         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
77171         Report an error at compile-time if only a 1-second nominal clock
77172         resolution is found.
77173
77174         * lib/lchmod.h: New file.
77175         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
77176         (make_dir_parents): Use lchown rather than chown, and
77177         lchmod rather than chmod.
77178
77179         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
77180         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
77181         "proc" reported by n0dalus.
77182
77183         * lib/mountlist.c: Include <limits.h>.
77184         (dev_from_mount_options)
77185         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
77186         New function.  It no longer assumes "dev=" has the System V meaning
77187         on Linux (since it doesn't).  It also parses "dev=" more carefully.
77188         (read_file_system_list)
77189         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
77190         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
77191         dev= in that case.
77192
77193         * lib/posixtm.h (PDS_PRE_2000): New macro.
77194         * lib/posixtm.c (year): Arg is now syntax_bits rather than
77195         allow_century.  All usages changed.  Reject dates outside the range
77196         1969-1999 if PDS_PRE_2000 is used.
77197
77198 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
77199
77200         Sync from coreutils.
77201         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
77202         (Time of day items): Mention the possibility of leap seconds.
77203         Problem reported by Dr. David Alan Gilbert.
77204
77205 2006-01-09  Jim Meyering  <jim@meyering.net>
77206
77207         Sync from coreutils.
77208
77209         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
77210
77211         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
77212
77213         * lib/modechange.c (mode_compile): Reject an invalid mode string
77214         that starts with an octal digit.  From Andreas Gruenbacher.
77215
77216         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
77217         and dup to open_safer and dup_safer, respectively.
77218         (openat_permissive): Fix typo in comment.
77219
77220         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
77221         "gettext.h"; either no longer needed or are guaranteed by openat.h.
77222         (_): Remove; no longer needed.
77223         (openat): Renamed from rpl_openat; no need for rpl_openat
77224         since openat.h renames openat for us.
77225         Replace most of the body with a call to openat_permissive,
77226         to avoid duplicate code.
77227         Port to (probably hypothetical) environments were mode_t is
77228         wider than int.
77229         (openat_permissive): Require mode arg, so that we can check
77230         types better.  Put it just after flags.  Change cwd failure
77231         indicator from pointer-to-bool to pointer-to-errno-value.
77232         All callers changed.
77233         Invoke openat_save_fail and/or openat_restore_fail if
77234         cwd_errno is null, so that openat can call us.
77235         (openat_permissive, fdopendir, fstatat, unlinkat):
77236         Simplify errno handling to avoid some duplicate code,
77237         as it's OK to set errno on success.
77238         * lib/openat.h: Revamp code so that function macros depend on
77239         __OPENAT_PREFIX only, not also on AT_FDCWD.
77240         (openat_ro): Remove.  Caller changed to use openat_permissive.
77241         (openat_permissive): Now a macro, if not a function.
77242         (openat_restore_fail, openat_save_fail): Now always functions,
77243         since mkdirat needs them even if __OPENAT_PREFIX is defined.
77244
77245         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
77246         and openat.c.
77247         * lib/mkdirat.c: Include openat-priv.h.
77248         Remove definitions of macros defined therein.
77249         * lib/openat.c: Likewise.
77250
77251         * lib/mkdirat.c (mkdirat): New file and function.
77252         * lib/openat.h (mkdirat): Declare.
77253
77254         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
77255
77256         * lib/openat.h (openat_permissive): Declare.
77257         (openat_ro): Define.
77258
77259         * lib/openat.c (EXPECTED_ERRNO): New macro.
77260         (openat_permissive): New function -- used in remove.c rewrite.
77261         (all functions): Set errno just before returning, only if there
77262         was an actual failure.
77263         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
77264
77265         Emulate openat-family functions using Linux's procfs, if possible.
77266         Idea and some code based on Ulrich Drepper's glibc changes.
77267
77268         * lib/openat.c: (BUILD_PROC_NAME): New macro.
77269         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
77270         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
77271         before falling back on save_cwd and restore_cwd.
77272         (fdopendir, fstatat, unlinkat): Likewise.
77273
77274         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
77275         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
77276
77277         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
77278         as second argument to va_arg.  Otherwise, some versions of gcc
77279         warn that `if this code is reached, the program will abort'.
77280
77281 2006-01-09  Jim Meyering  <jim@meyering.net>
77282
77283         Sync from coreutils.
77284         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
77285         Require openat-priv.h.
77286
77287 2006-01-09  Bruno Haible  <bruno@clisp.org>
77288
77289         * modules/strnlen (Include): Use strnlen.h.
77290
77291 2006-01-09  Bruno Haible  <bruno@clisp.org>
77292
77293         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
77294
77295 2006-01-09  Bruno Haible  <bruno@clisp.org>
77296
77297         * lib/sysexit_.h (EX_OK): New macro.
77298         Suggested by Martin Lambers <marlam@marlam.de>.
77299
77300 2006-01-09  Bruno Haible  <bruno@clisp.org>
77301
77302         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
77303         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
77304
77305 2006-01-09  Bruno Haible  <bruno@clisp.org>
77306
77307         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
77308         numbers.
77309
77310 2006-01-09  Bruno Haible  <bruno@clisp.org>
77311
77312         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
77313         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
77314         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
77315         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
77316
77317 2006-01-09  Bruno Haible  <bruno@clisp.org>
77318
77319         * build-aux/javacomp.sh.in: New file, moved from lib/.
77320         * modules/javacomp-script (Files): Update.
77321         (configure.ac): Add AC_CONFIG_FILES invocation.
77322         (EXTRA_DIST): Remove variable.
77323
77324         * build-aux/javaexec.sh.in: New file, moved from lib/.
77325         * modules/javaexec (Files): Update.
77326         (configure.ac): Add AC_CONFIG_FILES invocation.
77327         (EXTRA_DIST): Remove javaexec.sh.in.
77328
77329         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
77330         * modules/csharpcomp-script (Files): Update.
77331         (configure.ac): Add AC_CONFIG_FILES invocation.
77332         (EXTRA_DIST): Remove variable.
77333
77334         * build-aux/csharpexec.sh.in: New file, moved from lib/.
77335         * modules/csharpexec (Files): Update.
77336         (configure.ac): Add AC_CONFIG_FILES invocation.
77337         (EXTRA_DIST): Remove csharpexec.sh.in.
77338
77339 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77340
77341         Sync from coreutils.
77342
77343         Add POSIX ACL support
77344         * lib/acl.h (copy_acl, set_acl): Add declarations.
77345         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
77346         systems other than Linux.
77347         (chmod_or_fchmod): New function: use fchmod when possible,
77348         and chmod otherwise.
77349         (file_has_acl): Add a POSIX ACL implementation, with a
77350         Linux-specific subcase.
77351         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
77352         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
77353         acls are unsupported.
77354         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
77355         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
77356         are unsupported.
77357
77358 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
77359
77360         Sync from coreutils.
77361         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
77362
77363 2006-01-07  Bruno Haible  <bruno@clisp.org>
77364
77365         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
77366         gl_EARLY.
77367
77368 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77369
77370         * lib/strftime.c (tzname): Don't declare if it is already #defined.
77371         Problem reported for Mingw by Mark Junker.
77372
77373 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
77374
77375         * README: Gnulib normally doesn't generate a tarball.
77376
77377 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
77378
77379         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
77380         long int, not int, for nanosecond counts, so that people who are
77381         used to POSIX struct timespec won't be surprised.  Reported by Jim
77382         Meyering.
77383
77384 2005-12-28  Bruno Haible  <bruno@clisp.org>
77385
77386         * build-aux/config.rpath: Update from GNU gettext.
77387
77388 2005-12-16  Jim Meyering  <jim@meyering.net>
77389
77390         * modules/fprintftime: New module.
77391         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
77392
77393 2005-12-16  Jim Meyering  <jim@meyering.net>
77394
77395         * m4/fprintftime.m4: New file.
77396
77397 2005-12-16  Jim Meyering  <jim@meyering.net>
77398
77399         * lib/fprintftime.c, lib/fprintftime.h: New files.
77400
77401 2005-12-15  Simon Josefsson  <jas@extundo.com>
77402
77403         * modules/socklen (configure.ac): Fix M4 macro name, to align with
77404         new m4/socklen.m4.
77405
77406 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77407
77408         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
77409         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
77410
77411 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
77412
77413         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
77414         * lib/argp-help.c (fill_in_uparams): Check if the constructed
77415         struct uparams is valid. Fall back to the default values if it is
77416         not.
77417
77418 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77419
77420         * modules/argp (Files): Add argp-pin.c
77421         (Depends-on): dirname
77422         (lib_SOURCES): Add argp-pin.c
77423
77424 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77425
77426         * m4/argp.m4:  Check if program_invocation_name and
77427         program_invocation_short_name are declared and define appropriate
77428         macros if they are not.
77429
77430 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
77431
77432         * lib/argp-help.c (__argp_base_name): New function
77433         (__argp_short_program_name): Rewrite using __argp_base_name
77434         * lib/argp-namefrob.h: Define program_invocation_name and
77435         program_invocation_short_name if requested
77436         (__argp_base_name): Add prototype
77437         * lib/argp-parse.c (argp_def): Use gettext wrappers
77438         (argp_default_parser): Use __argp_base_name
77439         * lib/argp-pin.c: New file. Defines program_invocation_name and
77440         program_invocation_short_name on systems that lack them.
77441
77442 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77443
77444         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
77445         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77446         porting problem reported by Georg Schwarz in
77447         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77448
77449 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
77450
77451         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
77452         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
77453         porting problem reported by Georg Schwarz in
77454         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
77455
77456 2005-12-05  Bruno Haible  <bruno@clisp.org>
77457
77458         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
77459         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
77460         Reported by Mark Junker <mjscod@gmx.de>.
77461
77462 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
77463
77464         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
77465         Use implementation from Albert Chin, with some
77466         comments/corrections by Stepan Kasal and myself.
77467
77468 2005-12-02  Bruno Haible  <bruno@clisp.org>
77469
77470         * gnulib-tool (func_import): Accept GPLed build tool modules when
77471         --lgpl is given.
77472         * modules/csharpcomp-script: New file.
77473         * modules/csharpcomp: Depend on it.
77474         * modules/javacomp-script: New file.
77475         * modules/javacomp: Depend on it.
77476         Suggested by Simon Josefsson.
77477
77478 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
77479
77480         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
77481         statement, to work around an HP-UX 10.20 compiler bug reported by
77482         Peter O'Gorman.
77483
77484 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77485
77486         * modules/savedir (Depends-on): Add openat.
77487
77488 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
77489
77490         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
77491         (uintmax_t) [defined uintmax_t]: Do not declare.
77492         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
77493         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
77494         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
77495         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
77496         sake of portability to weird hosts that C allows (though we don't
77497         know of any practical examples).
77498
77499         * lib/savedir.h (fdsavedir): New decl.
77500         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
77501         contains most of the former guts of savedir.
77502         (savedir): Use savedirstream.
77503         Include "openat.h".
77504
77505 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
77506
77507         * modules/obstack (Files): Add m4/ulonglong.m4.
77508         Problem reported by Davide Angelocola.
77509
77510 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
77511
77512         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
77513         coreutils no longer futzes with rounding modes.
77514
77515 2005-11-14  Jim Meyering  <jim@meyering.net>
77516
77517         * lib/mkstemp-safer.c: Include <config.h>, required for possible
77518         replacement of mkstemp.
77519
77520 2005-11-10  Simon Josefsson  <jas@extundo.com>
77521
77522         * lib/readline.c: Remove EOL.
77523
77524 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77525
77526         * modules/gethrxtime (Depends-on): Add gettime.
77527
77528 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77529
77530         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
77531         or gettimeofday; no longer needed.
77532
77533 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
77534
77535         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
77536         time business.
77537         (gethrxtime) [! (HAVE_NANOUPTIME
77538         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
77539         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
77540         our own approximation.
77541
77542 2005-11-08  Eric Blake  <ebb9@byu.net>
77543
77544         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77545
77546 2005-11-08  Eric Blake  <ebb9@byu.net>
77547
77548         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
77549
77550 2005-11-04  Bruno Haible  <bruno@clisp.org>
77551
77552         * gnulib-tool: Implement --update mode.
77553
77554 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77555
77556         Fix porting problem reported by Theodoros V. Kalamatianos.
77557         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
77558         Don't assume that futimes failing means we must fail.
77559
77560 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
77561
77562         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
77563         variables to suggest the intended function of the PATH_MAX check.
77564
77565 2005-10-30  Kean Johnston  <jkj@sco.com>
77566
77567         Trivial changes to support SCO systems.
77568         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
77569         as PATH_MAX.
77570         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
77571         where __ptr is null when no I/O is pending.
77572
77573 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
77574
77575         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
77576         leave errno alone.  Problem reported by Dmitry V. Levin.
77577
77578 2005-10-28  Simon Josefsson  <jas@extundo.com>
77579
77580         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
77581         Test more.
77582
77583         * tests/test-gc-md2.c, tests/test-md2.c: New files.
77584
77585         * modules/md2, modules/md2-tests: New files.
77586
77587 2005-10-28  Simon Josefsson  <jas@extundo.com>
77588
77589         * m4/inet_ntop.m4: More tests.
77590
77591         * m4/gc-md2.m4, md2.m4: New file.
77592
77593 2005-10-28  Simon Josefsson  <jas@extundo.com>
77594
77595         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
77596         "restrict" keywords, as per POSIX.  Protect the function
77597         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
77598         Don't use K&R prototypes.  Check the sprintf return values.
77599         Re-define EAFNOSUPPORT if not present.  Indent.
77600
77601         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
77602         suggested by Bruno Haible <bruno@clisp.org>.
77603
77604         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
77605
77606         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
77607
77608         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
77609         libgcrypt).
77610
77611         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
77612
77613         * lib/md2.h, lib/md2.c: New files.
77614
77615 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
77616
77617         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
77618         errno alone.  Problem reported by Frederic Jolliton.
77619
77620 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
77621
77622         * modules/verify (License): Change from GPL to LGPL.  This is a
77623         tiny module and there are apparently near-equivalents that are
77624         under the BSD license.
77625
77626 2005-10-24  Simon Josefsson  <jas@extundo.com>
77627
77628         * modules/sha1: Relicense to LGPL.
77629
77630 2005-10-24  Simon Josefsson  <jas@extundo.com>
77631
77632         * lib/md4.h: Shrink buffer size, now that we changed the type.
77633
77634 2005-10-23  Simon Josefsson  <jas@extundo.com>
77635
77636         * gnulib-tool (func_import): Fix --tests-base.
77637
77638 2005-10-22  Simon Josefsson  <jas@extundo.com>
77639
77640         * modules/arcfour (Depends-on): Need stdint.
77641
77642 2005-10-22  Simon Josefsson  <jas@extundo.com>
77643
77644         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
77645         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
77646
77647 2005-10-22  Simon Josefsson  <jas@extundo.com>
77648
77649         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
77650         suggested by Bruno Haible <bruno@clisp.org>.
77651
77652 2005-10-22  Simon Josefsson  <jas@extundo.com>
77653
77654         * lib/crc.h: Include stddef.h, for size_t.
77655
77656 2005-10-22  Simon Josefsson  <jas@extundo.com>
77657
77658         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
77659         arcfour_context struct (simplify test vector testing in GNU
77660         Shishi).
77661
77662 2005-10-21  Simon Josefsson  <jas@extundo.com>
77663
77664         * modules/des, modules/des-tests: New files.
77665
77666         * modules/gc-des, modules/gc-des-tests: New files.
77667
77668         * tests/test-des.c, tests/test-gc-des.c: New file.
77669
77670 2005-10-21  Simon Josefsson  <jas@extundo.com>
77671
77672         * modules/arctwo, modules/arctwo-tests: New files.
77673
77674         * tests/test-arctwo.c: New file.
77675
77676         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
77677
77678         * tests/test-gc-arctwo.c: New file.
77679
77680 2005-10-21  Simon Josefsson  <jas@extundo.com>
77681
77682         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
77683         Bruno Haible <bruno@clisp.org>.
77684
77685         * m4/gc-des.m4: New file.
77686
77687 2005-10-21  Simon Josefsson  <jas@extundo.com>
77688
77689         * m4/arctwo.m4: New file.
77690
77691         * m4/gc-arctwo.m4: New file.
77692
77693 2005-10-21  Simon Josefsson  <jas@extundo.com>
77694
77695         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
77696         block.
77697
77698 2005-10-21  Simon Josefsson  <jas@extundo.com>
77699
77700         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
77701         <bruno@clisp.org>.
77702
77703         * lib/hmac-sha1.c (hmac_sha1): Likewise.
77704
77705         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
77706         Bruno Haible <bruno@clisp.org>.
77707
77708         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
77709         <bruno@clisp.org>.
77710
77711 2005-10-21  Simon Josefsson  <jas@extundo.com>
77712
77713         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
77714
77715 2005-10-21  Simon Josefsson  <jas@extundo.com>
77716
77717         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
77718
77719 2005-10-21  Simon Josefsson  <jas@extundo.com>
77720
77721         * lib/des.h, lib/des.c: New files.
77722
77723         * lib/gc-gnulib.c: Support DES.c
77724
77725 2005-10-21  Simon Josefsson  <jas@extundo.com>
77726
77727         * lib/arctwo.h, lib/arctwo.c: New files.
77728
77729         * lib/gc-gnulib.c: Support ARCTWO.
77730
77731 2005-10-21  Simon Josefsson  <jas@extundo.com>
77732
77733         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
77734         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
77735
77736 2005-10-21  Simon Josefsson  <jas@extundo.com>
77737
77738         * gnulib-tool (func_import, func_create_testdir): Define automake
77739         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
77740         Makefile.am snippet),
77741         suggested by Bruno Haible <bruno@clisp.org>.
77742
77743         * modules/gc (Makefile.am): Use it.
77744
77745 2005-10-21  Bruno Haible  <bruno@clisp.org>
77746
77747         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
77748         patch.
77749
77750 2005-10-19  Simon Josefsson  <jas@extundo.com>
77751
77752         * tests/test-gc-rijndael.c: New file.
77753
77754         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
77755
77756 2005-10-19  Simon Josefsson  <jas@extundo.com>
77757
77758         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
77759         interface too.
77760
77761 2005-10-19  Simon Josefsson  <jas@extundo.com>
77762
77763         * tests/test-gc-arcfour.c: New file.
77764
77765         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
77766
77767 2005-10-19  Simon Josefsson  <jas@extundo.com>
77768
77769         * modules/gc-md4, modules/gc-md4-tests: New file.
77770
77771         * tests/test-gc-md4.c: New file.
77772
77773 2005-10-19  Simon Josefsson  <jas@extundo.com>
77774
77775         * m4/gc-md4.m4: New file.
77776
77777 2005-10-19  Simon Josefsson  <jas@extundo.com>
77778
77779         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
77780         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
77781         <kasal@ucw.cz>.
77782
77783 2005-10-19  Simon Josefsson  <jas@extundo.com>
77784
77785         * m4/gc-arcfour.m4: New file.
77786
77787         * m4/gc-rijndael.m4: New file.
77788
77789 2005-10-19  Simon Josefsson  <jas@extundo.com>
77790
77791         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
77792
77793 2005-10-19  Simon Josefsson  <jas@extundo.com>
77794
77795         * lib/gc-gnulib.c: Support ARCFOUR.
77796
77797 2005-10-19  Simon Josefsson  <jas@extundo.com>
77798
77799         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
77800         support.
77801
77802         * lib/gc.h: Add ECB enum type.
77803
77804         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
77805
77806 2005-10-18  Simon Josefsson  <jas@extundo.com>
77807
77808         * tests/test-md5.c: New file.
77809
77810         * modules/md5-tests: New file.
77811
77812 2005-10-18  Simon Josefsson  <jas@extundo.com>
77813
77814         * tests/test-md4.c: New file.
77815
77816         * modules/md4, modules/md4-tests: New files.
77817
77818 2005-10-18  Simon Josefsson  <jas@extundo.com>
77819
77820         * m4/md4.m4: New file.
77821
77822 2005-10-18  Simon Josefsson  <jas@extundo.com>
77823
77824         * lib/md4.h, lib/md4.c: New files, based on md5.?.
77825
77826 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
77827
77828         * gnulib-tool (func_create_testdir): Omit the second check whether
77829         BUILT_SOURCES in nonempty.
77830
77831 2005-10-17  Simon Josefsson  <jas@extundo.com>
77832
77833         * tests/test-rijndael.c: New file.
77834
77835 2005-10-17  Simon Josefsson  <jas@extundo.com>
77836
77837         * modules/sha1: Depend on stdint instead of md5.
77838
77839         * modules/md5: Depend on stdint, remove uint32_t.
77840
77841 2005-10-17  Simon Josefsson  <jas@extundo.com>
77842
77843         * modules/gc-sha1-tests: New file.
77844
77845         * tests/test-gc-sha1.c: New file.
77846
77847 2005-10-17  Simon Josefsson  <jas@extundo.com>
77848
77849         * m4/md5.m4: Remove call to uint32_t.m4.
77850
77851 2005-10-17  Simon Josefsson  <jas@extundo.com>
77852
77853         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
77854
77855         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
77856         md5.h.
77857
77858         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
77859
77860         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
77861
77862 2005-10-17  Simon Josefsson  <jas@extundo.com>
77863
77864         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
77865
77866 2005-10-17  Simon Josefsson  <jas@extundo.com>
77867
77868         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
77869
77870 2005-10-17  Simon Josefsson  <jas@extundo.com>
77871
77872         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
77873
77874         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
77875
77876 2005-10-17  Bruno Haible  <bruno@clisp.org>
77877
77878         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
77879         that it can also be used in a test.
77880
77881 2005-10-16  Bruno Haible  <bruno@clisp.org>
77882
77883         * gnulib-tool (func_emit_tests_Makefile_am): Also define
77884         TESTS_ENVIRONMENT, so that individual tests can augment it.
77885
77886         * gnulib-tool (func_create_testdir): Use an intermediate target for
77887         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
77888         macros, like $(ALLOCA_H), which cannot be passed through the command
77889         line.
77890
77891 2005-10-15  Simon Josefsson  <jas@extundo.com>
77892
77893         * modules/rijndael-tests: New file.
77894
77895         * modules/rijndael: New file.
77896
77897 2005-10-15  Simon Josefsson  <jas@extundo.com>
77898
77899         * m4/rijndael.m4: New file.
77900
77901 2005-10-15  Simon Josefsson  <jas@extundo.com>
77902
77903         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
77904
77905         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
77906
77907 2005-10-14  Simon Josefsson  <jas@extundo.com>
77908
77909         * tests/test-arcfour.c: New file.
77910
77911         * modules/arcfour, modules/arcfour-tests: New files.
77912
77913 2005-10-14  Simon Josefsson  <jas@extundo.com>
77914
77915         * m4/arcfour.m4: New file.
77916
77917 2005-10-14  Simon Josefsson  <jas@extundo.com>
77918
77919         * lib/arcfour.h, lib/arcfour.c: New files.
77920
77921 2005-10-14  Roland McGrath  <roland@redhat.com>
77922
77923         Import from libc.  [BZ #1331]
77924         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
77925         macro argument.
77926         Reported by Matej Vela <vela@debian.org>.
77927
77928 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
77929
77930         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
77931         include <wchar.h>; no longer needed.
77932
77933 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
77934
77935         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
77936
77937 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
77938         and  Ulrich Drepper  <drepper@redhat.com>
77939
77940         Import from libc.
77941         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
77942         instead of inline stream orientation test and two separate
77943         function calls.  Pay no attention to USE_IN_LIBIO.
77944
77945 2005-10-13  Simon Josefsson  <jas@extundo.com>
77946
77947         * modules/gc-hmac-md5-tests: New file.
77948
77949         * tests/test-gc-hmac-sha1.c: New file.
77950
77951         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
77952
77953         * modules/gc-hmac-md5-tests: New file.
77954
77955         * tests/test-gc-md5.c: New file.
77956
77957         * modules/gc-md5-tests: New file.
77958
77959 2005-10-13  Simon Josefsson  <jas@extundo.com>
77960
77961         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
77962         Move memory allocation outside of loop.
77963
77964 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
77965
77966         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
77967         intermediate directory is in a read-only file system.  Problem
77968         reported by Eric Blake.
77969
77970 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
77971
77972         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
77973
77974 2005-10-12  Simon Josefsson  <jas@extundo.com>
77975
77976         * tests/test-hmac-sha1.c: New file.
77977
77978         * modules/hmac-sha1-tests: New file.
77979
77980         * modules/hmac-sha1: New file.
77981
77982 2005-10-12  Simon Josefsson  <jas@extundo.com>
77983
77984         * modules/gc-sha1: New file.
77985
77986 2005-10-12  Simon Josefsson  <jas@extundo.com>
77987
77988         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
77989
77990         * tests/test-gc-pbkdf2-sha1.c: New file.
77991
77992 2005-10-12  Simon Josefsson  <jas@extundo.com>
77993
77994         * modules/gc-md5, modules/gc-hmac-md5: New files.
77995
77996         * modules/gc (Files): Remove md5, memxor and hmac files.
77997
77998 2005-10-12  Simon Josefsson  <jas@extundo.com>
77999
78000         * m4/gc-pbkdf2-sha1.m4: New file.
78001
78002         * m4/gc-hmac-sha1.m4: New file.
78003
78004         * m4/gc-sha1: New file.
78005
78006         * m4/hmac-sha1.m4: New file.
78007
78008 2005-10-12  Simon Josefsson  <jas@extundo.com>
78009
78010         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
78011
78012         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
78013
78014 2005-10-12  Simon Josefsson  <jas@extundo.com>
78015
78016         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
78017         suggested by Bruno Haible <bruno@clisp.org>.
78018
78019 2005-10-12  Simon Josefsson  <jas@extundo.com>
78020
78021         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
78022
78023 2005-10-12  Simon Josefsson  <jas@extundo.com>
78024
78025         * lib/gc-pbkdf2-sha1.c: New file.
78026
78027         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
78028
78029 2005-10-12  Simon Josefsson  <jas@extundo.com>
78030
78031         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
78032
78033         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
78034
78035 2005-10-12  Simon Josefsson  <jas@extundo.com>
78036
78037         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
78038         GC_USE_HMAC_MD5, respectively.
78039
78040         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
78041         (gc_md5): Fix typo.
78042
78043         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
78044
78045         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
78046
78047         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
78048
78049 2005-10-12  Bruno Haible  <bruno@clisp.org>
78050
78051         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
78052         Reported by Stepan Kasal <kasal@ucw.cz>.
78053
78054 2005-10-11  Simon Josefsson  <jas@extundo.com>
78055
78056         * tests/test-crc.c: New file.
78057
78058         * modules/crc, modules/crc-tests: New files.
78059
78060 2005-10-11  Simon Josefsson  <jas@extundo.com>
78061
78062         * m4/crc.m4: New file.
78063
78064 2005-10-11  Simon Josefsson  <jas@extundo.com>
78065
78066         * lib/gc.h: Add gc_hash and gc_hash_buffer.
78067
78068         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
78069
78070         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
78071
78072 2005-10-11  Simon Josefsson  <jas@extundo.com>
78073
78074         * lib/crc.h, lib/crc.c: New files.
78075
78076         * lib/gc.h (gc_hash_buffer): Add doc.
78077
78078 2005-10-11  Bruno Haible  <bruno@clisp.org>
78079
78080         * modules/c-strcasestr: New file.
78081         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
78082
78083 2005-10-11  Bruno Haible  <bruno@clisp.org>
78084
78085         * modules/c-strcase: New file.
78086         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
78087
78088 2005-10-11  Bruno Haible  <bruno@clisp.org>
78089
78090         * lib/strcasecmp.c: Include limits.h.
78091         (strcasecmp): Avoid integer overflow on exotic platforms.
78092         * lib/strncasecmp.c: Include limits.h.
78093         (strncasecmp): Avoid integer overflow on exotic platforms.
78094         Reported by Paul Eggert.
78095
78096 2005-10-11  Bruno Haible  <bruno@clisp.org>
78097
78098         * lib/c-strcasestr.h: New file, from GNU gettext.
78099         * lib/c-strcasestr.c: New file, from GNU gettext.
78100
78101 2005-10-11  Bruno Haible  <bruno@clisp.org>
78102
78103         * lib/c-strcase.h: New file, from GNU gettext.
78104         * lib/c-strcasecmp.c: New file, from GNU gettext.
78105         * lib/c-strncasecmp.c: New file, from GNU gettext.
78106
78107 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
78108
78109         * modules/mempcpy (License): GPL -> LGPL.
78110         * modules/strchrnul (License): Likewise.
78111         * modules/sysexits (License): Likewise.
78112
78113 2005-10-08  Simon Josefsson  <jas@extundo.com>
78114
78115         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
78116
78117 2005-10-07  Simon Josefsson  <jas@extundo.com>
78118
78119         * m4/memxor.m4: Remove gl_C_RESTRICT call.
78120
78121 2005-10-06  Simon Josefsson  <jas@extundo.com>
78122
78123         * tests/test-hmac-md5.c: New file.
78124
78125         * modules/hmac-md5-tests: New file.
78126
78127         * modules/hmac-md5: New file.
78128
78129 2005-10-06  Simon Josefsson  <jas@extundo.com>
78130
78131         * m4/hmac-md5.m4: New file.
78132
78133         * m4/memxor.m4: Require gl_C_RESTRICT.
78134
78135 2005-10-06  Simon Josefsson  <jas@extundo.com>
78136
78137         * lib/memxor.c (memxor): Avoid casts and warnings.
78138
78139 2005-10-06  Simon Josefsson  <jas@extundo.com>
78140
78141         * lib/hmac-md5.c: New file.
78142
78143         * lib/hmac.h: New file.
78144
78145 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
78146
78147         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
78148         promotes to int, not unsigned int, to catch the AIX 5.3
78149         compiler bug.
78150
78151 2005-10-05  Simon Josefsson  <jas@extundo.com>
78152
78153         * modules/memxor: New file.
78154
78155         * modules/iconv (Files): Move config.rpath to havelib, it is used
78156         there.
78157
78158         * modules/havelib (Files): Add config.rpath.
78159
78160 2005-10-05  Simon Josefsson  <jas@extundo.com>
78161
78162         * m4/memxor.m4: New file.
78163
78164 2005-10-05  Simon Josefsson  <jas@extundo.com>
78165
78166         * lib/memxor.c (memxor): Fix compiler error.
78167
78168         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
78169         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
78170
78171         * lib/memxor.h, lib/memxor.c: New files.
78172
78173         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
78174         we assume all systems have it, suggested by Jim Meyering
78175         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
78176         any systems lack sys/socket.h; mingw32 is known to lack it, but we
78177         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
78178         same reasons.
78179
78180 2005-10-05  Simon Josefsson  <jas@extundo.com>
78181
78182         * config/srclist.txt: Add glibc bug 1423 for md5.h.
78183
78184 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
78185
78186         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
78187         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
78188         needed, since the source code now assumes these .h files.
78189
78190 2005-10-05  Derek Price  <derek@ximbiot.com>
78191
78192         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
78193
78194 2005-10-05  Bruno Haible  <bruno@clisp.org>
78195
78196         * modules/stdint (License): Change to LGPL.
78197
78198 2005-10-04  Simon Josefsson  <jas@extundo.com>
78199
78200         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
78201         D. Baushke" <mdb@gnu.org>.
78202
78203 2005-10-04  Bruno Haible  <bruno@clisp.org>
78204
78205         * lib/verify.h (verify_true): Provide alternative definition for C++.
78206
78207 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
78208
78209         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
78210         (SSIZE_MAX): New macro, if not already defined.
78211         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
78212         than 2 GiB.
78213
78214 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78215
78216         Sync from coreutils.
78217         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
78218         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
78219         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
78220         ULLONG_MAX doesn't work with 2.7.2.1.
78221
78222 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78223
78224         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
78225         From Ben Pfaff.
78226
78227         * modules/exclude (Depends-on): Depend on verify.
78228         * modules/strtoimax (Depends-on): Likewise.
78229         * modules/utimecmp (Depends-on): Likewise.
78230
78231 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
78232
78233         * lib/exclude.c: Include verify.h.
78234         (verify): Remove.  All callers changed to use verify.h's version.
78235         * lib/strtoimax.c: Likewise.
78236         * lib/utimecmp.c: Likewis.e
78237
78238         Sync from coreutils.
78239         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
78240         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
78241         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
78242         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
78243         bother returning ENOSYS if settimeofday or stime fails; just let
78244         them return whatever errno they want to return.
78245         * lib/utimens.c: Include unistd.h, for dup2.
78246         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
78247         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
78248
78249 2005-10-02  Jim Meyering  <jim@meyering.net>
78250
78251         Sync from coreutils.
78252         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
78253         from glibc-2.2.5 that fails for read-only files.
78254
78255 2005-10-02  Jim Meyering  <jim@meyering.net>
78256
78257         Sync from coreutils.
78258         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
78259         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
78260         `#if HAVE_CONFIG_H'.
78261         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
78262         Remove AT_FDCWD test.
78263         Do not consume the fd unless successful.
78264         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
78265         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
78266         block, so that we don't even try to compile it if settimeofday is
78267         available.  This works around a compilation failure on OSF1 V5.1,
78268         due to stime requiring a `long int*' while tv_sec is `int'.
78269
78270 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
78271
78272         Sync from coreutils.
78273         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
78274         against `yes', rather than just testing for nonempty.
78275
78276 2005-10-01  Simon Josefsson  <jas@extundo.com>
78277
78278         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
78279         and Darwin.
78280
78281         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
78282         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
78283         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
78284         freeaddrinfo and gai_strerror are declared by the POSIX headers.
78285         Check if struct addrinfo is declared.
78286
78287 2005-10-01  Simon Josefsson  <jas@extundo.com>
78288
78289         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
78290         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
78291         AI_* and EAI_* definitions.  Protect function declarations.
78292
78293 2005-10-01  Jim Meyering  <jim@meyering.net>
78294
78295         Sync from coreutils.
78296
78297         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
78298         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
78299         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
78300         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78301         in the inet and nsl libraries.  Required on Solaris 5.7.
78302
78303 2005-10-01  Jim Meyering  <jim@meyering.net>
78304
78305         Sync from coreutils.
78306         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
78307         in the inet and nsl libraries.  Required on Solaris 5.7.
78308
78309 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
78310
78311         * lib/getdelim.c (getdelim): Remove unused variables.
78312
78313 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
78314
78315         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
78316         so that the code works even with ancient cpp.  Portability problem
78317         with GCC 2.7.2.1 reported by Thomas M.Ott.
78318
78319 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
78320
78321         * modules/regex (Depends-on): Add strcase.
78322
78323         * modules/gethostname (Licence): Change from GPL to LGPL, since
78324         gethostname.c is a trivial implementation of a standard library
78325         function.
78326         * modules/poll (License): Change from GPL to LGPL, since it's
78327         derived from LGPL code.
78328
78329 2005-09-27  Jim Meyering  <jim@meyering.net>
78330
78331         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
78332         HAVE_CONFIG_H.
78333
78334         * lib/intprops.h (signed_type_or_expr__): Define.
78335         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
78336         for unsigned types.
78337
78338 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
78339
78340         * lib/verify.h (verify_expr): Remove, replacing with:
78341         (verify_true): New macro that returns true instead of void.
78342         (verify_type__): Remove.
78343         (verify): Use verify_true rather than verify_type__.
78344
78345 2005-09-26  Bruno Haible  <bruno@clisp.org>
78346
78347         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
78348         is necessary.
78349         (lib_SOURCES): Remove mbchar.c.
78350         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
78351         (Files): Add m4/mbrtowc.m4.
78352         * modules/mbiter: Likewise.
78353         * modules/mbuiter: Likewise.
78354
78355 2005-09-26  Bruno Haible  <bruno@clisp.org>
78356
78357         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
78358         compile mbchar.c if they are not both present.
78359         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
78360         * m4/mbiter.m4 (gl_MBITER): Likewise.
78361         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
78362         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
78363         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
78364
78365 2005-09-25  Jim Meyering  <jim@meyering.net>
78366
78367         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
78368         also uses socklen_t.
78369
78370 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
78371
78372         * lib/utimens.c (ENOSYS): Define if not already defined.
78373         (futimens): Support having a null PATH if the file descriptor
78374         is nonnegative.
78375
78376         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
78377         Remove.
78378         (__attribute): Define to empty unless GCC 3.1 or later.
78379         This works around a core dump on OpenBSD 3.4, which has GCC
78380         2.95.3, which dumps core when given __attribute__(()).  It also
78381         simplifies other tests, since we really don't want to bother with
78382         worrying about which ancient version of GCC supported what.
78383         Original problem reported by Yoann Vandoorselaere, with part of
78384         the fix suggested by Derek Price.
78385
78386 2005-09-24  Jim Meyering  <jim@meyering.net>
78387
78388         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
78389         so we can once again use a positive bitfield width of 1 -- now we
78390         don't have to explain why we were using a bitfield width of 2.
78391
78392 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78393
78394         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
78395         and similarly for the other external symbols.  Problem reported
78396         by James Gallager.
78397
78398         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
78399         bug reported by Jim Meyering.
78400
78401         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
78402         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
78403         not needed, since socklen is a prerequisite module.
78404
78405 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
78406
78407         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
78408         Problem reported by Eric Blake.
78409         (getaddrinfo): Initialize se so that it's not garbage.
78410         Redo internal storage allocation so that it doesn't make unportable
78411         assumptions about alignment.
78412         Fix a memory leak.
78413
78414         * lib/utimens.c (futimens): Use futimesat if available.
78415         Prefer it to futimes since it doesn't have the futimes bug.
78416
78417         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
78418         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
78419         Instead, declare a function that returns a pointer to an array,
78420         and use verify_type__ to declare the size of the array.
78421         Problem and germ of a solution reported by Bruno Haible.
78422         (verify_type__): Use 2, not 1, for bitfield size, to avoid
78423         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
78424
78425 2005-09-23  Jim Meyering  <jim@meyering.net>
78426
78427         Sync from coreutils.
78428         Correct build failure (socklen_t not defined) on at least
78429         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
78430         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
78431
78432 2005-09-23  Jim Meyering  <jim@meyering.net>
78433
78434         * modules/getaddrinfo (Depends-on): Add socklen.
78435
78436 2005-09-23  Bruno Haible  <bruno@clisp.org>
78437
78438         * tests/test-verify.c: New file.
78439
78440 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78441
78442         Sync from coreutils.
78443
78444         * modules/argmatch (Depends-on): Add verify.
78445         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
78446         unistd-safer.
78447         * modules/save-cwd (Depends-on): Likewise.
78448
78449         * modules/openat (Files): Add lib/openat-die.c.
78450         (Depends-on): Remove error, exitfail.
78451         Add dirname.
78452
78453         * modules/verify: New file.
78454         * MODULES.html.sh (Diagnostics <assert.h>): New section,
78455         with "verify" module.
78456
78457 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78458
78459         Sync from coreutils.
78460
78461         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
78462         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
78463         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
78464         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
78465         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
78466         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
78467         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
78468         Don't bother checking for string.h, stdlib.h, unistd.h.
78469         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
78470         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
78471         module's job.
78472         * m4/jm-macros.m4 (gl_MACROS): Likewise.
78473         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
78474
78475         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
78476         (gl_GETDATE): Use it.
78477
78478         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
78479
78480 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78481
78482         Sync from coreutils.
78483
78484         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
78485         stat-time.h.
78486         * lib/argmatch.h: Include verify.h
78487         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
78488         (ARGMATCH_ASSERT): Remove; unused.
78489         * lib/canonicalize.c: Assume STDC_HEADERS.
78490         * lib/exclude.c: Include "strcase.h".
78491         * lib/regex_internal.h [!defined _LIBC]: Likewise.
78492         * lib/getusershell.c: Include stdio--.h rather than stdio.h
78493         and stdio-safer.h.
78494         (getusershell): Call fopen, not fopen_safer.
78495         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
78496         Do not include unistd-safer.h.
78497         (save_cwd): Don't call fd_safer; no longer needed
78498         now that we include fcntl--.h.
78499
78500         * lib/getdate.y (relative_time): New type.
78501         (RELATIVE_TIME_0): New constant.
78502         (parser_control): Use relative_time instead of doing it ourselves.
78503         (%union): Add new relative_time rel member.
78504         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
78505         Now typeless.
78506         (relunit, relunit_snumber): Now of type rel.
78507         (zone, rel, relunit, get_date): Adjust to above changes.
78508
78509         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
78510         Do not include unistd-safer.h.
78511         (getloadavg): Don't call fd_safer; no longer needed
78512         now that we include fcntl--.h.
78513
78514         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
78515         (make_dir_parents): Treat ENOSYS like EEXIST.
78516
78517         Improve quality of diagnostics on restore_cwd failure.
78518         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
78519         (make_dir_parents): Last arg is now int * (for errno), not bool *.
78520         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
78521         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
78522         each time through the loop.  Do not diagnose restore_cwd failure;
78523         that is the caller's job (and perhaps the caller does not care).
78524
78525         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
78526         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
78527         If the file already exists but is not a directory, don't bother
78528         to try to make its parents.
78529         Close potential file descriptor leak if we can't chdir("/") (!).
78530         Don't always return true if chdir($PWD) fails; return true only
78531         if the requested action was done successfully (except for the
78532         chdir($PWD)).
78533         Don't log final directory unless we actually made it.
78534         Refactor to avoid duplicate code to fix up permissions.
78535         Don't attempt to fix up parent permissions if chdir($PWD) fails.
78536
78537         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
78538         to make it a bit faster and (I hope) clearer.
78539         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
78540         Fix bug in formats like %2N.
78541
78542         * lib/verify.h: New file.
78543
78544 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
78545
78546         Sync from coreutils.
78547         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
78548
78549 2005-09-22  Jim Meyering  <jim@meyering.net>
78550
78551         Sync from coreutils.
78552
78553         * m4/lstat.m4 (gl_FUNC_LSTAT):
78554         Use AC_LIBSOURCES to require lstat.c and lstat.h.
78555         Remove obsolete comment.
78556         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
78557         * m4/xstrtod.m4: Likewise.
78558
78559         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
78560
78561 2005-09-22  Jim Meyering  <jim@meyering.net>
78562
78563         Sync from coreutils.
78564
78565         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
78566
78567         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
78568         the .tm_year member, since otherwise gcc-4.0 would now warn about
78569         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
78570
78571         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
78572         order to avoid an unsuppressible warning from gcc on 64-bit systems.
78573
78574         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
78575         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
78576         when run in a time zone for which daylight savings time is in effect
78577         for the starting date.
78578
78579         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
78580         stop us from restricting permissions of just-created absolute-named
78581         directories.
78582         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
78583         to restore initial working directory.
78584         * lib/mkdir-p.c (make_dir_parents): New parameter:
78585         different_working_dir, to tell caller if/when we change the working
78586         directory and are unable to return to the initial one.
78587         * lib/mkdir-p.h (make_dir_parents): Update prototype.
78588         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
78589         `return false'.  This fixes a bug introduced on 2004-07-30.
78590
78591         * lib/openat.c (fdopendir): Be sure to close the supplied
78592         file descriptor before returning.  This makes our replacement
78593         implementation a little closer to Solaris's, where fdopendir
78594         ties the file descriptor to the returned DIR* pointer.
78595         * lib/openat.c (unlinkat): New function.
78596         * lib/openat.h (unlinkat): Add prototype.
78597         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
78598         (openat_restore_fail): Rename from openat_restore_die.
78599         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
78600
78601         Provide an alternative to exiting immediately upon save_cwd or
78602         restore_cwd failure.  Now, an application can arrange e.g.,
78603         to perform a longjump in that case.
78604         * lib/openat.c: Include dirname.h.
78605         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
78606         (rpl_openat, fdopendir, fstatat): Call openat_save_die
78607         and openat_restore_die rather than calling error directly.
78608         Don't include "error.h" or "exitfail.h"; they're no longer needed.
78609
78610         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
78611         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
78612         define.
78613
78614         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
78615         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
78616                             int utc, int nanoseconds);
78617         Background:
78618         date should not have to allocate a megabyte of virtual memory to
78619         handle a format argument like +%1048575T.  When implemented with
78620         strftime, it must allocate such a buffer, use strftime to fill it
78621         in, print it, then free it.
78622         With fprintftime, it simply prints everything and exits.
78623         With no need for memory allocation, that's one fewer way to fail.
78624         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
78625         optional field width, not before, so we accept %9:z, not %:9z.
78626         (my_strftime): Be sure to use L_('x') for literals.
78627
78628         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
78629         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
78630         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
78631         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
78632         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
78633         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
78634         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
78635         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
78636         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
78637         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
78638         * lib/xgethostname.c, lib/xreadlink.c:
78639         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
78640
78641         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
78642         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
78643         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
78644         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
78645         and don't include <sys/file.h>).
78646
78647 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
78648
78649         Sync from coreutils.
78650
78651         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
78652         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
78653         [!LDAV_DONE]: Avoid unused variable warning.
78654
78655 2005-09-21  Bruno Haible  <bruno@clisp.org>
78656
78657         * lib/unicodeio.h (unicode_to_mb): New declaration.
78658
78659 2005-09-20  Derek Price  <derek@ximbiot.com>
78660
78661         * lib/getaddrinfo.c: Don't include <netdb.h> included from
78662         getaddrinfo.h.
78663
78664 2005-09-20  Bruno Haible  <bruno@clisp.org>
78665
78666         * gnulib-tool: Remove trailing slashes from the values specified for
78667         --source-base, --m4-base, --tests-base, --aux-dir.
78668         Suggested by Simon Josefsson <jas@extundo.com>.
78669
78670 2005-09-20  Bruno Haible  <bruno@clisp.org>
78671
78672         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
78673         func_modules_to_filelist, func_import, func_create_testdir): Make all
78674         sorting results locale-independent, so that gnulib-cache.m4 doesn't
78675         change when gnulib-tool is invoked in a different locale.
78676
78677 2005-09-19  Simon Josefsson  <jas@extundo.com>
78678
78679         * m4/socklen.m4: Fix typo.
78680
78681 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78682
78683         Use a consistent style for including <config.h>.
78684         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
78685         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
78686         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
78687         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
78688         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
78689         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
78690         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
78691         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
78692         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
78693         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
78694         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
78695         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
78696         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
78697         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
78698         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
78699         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
78700         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
78701         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
78702         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
78703         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
78704         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
78705         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
78706         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
78707         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
78708         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
78709         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
78710         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
78711         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
78712         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
78713         lib/xstrtoumax.c, lib/yesno.c:
78714         Standardize inclusion of config.h.
78715         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
78716         lib/inttostr.h:  Removed inclusion of config.h from header files.
78717         * lib/inttostr.c:  Adjusted in-tree users.
78718         * lib/timespec.h: Remove superfluous warning to include config.h.
78719         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
78720         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
78721         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
78722         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
78723         config.h with HAVE_CONFIG_H.
78724
78725 2005-09-19  Jim Meyering  <jim@meyering.net>
78726
78727         * modules/pathmax (License): Change to LGPL.
78728
78729 2005-09-19  Derek Price  <derek@ximbiot.com>
78730
78731         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
78732
78733 2005-09-19  Bruno Haible  <bruno@clisp.org>
78734
78735         * gnulib-tool (import): Provide default for --tests-base.
78736
78737 2005-09-19  Bruno Haible  <bruno@clisp.org>
78738
78739         * doc/quote.texi: New file, extracted from gnulib.texi.
78740         * doc/ctime.texi: New file, extracted from gnulib.texi.
78741         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
78742         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
78743         * doc/gnulib.texi: Include them.
78744
78745 2005-09-18  Bruno Haible  <bruno@clisp.org>
78746
78747         Portability fix.
78748         * gnulib-tool (func_readlink): New function.
78749         (func_ln_if_changed): Use it.
78750
78751 2005-09-18  Bruno Haible  <bruno@clisp.org>
78752
78753         * gnulib-tool: Support --with-tests also with --import.
78754         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
78755         (func_import): Use variables $testsbase and $inctests. Emit a
78756         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
78757         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
78758         SUBDIRS += $testsdir.
78759         (func_create_testdir): Update.
78760
78761 2005-09-18  Bruno Haible  <bruno@clisp.org>
78762
78763         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
78764         instead of $dry_run.
78765         (func_cp_if_changed, func_mv_if_changed): Remove functions.
78766         (func_ln_if_changed): Don't handle dry-run here.
78767         (func_import): In dry-run mode, detect more precisely which actions
78768         would be performed, and don't use "...ing" verbs.
78769
78770 2005-09-18  Bruno Haible  <bruno@clisp.org>
78771
78772         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
78773         (func_import): Use join on two temporary files instead of three nested
78774         loops, in order to determine which files are new or old.
78775
78776 2005-09-18  Bruno Haible  <bruno@clisp.org>
78777
78778         * gnulib-tool (func_import): Comment out code that spits out the
78779         new files with --dry-run.
78780
78781 2005-09-18  Bruno Haible  <bruno@clisp.org>
78782
78783         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
78784
78785 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78786
78787         * lib/stat-time.h: New file.
78788         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
78789         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
78790         in a different way.
78791         (timespec_cmp): New function.
78792         * lib/utimecmp.c: Include stat-time.h.
78793         (SYSCALL_RESOLUTION): Depend on whether various struct stat
78794         members exist, not on the obsolescent ST_MTIM_NSEC.
78795         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
78796
78797 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78798
78799         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
78800
78801 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
78802
78803         * MODULES.html.sh (File system functions): Add stat-time.
78804         * modules/stat-time: New file.
78805         * modules/timespec (Files): Remove m4/st_mtim.m4; this
78806         is now done in a different way, by the stat-time module.
78807         * modules/utimecmp (Depends-on): Add stat-time.
78808
78809 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78810
78811         * m4/st_mtim.m4: Remove.  Superseded by...
78812         * m4/stat-time.m4: New file.
78813         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
78814         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
78815
78816 2005-09-15  Derek Price  <derek@ximbiot.com>
78817
78818         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
78819
78820 2005-09-15  Derek Price  <derek@ximbiot.com>
78821
78822         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
78823         * lib/regex_internal.c: Ditto, using this...
78824         (__GNUC_PREREQ): ...new macro.
78825         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
78826         using...
78827         (__GNUC_PREREQ): ...this new macro.
78828
78829         * lib/strstr.h: Include string.h. Define strstr as a macro here.
78830
78831 2005-09-15  Derek Price  <derek@ximbiot.com>
78832             Paul Eggert  <eggert@cs.ucla.edu>
78833
78834         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
78835         changes, consolidating in...
78836         * lib/regex_internal.h: ...this file.
78837
78838 2005-09-13  Jim Meyering  <jim@meyering.net>
78839
78840         * lib/canon-host.c: Filter through gnu indent and reword comments
78841         slightly.
78842         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
78843
78844 2005-09-13  Derek Price  <derek@ximbiot.com>
78845
78846         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
78847         failure.
78848         Reported by Jim Meyering  <jim@meyering.net>.
78849
78850 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
78851
78852         * lib/base64.c: Typo.
78853         (base64_encode): Put b64str in initialized data section.
78854
78855 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
78856
78857         Merge glibc and coreutils changes into gnulib, plus a few
78858         extra fixes.
78859         * lib/md5.c: Use #error rather than a string.
78860         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
78861         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
78862         (__attribute__): Define to empty for non recent-GCC.
78863         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
78864         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
78865         Renamed from their non-__ counterparts, with new macros replacing
78866         them if not _LIBC.  Add __THROW attribute.
78867         (rol): Remove.
78868         (struct md5_ctx): Align buffer if using GCC.
78869         * lib/sha1.h (struct sha1_ctx): Likewise.
78870         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
78871         The old name was backwards.
78872         (NOTSWAP): Remove; not used.
78873         (rol): New macro, moved here from md5.h.
78874         (sha1_process_block): Remove a FIXME that doesn't make sense.
78875
78876 2005-09-12  Derek Price  <derek@ximbiot.com>
78877
78878         Return usable errors from canon-host.
78879         * lib/canon-host.h: New file.
78880         * lib/canon-host.c (canon_host): Wrap...
78881         (canon_host_r): ...this new function, which now relies exclusively on
78882         getaddrinfo.
78883         (ch_strerror): New function.
78884         (last_cherror): New global.
78885         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
78886         interface.
78887         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
78888         void *.
78889         (freeaddrinfo): Free ai->ai_canonname when set.
78890
78891 2005-09-12  Derek Price  <derek@ximbiot.com>
78892
78893         Make canon-host require getaddrinfo.
78894         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
78895         AC_LIBSOURCE canon-host.h.  Call...
78896         (gl_PREREQ_CANON_HOST): ...this new function, which requires
78897         gl_GETADDRINFO.
78898         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
78899
78900 2005-09-12  Derek Price  <derek@ximbiot.com>
78901
78902         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
78903         LGPL.
78904         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
78905
78906 2005-09-12  Derek Price  <derek@ximbiot.com>
78907
78908         * lib/gai_strerror.c: Include config.h when available.  Include
78909         getaddrinfo.h before other headers to test interface.
78910         Reported by Larry Jones <lawrence.jones@ugs.com>.
78911
78912 2005-09-12  Derek Price  <derek@ximbiot.com>
78913             Paul Eggert  <eggert@cs.ucla.edu>
78914
78915         * modules/glob (Files): Add glob-libc.h.
78916
78917 2005-09-12  Derek Price  <derek@ximbiot.com>
78918             Paul Eggert  <eggert@cs.ucla.edu>
78919
78920         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
78921         glob_.h, glob-libc.h.
78922         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
78923
78924 2005-09-12  Derek Price  <derek@ximbiot.com>
78925             Paul Eggert  <eggert@cs.ucla.edu>
78926
78927         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
78928         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
78929         protecting things that should be done only in gnulib contexts.
78930         * lib/glob_.h: New file, containing only the glob things needed for
78931         gnulib.
78932         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
78933         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
78934         (glob, globfree, glob_pattern_p): Now defined simply in terms of
78935         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
78936         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
78937         and to respect the namespace rules better.
78938
78939 2005-09-08  Simon Josefsson  <jas@extundo.com>
78940
78941         * modules/socklen: New file.
78942
78943 2005-09-08  Simon Josefsson  <jas@extundo.com>
78944
78945         * m4/socklen.m4: New file.
78946
78947 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78948
78949         * modules/utimens (Files): Add m4/utimbuf.m4, since
78950         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
78951         Reported by Sergey Poznyakoff.
78952
78953 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78954
78955         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
78956         definitions, since that's the preferred style in glibc.
78957         Fix a minor spacing issue, and update copyright notice to match
78958         glibc's.
78959
78960 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78961
78962         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
78963
78964 2005-09-06  Simon Josefsson  <jas@extundo.com>
78965
78966         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
78967         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
78968
78969 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78970
78971         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
78972         warning.
78973
78974 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
78975
78976         * config/srclist.txt: Add glibc bug 1302.
78977
78978 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
78979
78980         Change bitset word type from unsigned int to unsigned long int,
78981         as this has better performance on typical 64-bit hosts.
78982         Port bitset code to hosts with unusual word sizes.
78983         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
78984         (build_collating_symbol):
78985         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
78986         argument is a bitset.  This is merely a style issue, but it makes
78987         it clearer that an entire array is expected.
78988         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
78989         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
78990         Port to the case where bitset_word is not the same as unsigned int.
78991         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
78992         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
78993         Likewise.
78994         * lib/regexec.c (check_dst_limits_calc_pos_1,
78995         check_subexp_matching_top):
78996         (build_trtable, group_nodes_into_DFAstates):
78997         Likewise.
78998         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
78999         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
79000         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
79001         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
79002         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
79003         * lib/regcomp.c (optimize_subexps, lower_subexp):
79004         Work even if bitset_word has holes in its bitwise representation.
79005         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
79006         * lib/regexec.c (check_dst_limits_calc_pos_1,
79007         check_subexp_matching_top):
79008         Likewise.
79009         * lib/regex_internal.c (re_string_reconstruct):
79010         Don't assume UCHAR_MAX == 255.
79011         * lib/regex_internal.h (bitset_set_all): Likewise.
79012         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
79013         All uses changed.
79014         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
79015         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
79016         All uses changed.
79017         (BITSET_WORD_MAX): New macro.
79018         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
79019         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
79020         (bitset_empty, bitset_copy):
79021         Prefer sizeof (bitset) to multiplying it out ourselves.
79022         (bitset_not_merge): Remove; unused.
79023         (bitset_contain): Return bool, not unsigned int with one bit on.
79024         All callers changed.
79025         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
79026         alignment than re_node_set; do this by defining a new internal
79027         type struct dests_alloc and using it to allocate memory.
79028
79029 2005-09-05  Bruno Haible  <bruno@clisp.org>
79030
79031         * gnulib-tool (func_import): Fix comparison in handling of symbolic
79032         links.
79033
79034 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
79035
79036         * modules/size_max (Makefile.am): Add size_max.h
79037
79038 2005-09-04  Derek Price  <derek@ximbiot.com>
79039
79040         * gnulib-tool (func_import): Fix reversed $symbolic logic.
79041
79042 2005-09-03  Simon Josefsson  <jas@extundo.com>
79043
79044         * gnulib-tool: Fix typo.
79045
79046 2005-09-03  Simon Josefsson  <jas@extundo.com>
79047
79048         * config/srclist.txt: Add glibc bug 1293.
79049
79050 2005-09-03  Derek Price  <derek@ximbiot.com>
79051
79052         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
79053         From Larry Jones <lawrence.jones@ugs.com>.
79054
79055 2005-09-02  Simon Josefsson  <jas@extundo.com>
79056
79057         * modules/socklen: New file.
79058
79059 2005-09-02  Simon Josefsson  <jas@extundo.com>
79060
79061         * modules/havelib: New module.
79062
79063         * modules/gettext, modules/iconv, modules/lock, modules/readline:
79064         Use havelib.
79065
79066 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79067
79068         Check for arithmetic overflow when calculating sizes, to prevent
79069         some buffer-overflow issues.  These patches are conservative, in the
79070         sense that when I couldn't determine whether an overflow was possible,
79071         I inserted a run-time check.
79072         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
79073         macros.
79074         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
79075         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
79076         (re_xnrealloc, re_x2nrealloc): New inline functions.
79077         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
79078         parse_bracket_exp):
79079         (build_equiv_class, build_charclass): Check for arithmetic overflow
79080         in size expression calculations.
79081         * lib/regex_internal.c (re_string_realloc_buffers):
79082         (build_wcs_upper_buffer, re_node_set_add_intersect):
79083         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
79084         (re_dfa_add_node, register_state): Likewise.
79085         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
79086         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
79087         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
79088         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
79089
79090 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
79091
79092         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
79093         m4/ulonglong.m4.  Problem reported by Martin Lambers.
79094
79095 2005-09-02  Bruno Haible  <bruno@clisp.org>
79096
79097         Support for lib vs. lib64 distinction on biarch platforms.
79098         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
79099         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
79100         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
79101
79102 2005-09-02  Bruno Haible  <bruno@clisp.org>
79103
79104         * gnulib-tool (import): In the other first-use case, provide defaults
79105         as well.
79106
79107 2005-09-02  Bruno Haible  <bruno@clisp.org>
79108
79109         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
79110         patches not yet found in the latest gettext release.
79111
79112 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79113
79114         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
79115         to avoid a collision with bits/local_lim.h in glibc.
79116         All uses changed.  Problem reported by Dmitry V. Levin in
79117         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
79118
79119         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
79120         bugs in int versus size_t comparisons.
79121         (re_string_context_at): Fix bug where the code assumed that
79122         Idx is signed.
79123
79124         Use bool where appropriate.
79125         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
79126         All callers changed.
79127         (calc_eclosure_iter): Likewise, for ROOT arg.
79128         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
79129         (build_charclass_op): Likewise, for NON_MATCH arg.
79130         * lib/regex_internal.c (re_string_allocate, re_string_construct):
79131         (re_string_construct_common): Likewise, for ICASE arg.
79132         * lib/regexec.c (re_search_2_stub, re_search_stub):
79133         Likewise, for RET_LEN arg.
79134         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
79135         (set_regs): Likewise, for FL_BACKTRACK arg.
79136         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
79137         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
79138         (calc_eclosure_iter, parse_bracket_exp):
79139         Use bool for internal variables that are booleans.
79140         * lib/regexec.c (re_search_internal, check_matching,
79141         proceed_next_node):
79142         (set_regs, build_sifted_states, sift_states_bkref):
79143         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
79144         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
79145         (find_collation_sequence_value):
79146         Likewise.
79147         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
79148         (re_node_set_compare):
79149         Return bool, not int. All callers changed.
79150         * lib/regexec.c (check_halt_node_context, check_dst_limits):
79151         (build_trtable, check_node_accept): Likewise.
79152         * lib/regex_internal.h: Include stdbool.h.
79153
79154         Fix bugs uncovered when converting to bool.
79155         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
79156         failure instead of charging ahead blindly.
79157         * lib/regex_internal.c (register_state): Likewise.
79158         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
79159         for freeing internal storage.
79160         (group_nodes_into_DFA_states): Use unsigned int, not int, for
79161         bitset pieces used as boolean, to avoid undefined behavior
79162         on hosts that do int overflow checking.
79163
79164 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
79165
79166         * config/srclist.txt: Add glibc bugs 1285-1287.
79167
79168 2005-09-01  Jim Meyering  <jim@meyering.net>
79169
79170         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
79171         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
79172         Require gl_STAT_MACROS, too.
79173
79174 2005-09-01  Bruno Haible  <bruno@clisp.org>
79175
79176         * gnulib-tool (import): In the first-use case, provide defaults.
79177
79178 2005-09-01  Bruno Haible  <bruno@clisp.org>
79179
79180         * gnulib-tool (func_import): Remove the .tmp files.
79181
79182 2005-09-01  Bruno Haible  <bruno@clisp.org>
79183
79184         * gnulib-tool (func_import): Fix handling of symbolic links.
79185
79186 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79187
79188         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
79189         old glibc regex code mishandles strings longer than 2**31 bytes.
79190         This patch fixes this when the regex code is used in gnulib
79191         (i.e., outside glibc).
79192
79193         This patch should not affect the use of the regex code inside
79194         glibc.  No doubt this problem also needs to be handled for glibc
79195         as well, but the result will be an incompatible change to the
79196         glibc ABI, and the old ABI will have to be supported too.  That
79197         can be the the subject for another patch.
79198
79199         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
79200         governing whether the rest of this patch is active.  By default,
79201         the macro is disabled and the patch has no effect.
79202         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
79203         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
79204         (struct re_pattern_buffer, re_search, re_search_2, re_match):
79205         (re_match_2, re_set_registers): Use the new types.
79206         * lib/regex_internal.h (Idx, re_hashval_t): New types.
79207         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
79208         New macros.
79209         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
79210         (re_string_context_at, bin_tree_t, re_dfastate_t):
79211         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
79212         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
79213         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
79214         (re_string_char_size_at, re_string_wchar_at):
79215         (re_string_elem_size_at):
79216         Use the new types and macros to port to 64-bit hosts.
79217         Use unsigned types for internal values, so that the code
79218         mostly works even for arrays larger than SSIZE_MAX.
79219         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
79220         (search_duplicated_node, calc_eclosure_iter, fetch_number):
79221         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
79222         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
79223         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
79224         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
79225         (calc_inveclosure, parse_dup_op, build_range_exp):
79226         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
79227         (fetch_number, create_token_tree, mark_opt_subexp):
79228         Likewise.
79229         * lib/regex_internal.c (re_string_construct_common,
79230         create_ci_newstate):
79231         (create_cd_newstate, re_string_allocate, re_string_construct):
79232         (re_string_realloc_buffers, build_wcs_upper_buffer):
79233         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
79234         (re_string_reconstruct, re_string_peek_byte_case):
79235         (re_string_fetch_byte_case, re_string_context_at):
79236         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
79237         (re_node_set_init_copy, re_node_set_add_intersect):
79238         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79239         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79240         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
79241         (re_acquire_state, re_acquire_state_context, register_state):
79242         Likewise.
79243         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
79244         search_cur_bkref_entry):
79245         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
79246         (re_search_internal, re_search_2_stub, re_search_stub)
79247         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
79248         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
79249         (update_cur_sifted_state, check_dst_limits):
79250         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79251         (check_subexp_limits, sift_states_bkref, merge_state_array):
79252         (check_subexp_matching_top, get_subexp, get_subexp_sub):
79253         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
79254         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
79255         (expand_bkref_cache, check_node_accept_bytes):
79256         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
79257         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
79258         (acquire_init_state_context, check_halt_node_context):
79259         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
79260         (sift_states_backward, clean_state_log_if_needed):
79261         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
79262         (find_recover_state, transit_state_sb, transit_state_mb):
79263         (transit_state_bkref, build_trtable, match_ctx_clean):
79264         Likewise.
79265         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
79266         to work around an assumption that REG_MISSING is negative.
79267
79268         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
79269         (seek_collating_symbol_entry) [defined _LIBC]:
79270         (lookup_collation_sequence_value) [defined _LIBC]:
79271         (build_range_exp, build_collating_symbol) [defined _LIBC]:
79272         Use prototypes rather than old-style function definitions.
79273         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
79274         (transit_state_sb) [0]:
79275         (find_collation_sequence_value) [defined _LIBC]: Likewise.
79276
79277         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
79278         rm_eo.
79279
79280         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
79281         (optimize_subexps, lower_subexp):
79282         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
79283         since the signed shift might overflow.  Use 1u<<31 instead.
79284         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
79285         Likewise.
79286         * lib/regexec.c (check_dst_limits_calc_pos_1,
79287         check_subexp_matching_top): Likewise.
79288
79289         * lib/regcomp.c (optimize_subexps, lower_subexp):
79290         Use CHAR_BIT rather than 8, for clarity.
79291         * lib/regexec.c (check_dst_limits_calc_pos_1):
79292         (check_subexp_matching_top): Likewise.
79293         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
79294         have to worry about portability issues when shifting it left.
79295         Remove no-longer-needed test for table_size > 0.
79296         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
79297         in a word, as the resulting behavior is undefined.
79298         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
79299         in one case, a <= should have been an <, and in another case the
79300         whole test was missing.
79301         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
79302         the standard name CHAR_BIT.
79303         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
79304         this is not true on one's complement and signed-magnitude hosts.
79305
79306         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
79307         next_last_offset.
79308         (struct re_dfa_t): Remove unused member states_alloc.
79309         * lib/regcomp.c (init_dfa): Don't initialize unused members.
79310
79311 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79312
79313         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
79314         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
79315         and large-file glibc and in 32-bit large-file Solaris.
79316
79317 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79318
79319         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
79320         lengths fit in regoff_t; this isn't true if regoff_t is the same
79321         width as size_t.
79322         * lib/regex.c (re_search_internal): 5th arg is LAST_START
79323         (= START + RANGE) instead of RANGE.  This avoids overflow
79324         problems when regoff_t is the same width as size_t.
79325         All callers changed.
79326         (re_search_2_stub): Check for overflow when adding the
79327         sizes of the two strings.
79328         (re_search_stub): Check for overflow when adding START
79329         to RANGE; if it occurs, substitute the extreme value.
79330
79331 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
79332
79333         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
79334
79335 2005-08-31  Jim Meyering  <jim@meyering.net>
79336
79337         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
79338         a pointer-to-const.
79339         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
79340         (register_state): Likewise.
79341         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
79342         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
79343         (group_nodes_into_DFAstates): Likewise.
79344
79345 2005-08-31  Jim Meyering  <jim@meyering.net>
79346
79347         * check-module: Add a FIXME comment.
79348
79349 2005-08-31  Eric Blake  <ebb9@byu.net>
79350
79351         * modules/unistd-safer (Files): Add unistd--.h.
79352         * modules/stdio-safer (Files): Add stdio--.h.
79353
79354 2005-08-31  Derek Price  <derek@ximbiot.com>
79355
79356         * lib/getdelim.c (getdelim): Return EOF on EOF.
79357         Reported by Larry Jones <lawrence.jones@ugs.com>.
79358
79359 2005-08-31  Bruno Haible  <bruno@clisp.org>
79360
79361         Avoid unnecessary diffs in the generated lib/Makefile.am.
79362         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
79363         the generated files.
79364         (func_import): Don't set cmd.
79365
79366 2005-08-31  Bruno Haible  <bruno@clisp.org>
79367
79368         * lib/strstr.c: Include <stddef.h>, for NULL.
79369         * lib/strcasestr.c: Likewise.
79370         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79371
79372 2005-08-31  Bruno Haible  <bruno@clisp.org>
79373
79374         * gnulib-tool: New option --macro-prefix.
79375         (func_import): Use macro_prefix.
79376         (import): Handle option --macro-prefix.
79377
79378 2005-08-31  Bruno Haible  <bruno@clisp.org>
79379
79380         * gnulib-tool (import): Rename most ac_* variables to cached_*.
79381         Also use new variables cached_lgpl, cached_libtool.
79382
79383 2005-08-31  Bruno Haible  <bruno@clisp.org>
79384
79385         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
79386         always instantiating them.
79387
79388 2005-08-31  Bruno Haible  <bruno@clisp.org>
79389
79390         * gnulib-tool (func_import): Read the previous cached settings
79391         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
79392         earlier added by gnulib but are now dropped. Warn when a gnulib file
79393         overwrites a non-gnulib file.
79394
79395 2005-08-31  Bruno Haible  <bruno@clisp.org>
79396
79397         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
79398         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
79399         projects that don't keep autogenerated files in CVS. Put into
79400         actioncmd only the specified modules, not the transitive closure.
79401
79402 2005-08-31  Bruno Haible  <bruno@clisp.org>
79403
79404         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
79405         Create directories that shall be filled.
79406         (import): Don't look for gl_* macros in configure.ac. Recurse across
79407         all directories containing a gnulib-cache.m4 files, if meaningful.
79408
79409 2005-08-31  Bruno Haible  <bruno@clisp.org>
79410
79411         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
79412         (import): Set seen_libtool when we see gl_LIBTOOL.
79413
79414 2005-08-31  Bruno Haible  <bruno@clisp.org>
79415
79416         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
79417         declaration macro definitions from generated gnulib.m4.
79418
79419 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
79420
79421         * lib/iconvme.h: Add prototype for iconv_alloc.
79422
79423 2005-08-29  Simon Josefsson  <jas@extundo.com>
79424
79425         * lib/iconvme.c: Fix errno.
79426
79427 2005-08-29  Bruno Haible  <bruno@clisp.org>
79428
79429         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
79430         that it works when the directory contains spaces.
79431
79432 2005-08-29  Bruno Haible  <bruno@clisp.org>
79433
79434         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
79435
79436 2005-08-29  Bruno Haible  <bruno@clisp.org>
79437
79438         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
79439         Emit more advice.
79440
79441 2005-08-29  Bruno Haible  <bruno@clisp.org>
79442         and Stepan Kasal  <kasal@ucw.cz>
79443
79444         * check-module: If more parameters are given, check each of them
79445         separately; add more exceptions, as noted by Jim Meyering.
79446         (check_module): New procedure.
79447         (%exempt_header): Now contains all exceptions.
79448
79449 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
79450
79451         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
79452
79453 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
79454
79455         * lib/iconvme.c: Split iconv_string into iconv_alloc.
79456
79457 2005-08-28  Bruno Haible  <bruno@clisp.org>
79458
79459         * m4/gnulib-tool.m4: New file.
79460
79461 2005-08-27  Jim Meyering  <jim@meyering.net>
79462
79463         * modules/unistd-safer (Files): Add pipe-safer.c.
79464         * modules/fcntl-safer (Files): Add creat-safer.c.
79465
79466 2005-08-27  Jim Meyering  <jim@meyering.net>
79467
79468         * m4/stdlib-safer.m4: New file.  From coreutils.
79469         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
79470         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
79471         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
79472         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
79473         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
79474
79475 2005-08-27  Jim Meyering  <jim@meyering.net>
79476
79477         * lib/fopen-safer.c: Merge minor changes from coreutils.
79478         * lib/dup-safer.c: Likewise.
79479         * lib/fd-safer.c: Likewise.
79480
79481         Merge from coreutils.
79482         * lib/stdio--.h: New file.
79483         * lib/stdlib--.h: New file.
79484         * lib/mkstemp-safer.c: New file.
79485
79486         GNU tar needs these.
79487         * lib/pipe-safer.c: New file.
79488         * lib/creat-safer.c: New file.
79489         * lib/fcntl--.h (creat): Define to creat_safer.
79490         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
79491         * lib/unistd--.h (pipe): Define to pipe_safer.
79492         * lib/unistd-safer.h: Declare pipe_safer.
79493
79494 2005-08-26  Simon Josefsson  <jas@extundo.com>
79495
79496         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
79497         Haible <bruno@clisp.org>.
79498
79499 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
79500
79501         * lib/regex_internal.h: Remove all references to
79502         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
79503         or better.
79504         (bitset_not, bitset_merge, bitset_not_merge):
79505         (bitset_mask, re_string_allocate, re_string_construct):
79506         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
79507         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
79508         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
79509         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
79510         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79511         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79512         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
79513         (re_acquire_state_context):
79514         Remove unnecessary forward decls.
79515         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
79516         Put __attribute at function definition,
79517         now that the function decl has been removed.
79518         * lib/regex_internal.c (re_string_peek_byte_case):
79519         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
79520         Likewise.
79521
79522 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
79523
79524         * m4/regex.m4: Add AC_PREREQ(2.50).
79525         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
79526
79527 2005-08-25  Simon Josefsson  <jas@extundo.com>
79528
79529         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
79530         __fsetlocking.
79531
79532 2005-08-25  Simon Josefsson  <jas@extundo.com>
79533
79534         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
79535         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
79536         GLIBC specific code.
79537
79538 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79539
79540         Make regex safe for g++.  This fixes one real bug (an "err"
79541         that should have been "*err").  g++ problem reported by
79542         Sam Steingold.
79543         * lib/regex_internal.h (re_calloc): New macro, consistent with
79544         re_malloc etc.  All callers of calloc changed to use re_calloc.
79545         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
79546         not int.  All callers changed.
79547         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
79548         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
79549         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
79550         (find_recover_state): Change "err" to "*err"; this fixes what
79551         appears to be a real bug.
79552         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
79553         versus int.
79554
79555 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79556
79557         * modules/regex (Depends-on): Add malloc, since the code
79558         assumes that !malloc(0) means failure.
79559
79560 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79561
79562         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
79563
79564         alloca modernization/simplification for regex.
79565         * lib/regex.c: Remove portability cruft for alloca.  This no longer
79566         needs to be at the start of the file, and can be moved into
79567         regex_internal.h and simplified.
79568         * lib/regex_internal.h: Include <alloca.h>.
79569         (__libc_use_alloca) [!defined _LIBC]: New macro.
79570         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
79571         now works outside glibc.
79572
79573 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79574
79575         * config/srclist.txt: Add glibc bugs 1241, 1245.
79576
79577 2005-08-25  Jim Meyering  <jim@meyering.net>
79578
79579         * lib/open-safer.c: Include <config.h>.
79580         Otherwise, we'd lose LARGEFILE support in any file using
79581         e.g. "fcntl--.h"
79582
79583 2005-08-25  Bruno Haible  <bruno@clisp.org>
79584
79585         * m4/minmax.m4: Require autoconf 2.52.
79586         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
79587         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
79588         alternatives of translit over the alphabet.
79589         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
79590
79591 2005-08-24  Simon Josefsson  <jas@extundo.com>
79592
79593         * tests/test-getpass.c: New file.
79594
79595 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79596
79597         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
79598         for GNU regex features.
79599
79600 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79601
79602         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
79603         * lib/regex.h (regerror): Likewise.
79604
79605         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
79606         requires this.  (The code never needed it.)
79607
79608         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
79609         All uses of recently-renamed identifiers changed to use the new,
79610         POSIX-compliant names.  The code will build and run just fine
79611         without these changes, but it's better to eat our own dog food
79612         and use the standard-conforming names.
79613
79614         * lib/regex.h: Fix a multitude of POSIX name space violations.
79615         These changes have an effect only for programs that define
79616         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
79617         do not change anything for programs compiled in the normal way.
79618         Also, there is no effect on the ABI.
79619
79620         (_REGEX_SOURCE): New macro.
79621         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
79622         defined and _GNU_SOURCE is not; this fixes a name space violation.
79623
79624         Rename the following macros to obey POSIX requirements.
79625         The old names are still visible as macros if _REGEX_SOURCE is defined.
79626         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
79627         RE_BACKSLASH_ESCAPE_IN_LISTS.
79628         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
79629         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
79630         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
79631         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
79632         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
79633         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
79634         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
79635         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
79636         (REG_INTERVALS): renamed from RE_INTERVALS.
79637         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
79638         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
79639         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
79640         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
79641         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
79642         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
79643         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
79644         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
79645         RE_UNMATCHED_RIGHT_PAREN_ORD.
79646         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
79647         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
79648         (REG_DEBUG): renamed from RE_DEBUG.
79649         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
79650         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
79651         unusual, since we can't clash with the POSIX REG_ICASE.
79652         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
79653         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
79654         (REG_NO_SUB): renamed from RE_NO_SUB.
79655         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
79656         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
79657         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
79658         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
79659         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
79660         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
79661         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
79662         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
79663         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
79664         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
79665         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
79666         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
79667         RE_SYNTAX_POSIX_MINIMAL_BASIC.
79668         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
79669         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
79670         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
79671         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
79672         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
79673         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
79674         (REG_FIXED): Renamed from REGS_FIXED.
79675         (REG_NREGS): Renamed from RE_NREGS.
79676
79677         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
79678         of other REG_* macros, since POSIX says the user is allowed to
79679         #undef these macros selectively.
79680
79681         (reg_errcode_t): Update comment stating what other tables need
79682         to be consistent.
79683
79684         Rename the following enum values to obey POSIX requirements.
79685         The old names are still visible as macros.
79686         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
79687         is not defined, since GNU is supposed to be a superset of POSIX as
79688         much as possible, and since we want reg_errcode_t to be a signed
79689         type for implementation consistency.
79690         (_REG_NOERROR): Renamed from REG_NOERROR.
79691         (_REG_NOMATCH): Renamed from REG_NOMATCH.
79692         (_REG_BADPAT): Renamed from REG_BADPAT.
79693         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
79694         (_REG_ECTYPE): Renamed from REG_ECTYPE.
79695         (_REG_EESCAPE): Renamed from REG_EESCAPE.
79696         (_REG_ESUBREG): Renamed from REG_ESUBREG.
79697         (_REG_EBRACK): Renamed from REG_EBRACK.
79698         (_REG_EPAREN): Renamed from REG_EPAREN.
79699         (_REG_EBRACE): Renamed from REG_EBRACE.
79700         (_REG_BADBR): Renamed from REG_BADBR.
79701         (_REG_ERANGE): Renamed from REG_ERANGE.
79702         (_REG_ESPACE): Renamed from REG_ESPACE.
79703         (_REG_BADRPT): Renamed from REG_BADRPT.
79704         (_REG_EEND): Renamed from REG_EEND.
79705         (_REG_ESIZE): Renamed from REG_ESIZE.
79706         (_REG_ERPAREN): Renamed from REG_ERPAREN.
79707         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
79708         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
79709         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
79710         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
79711
79712         (_REG_RE_NAME, _REG_RM_NAME): New macros.
79713         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
79714         changed.  But support the old name if the new one is not defined
79715         and if _REGEX_SOURCE.
79716
79717         Change the following member names in struct re_pattern_buffer.
79718         The old names are still supported if !_REGEX_SOURCE.
79719         The new names are always supported, regardless of _REGEX_SOURCE.
79720         (re_buffer): Renamed from buffer.
79721         (re_allocated): Renamed from allocated.
79722         (re_used): Renamed from used.
79723         (re_syntax): Renamed from syntax.
79724         (re_fastmap): Renamed from fastmap.
79725         (re_translate): Renamed from translate.
79726         (re_can_be_null): Renamed from can_be_null.
79727         (re_regs_allocated): Renamed from regs_allocated.
79728         (re_fastmap_accurate): Renamed from fastmap_accurate.
79729         (re_no_sub): Renamed from no_sub.
79730         (re_not_bol): Renamed from not_bol.
79731         (re_not_eol): Renamed from not_eol.
79732         (re_newline_anchor): Renamed from newline_anchor.
79733
79734         Change the following member names in struct re_registers.
79735         The old names are still supported if !_REGEX_SOURCE.
79736         The new names are always supported, regardless of _REGEX_SOURCE.
79737         (rm_num_regs): Renamed from num_regs.
79738         (rm_start): Renamed from start.
79739         (rm_end): Renamed from end.
79740
79741         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
79742         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
79743         Prepend __ to parameter names.
79744
79745         Undo yesterday's changes.
79746
79747 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79748
79749         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
79750         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
79751         lib/regex.c.
79752
79753 2005-08-24  Jim Meyering  <jim@meyering.net>
79754
79755         Sync from coreutils.
79756         * m4/fcntl-safer.m4: New file.
79757
79758         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
79759         and object files for this module.
79760
79761 2005-08-24  Jim Meyering  <jim@meyering.net>
79762
79763         Sync from coreutils.
79764         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
79765
79766 2005-08-24  Jim Meyering  <jim@meyering.net>
79767
79768         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
79769         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
79770
79771 2005-08-24  Jim Meyering  <jim@meyering.net>
79772
79773         * modules/fcntl-safer: New module.
79774         * modules/fts (Depends-on): Add fcntl-safer.
79775         * MODULES.html.sh (File descriptor based Input/Output):
79776         Add fcntl-safer.
79777
79778 2005-08-24  Bruno Haible  <bruno@clisp.org>
79779
79780         Support for unit test modules.
79781         * modules/README: Mention tests modules.
79782         * modules/TEMPLATE-TESTS: New file.
79783         * gnulib-tool: New options --extract-tests-module, --with-tests and
79784         --tests-base (unused for the moment).
79785         (testsbase, inctests): New variables.
79786         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
79787         (func_verify_module): Exclude TEMPLATE-TESTS.
79788         (func_verify_nontests_module, func_verify_tests_module): New functions.
79789         (func_get_dependencies): Add implicit dependency for tests modules.
79790         (func_get_tests_module): New function.
79791         (func_modules_transitive_closure): When --with-tests was specified,
79792         include the unit tests as well, unless explicitly avoided.
79793         (func_emit_lib_Makefile_am): Ignore the tests modules here.
79794         (func_emit_tests_Makefile_am): New function.
79795         (func_create_testdir): When --with-tests was specified, emit a
79796         tests/ directory.
79797         * MODULES.html.sh (Future developments): Update.
79798
79799 2005-08-24  Bruno Haible  <bruno@clisp.org>
79800
79801         * modules/tls-tests: New file.
79802         * tests/test-tls.c: New file, from GNU gettext.
79803
79804 2005-08-24  Bruno Haible  <bruno@clisp.org>
79805
79806         * modules/lock-tests: New file.
79807         * tests/test-lock.c: New file, from GNU gettext.
79808
79809 2005-08-24  Bruno Haible  <bruno@clisp.org>
79810
79811         * lib/lock.h: Add multiple inclusion guard.
79812         * lib/tls.h: Add multiple inclusion guard.
79813
79814 2005-08-24  Bruno Haible  <bruno@clisp.org>
79815
79816         * gnulib-tool: Add support for the --aux-dir option to
79817         --create-testdir, --create-megatestdir, --test, --megatest.
79818         (func_create_testdir, func_create_megatestdir): Optionally emit a
79819         AC_CONFIG_AUX_DIR directive.
79820         (create-testdir, create-megatestdir, test, megatest): Provide a
79821         default value for $auxdir.
79822
79823 2005-08-24  Bruno Haible  <bruno@clisp.org>
79824
79825         * gnulib-tool (import): Use compound statement instead of subshell
79826         where possible.
79827
79828 2005-08-24  Bruno Haible  <bruno@clisp.org>
79829
79830         * gnulib-tool (import): Change --aux-dir default to "build-aux".
79831
79832 2005-08-24  Bruno Haible  <bruno@clisp.org>
79833
79834         * gnulib-tool (func_version): Update.
79835
79836 2005-08-24  Bruno Haible  <bruno@clisp.org>
79837
79838         * gnulib-tool (func_import, func_create_testdir,
79839         func_create_megatestdir): Quote all autoconf macro arguments.
79840
79841 2005-08-24  Bruno Haible  <bruno@clisp.org>
79842
79843         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
79844         option --force, because --force causes the aclocal.m4 of each
79845         subdirectory to be newer than the corresponding config.h.in.
79846
79847 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79848
79849         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
79850         All contents moved to gl_REGEX.
79851         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
79852         assume that it does.
79853
79854 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79855
79856         * lib/regex.h (REG_NOSYS)
79857         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
79858         Define, since POSIX requires it as of 2001.
79859         (_REG_ENOSYS)
79860         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
79861         New private symbol, used to keep the enum signed in all cases.
79862         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
79863         Youngman in
79864         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
79865
79866         * lib/regex_internal.c (re_string_skip_chars, register_state):
79867         (calc_state_hash):
79868         Remove forward decls; no longer needed now that we use prototypes.
79869         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
79870         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
79871         (clean_state_log_if_needed): Likewise.
79872
79873 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79874
79875         * config/srclist.txt: Add glibc bugs 1231-1233.
79876
79877 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79878
79879         Fix problems reported by Sam Steingold in
79880         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
79881         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
79882         assumed that reg_errcode_t is a signed type, which is not
79883         necessarily true if _XOPEN_SOURCE is not defined.
79884         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
79885         since some compilers warn about it otherwise.
79886
79887 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79888
79889         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
79890         (init_word_char, create_initial_state, duplicate_node_closure):
79891         (fetch_token, peek_token_bracket, build_range_exp):
79892         (build_collating_symbol): Remove forward decls; no longer needed
79893         now that we use prototypes.
79894
79895         * lib/regcomp.c:
79896         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
79897         (re_compile_fastmap_iter, regcomp, regerror, regfree):
79898         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
79899         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
79900         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
79901         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
79902         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
79903         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
79904         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
79905         (build_range_exp, build_collating_symbol, parse_bracket_exp):
79906         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
79907         (build_charclass, build_charclass_op, fetch_number, create_tree):
79908         (create_token_tree, mark_opt_subexp, duplicate_tree):
79909         Use prototypes rather than old-style definitions.
79910
79911         * lib/regex_internal.c:
79912         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
79913         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
79914         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
79915         (re_string_reconstruct, re_string_peek_byte_case):
79916         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
79917         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
79918         (re_node_set_init_copy, re_node_set_add_intersect):
79919         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
79920         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
79921         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
79922         (re_acquire_state, re_acquire_state_context, register_state):
79923         (create_ci_newstate, create_cd_newstate, free_state):
79924         Likewise.
79925         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
79926         re_search_2):
79927         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
79928         (re_search_internal, prune_impossible_nodes):
79929         (acquire_init_state_context, check_matching, static):
79930         (check_halt_node_context, check_halt_state_context, proceed_next_node):
79931         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
79932         (update_regs, sift_states_backward, build_sifted_states):
79933         (clean_state_log_if_needed, merge_state_array):
79934         (update_cur_sifted_state, add_epsilon_src_nodes):
79935         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
79936         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
79937         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
79938         (find_recover_state, check_subexp_matching_top, transit_state_mb):
79939         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
79940         (check_arrival, check_arrival_add_next_nodes):
79941         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
79942         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
79943         (check_node_accept_bytes, check_node_accept, extend_buffers):
79944         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
79945         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
79946         (sift_ctx_init):
79947         Likewise.
79948
79949         * lib/regex_internal.h:
79950         (re_string_allocate, re_string_construct, re_string_reconstruct):
79951         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
79952         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
79953         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
79954         (re_string_context_at, re_string_peek_byte_case):
79955         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
79956         is defined, since we now use prototypes always.
79957
79958         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
79959         C89 or better.  All uses removed.
79960
79961 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79962
79963         * config/srclist.txt: Add glibc bugs 1220-1227.
79964
79965 2005-08-20  Jim Meyering  <jim@meyering.net>
79966
79967         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
79968         of unused local, dfa.
79969
79970 2005-08-20  Bruno Haible  <bruno@clisp.org>
79971
79972         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
79973
79974 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79975
79976         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
79977         (re_node_set_insert_last, re_dfa_add_node):
79978         Rename local variables to avoid GCC shadowing warnings.
79979
79980 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79981
79982         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
79983         [defined lint]: Suppress bogus uninitialized-variable warnings.
79984
79985         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
79986         and let the caller return REG_ESPACE if out of space.  This
79987         removes an uninitialied-variable warning with GCC 4.0.1, and also
79988         avoids taking the address of a local variable.  All callers
79989         changed.
79990
79991 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79992
79993         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
79994         $LIBCSRC/posix/regexec.c.
79995         Add glibc bug 1217 for regcomp.c.
79996
79997 2005-08-19  Jim Meyering  <jim@meyering.net>
79998
79999         * lib/regexec.c (proceed_next_node): Redo local variables to
80000         avoid GCC shadowing warnings.
80001
80002 2005-08-18  Bruno Haible  <bruno@clisp.org>
80003
80004         * lib/strstr.c (strstr): Fix return value in multibyte case.
80005         * lib/strcasestr.c (strcasestr): Likewise.
80006
80007 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
80008
80009         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
80010
80011 2005-08-17  Jim Meyering  <jim@meyering.net>
80012
80013         Make the %s format (seconds since the epoch) work for a negative
80014         number and when used with a zero-padded field width, e.g. %015s.
80015
80016         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
80017         label so that it precedes the code to set `digits'.  Otherwise,
80018         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
80019         print `00-22'.  Now, it prints `-0022', as it should.
80020
80021 2005-08-17  Bruno Haible  <bruno@clisp.org>
80022
80023         * modules/strstr (Files): Add m4/mbrtowc.m4.
80024         (Depends-on): Add mbuiter.
80025
80026 2005-08-17  Bruno Haible  <bruno@clisp.org>
80027
80028         * modules/strcasestr: New file.
80029         * MODULES.html.sh (String handling, based on ANSI C 89): Add
80030         strcasestr.
80031
80032 2005-08-17  Bruno Haible  <bruno@clisp.org>
80033
80034         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
80035
80036 2005-08-17  Bruno Haible  <bruno@clisp.org>
80037
80038         * modules/mbuiter: New file.
80039         * MODULES.html.sh (Extended multibyte and wide character utilities):
80040         Add mbuiter.
80041
80042 2005-08-17  Bruno Haible  <bruno@clisp.org>
80043
80044         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
80045         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
80046
80047 2005-08-17  Bruno Haible  <bruno@clisp.org>
80048
80049         * m4/strcasestr.m4: New file.
80050
80051 2005-08-17  Bruno Haible  <bruno@clisp.org>
80052
80053         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
80054         * lib/strstr.c: Completely rewritten, with multibyte locale support.
80055
80056 2005-08-17  Bruno Haible  <bruno@clisp.org>
80057
80058         * lib/strcasestr.h: New file.
80059         * lib/strcasestr.c: New file.
80060
80061 2005-08-17  Bruno Haible  <bruno@clisp.org>
80062
80063         * lib/strcasecmp.c: Use mbuiter.h.
80064
80065 2005-08-17  Bruno Haible  <bruno@clisp.org>
80066
80067         * lib/mbuiter.h: New file.
80068
80069 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
80070
80071         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
80072         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
80073         and gl_GETOPT are both invoked via different paths (as happens
80074         with GNU tar CVS because it uses both argp and getopt), the former
80075         wins.
80076
80077 2005-08-16  Bruno Haible  <bruno@clisp.org>
80078
80079         * modules/tls: New file.
80080         * MODULES.html.sh (Multithreading): Add tls.
80081
80082 2005-08-16  Bruno Haible  <bruno@clisp.org>
80083
80084         * modules/strnlen1: New file.
80085         * MODULES.html.sh (String handling): Add strnlen1.
80086
80087 2005-08-16  Bruno Haible  <bruno@clisp.org>
80088
80089         * modules/strcase (Files): Add m4/mbrtowc.m4.
80090         (Depends-on): Add strnlen1, mbchar.
80091
80092 2005-08-16  Bruno Haible  <bruno@clisp.org>
80093
80094         * modules/mbiter: New file.
80095         * MODULES.html.sh (Extended multibyte and wide character utilities):
80096         Add mbiter.
80097
80098 2005-08-16  Bruno Haible  <bruno@clisp.org>
80099
80100         * modules/mbfile: New file.
80101         * MODULES.html.sh (Extended multibyte and wide character utilities):
80102         Add mbfile.
80103
80104 2005-08-16  Bruno Haible  <bruno@clisp.org>
80105
80106         * modules/mbchar: New file.
80107         * MODULES.html.sh (Extended multibyte and wide character utilities):
80108         New section.
80109
80110 2005-08-16  Bruno Haible  <bruno@clisp.org>
80111
80112         * m4/tls.m4: New file, from GNU gettext.
80113
80114 2005-08-16  Bruno Haible  <bruno@clisp.org>
80115
80116         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
80117         always.
80118         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
80119
80120 2005-08-16  Bruno Haible  <bruno@clisp.org>
80121
80122         * m4/mbiter.m4: New file.
80123
80124 2005-08-16  Bruno Haible  <bruno@clisp.org>
80125
80126         * m4/mbfile.m4: New file.
80127
80128 2005-08-16  Bruno Haible  <bruno@clisp.org>
80129
80130         * m4/mbchar.m4: New file.
80131
80132 2005-08-16  Bruno Haible  <bruno@clisp.org>
80133
80134         * lib/tls.h: New file, from GNU gettext.
80135         * lib/tls.c: New file, from GNU gettext.
80136
80137 2005-08-16  Bruno Haible  <bruno@clisp.org>
80138
80139         * lib/strnlen1.h: New file.
80140         * lib/strnlen1.c: New file.
80141
80142 2005-08-16  Bruno Haible  <bruno@clisp.org>
80143
80144         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
80145         (mbi_init): Update.
80146         (mbi_avail, mbi_advance): Let the iteration end before the terminating
80147         NUL byte, not after it.
80148
80149 2005-08-16  Bruno Haible  <bruno@clisp.org>
80150
80151         * lib/strcase.h (strcasecmp): Add note in comments.
80152         * lib/strncasecmp.c: Use code from strcasecmp.c.
80153         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
80154         (strcasecmp): Work correctly in multibyte locales.
80155
80156 2005-08-16  Bruno Haible  <bruno@clisp.org>
80157
80158         * lib/mbiter.h: New file.
80159
80160 2005-08-16  Bruno Haible  <bruno@clisp.org>
80161
80162         * lib/mbfile.h: New file.
80163
80164 2005-08-16  Bruno Haible  <bruno@clisp.org>
80165
80166         * lib/mbchar.h: New file.
80167         * lib/mbchar.c: New file.
80168
80169 2005-08-16  Bruno Haible  <bruno@clisp.org>
80170
80171         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
80172         the valid ones. Makes the comparison operations transitive:
80173         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
80174         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
80175
80176 2005-08-15  Simon Josefsson  <jas@extundo.com>
80177
80178         * modules/ssize_t (License): Change to 'unlimited'.
80179
80180         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
80181
80182 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
80183
80184         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
80185         Add comments for each pending glibc patch.
80186
80187 2005-08-15  Bruno Haible  <bruno@clisp.org>
80188
80189         * lib/regex.h (__restrict_arr): Don't define to __restrict if
80190         __cplusplus is defined.
80191
80192 2005-08-14  Jim Meyering  <jim@meyering.net>
80193
80194         Sync from coreutils.
80195
80196         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
80197         Use the hash-table-based cycle-detection code not just when
80198         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
80199         Reported by James Youngman in
80200         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
80201         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
80202         FTS_TIGHT_CYCLE_CHECK.
80203         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
80204         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
80205         once again.
80206         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
80207         * lib/fts.c (fd_safer): Remove decl.
80208         Include fcntl--.h rather than unistd-safer.h
80209         (fts_safe_changedir): Don't call fd_safer; no longer needed
80210         now that we include fcntl--.h.
80211
80212 2005-08-12  Simon Josefsson  <jas@extundo.com>
80213
80214         * modules/getndelim2: Use ssize_t module.
80215         * modules/getnline: Likewise.
80216         * modules/safe-read: Likewise.
80217         * modules/xreadlink: Likewise.
80218
80219         * modules/ssize_t: New file.
80220
80221 2005-08-12  Simon Josefsson  <jas@extundo.com>
80222
80223         * m4/readline.m4: Look for termcap, curses or ncurses if required.
80224
80225 2005-08-12  Simon Josefsson  <jas@extundo.com>
80226
80227         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
80228         ssize_t.
80229
80230 2005-08-12  Simon Josefsson  <jas@extundo.com>
80231
80232         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
80233         readline, getdelim and check_version.
80234         (Support for systems lacking ISO C 99: Sizes of integer types):
80235         Add size_max.
80236
80237 2005-08-12  Bruno Haible  <bruno@clisp.org>
80238
80239         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
80240
80241 2005-08-11  Simon Josefsson  <jas@extundo.com>
80242
80243         * modules/readline: New file.
80244
80245         * modules/strnlen (Files): Add strnlen.h.
80246
80247 2005-08-11  Simon Josefsson  <jas@extundo.com>
80248
80249         * m4/readline.m4: New file.
80250
80251 2005-08-11  Simon Josefsson  <jas@extundo.com>
80252
80253         * lib/readline.h, readline.c: New file.
80254
80255 2005-08-11  Simon Josefsson  <jas@extundo.com>
80256
80257         * doc/gnulib.texi (Initial import, Finishing touches): Mention
80258         gl_AVOID.
80259
80260 2005-08-11  Bruno Haible  <bruno@clisp.org>
80261
80262         * lib/strnlen.h (strnlen): Change parameter name to match comment.
80263
80264 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
80265
80266         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
80267
80268 2005-08-10  Simon Josefsson  <jas@extundo.com>
80269
80270         * tests/test-iconvme.c: New file.
80271
80272 2005-08-10  Simon Josefsson  <jas@extundo.com>
80273
80274         * m4/strnlen.m4: New file.
80275
80276         * m4/strndup.m4: Don't check for strnlen declaration, done in
80277         strnlen.m4.
80278
80279 2005-08-10  Simon Josefsson  <jas@extundo.com>
80280
80281         * lib/strndup.c: Use strnlen.h.
80282
80283         * lib/strnlen.h: New file.
80284
80285 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80286
80287         * README: Typos.
80288
80289 2005-08-02  Simon Josefsson  <jas@extundo.com>
80290
80291         * modules/readline: New file.
80292
80293 2005-08-02  Simon Josefsson  <jas@extundo.com>
80294
80295         * modules/getdelim: New file.
80296
80297         * modules/getline: Rewrite, don't use getndelim2.
80298
80299 2005-08-02  Simon Josefsson  <jas@extundo.com>
80300
80301         * m4/getline.m4: Separate out getdelim stuff into separate module.
80302
80303         * m4/getdelim.m4: New file.
80304
80305 2005-08-02  Simon Josefsson  <jas@extundo.com>
80306
80307         * lib/getline.h, getline.c: Rewrite.
80308
80309         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
80310
80311 2005-07-31  Bruno Haible  <bruno@clisp.org>
80312
80313         * lib/lock.h (gl_lock_initializer): New macro.
80314         (gl_lock_define_initialized): Use it.
80315         (gl_rwlock_initializer): New macro.
80316         (gl_rwlock_define_initialized): Use it.
80317         (gl_recursive_lock_initializer): New macro.
80318         (gl_recursive_lock_define_initialized): Use it.
80319
80320 2005-07-30  Karl Berry  <karl@gnu.org>
80321
80322         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
80323         Report from Ben Pfaff, regarding getopt.
80324
80325 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
80326
80327         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
80328         normal way.
80329         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
80330         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
80331         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
80332         (gl_GETOPT): Use the new macros.  Most of the implementation
80333         is moved to the new macros.  This is for programs like Emacs
80334         that don't want all the functionality of gl_GETOPT.
80335
80336 2005-07-26  Bruno Haible  <bruno@clisp.org>
80337
80338         * m4/lock.m4: Update from GNU gettext.
80339
80340 2005-07-26  Bruno Haible  <bruno@clisp.org>
80341
80342         * lib/lock.h: Update from GNU gettext.
80343         * lib/lock.c: Update from GNU gettext.
80344
80345 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
80346
80347         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
80348         obsolescent AC_TRY_RUN.  Include the default includes files, for
80349         'exit'.
80350
80351 2005-07-24  Bruno Haible  <bruno@clisp.org>
80352
80353         * modules/visibility: New file.
80354         * MODULES.html.sh (Misc): Add visibility.
80355
80356 2005-07-24  Bruno Haible  <bruno@clisp.org>
80357
80358         * m4/visibility.m4: New file.
80359
80360 2005-07-24  Bruno Haible  <bruno@clisp.org>
80361
80362         * doc/visibility.texi: New file.
80363
80364 2005-07-22  Bruno Haible  <bruno@clisp.org>
80365
80366         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
80367         $(ALLOCA_H), redundant through BUILT_SOURCES.
80368         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
80369         redundant through BUILT_SOURCES.
80370         * modules/byteswap (Makefile.am): Remove explicit dependency on
80371         $(BYTESWAP_H), redundant through BUILT_SOURCES.
80372         * modules/fnmatch (Makefile.am): Remove explicit dependency on
80373         $(FNMATCH_H), redundant through BUILT_SOURCES.
80374         * modules/getopt (Makefile.am): Remove explicit dependency on
80375         $(GETOPT_H), redundant through BUILT_SOURCES.
80376         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
80377         redundant through BUILT_SOURCES.
80378         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
80379         redundant through BUILT_SOURCES.
80380         * modules/stdbool (Makefile.am): Remove explicit dependency on
80381         $(STDBOOL_H), redundant through BUILT_SOURCES.
80382         * modules/stdint (Makefile.am): Remove explicit dependency on
80383         $(STDINT_H), redundant through BUILT_SOURCES.
80384         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
80385         Remove explicit dependency on $(SYSEXITS_H).
80386         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
80387
80388 2005-07-18  Simon Josefsson  <jas@extundo.com>
80389
80390         * lib/check-version.c (check_version): Accept identical versions too.
80391
80392 2005-07-18  Bruno Haible  <bruno@clisp.org>
80393
80394         * modules/lock: New file.
80395         * MODULES.html.sh (Multithreading): New section.
80396
80397 2005-07-18  Bruno Haible  <bruno@clisp.org>
80398
80399         * m4/lock.m4: New file, from GNU gettext.
80400
80401 2005-07-18  Bruno Haible  <bruno@clisp.org>
80402
80403         * lib/lock.h: New file, from GNU gettext.
80404         * lib/lock.c: New file, from GNU gettext.
80405
80406 2005-07-18  Bruno Haible  <bruno@clisp.org>
80407
80408         * lib/lock.h (gl_once_t): New type.
80409         (gl_once_define, gl_once): New macros.
80410         * lib/lock.c (fresh_once): New variable.
80411         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
80412         functions.
80413
80414 2005-07-16  Simon Josefsson  <jas@extundo.com>
80415
80416         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
80417         workaround, suggested by Bruno.
80418
80419 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80420
80421         * modules/xalloc (Depends-on): Add xalloc-die.
80422         * modules/xvasprintf (Depends-on): Add xalloc-die.
80423
80424 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
80425
80426         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
80427         with a minor change.
80428
80429 2005-07-15  Bruno Haible  <bruno@clisp.org>
80430
80431         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
80432         When using lib/poll.c, define poll as rpl_poll.
80433
80434 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
80435
80436         * modules/argp (Depends-on): Remove unlocked-io.
80437
80438 2005-07-14  Derek Price  <derek@ximbiot.com>
80439
80440         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
80441         for glob symlink bug.
80442
80443 2005-07-14  Bruno Haible  <bruno@clisp.org>
80444
80445         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
80446         Instead, test for *_unlocked function declarations directly.
80447
80448 2005-07-11  Simon Josefsson  <jas@extundo.com>
80449
80450         * modules/size_max: New file.
80451
80452         * modules/xsize: Depend on size_max module for size_max.m4.
80453
80454 2005-07-11  Simon Josefsson  <jas@extundo.com>
80455
80456         * lib/size_max.h: New file.
80457
80458 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
80459
80460         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
80461         copyright symbol and the year.
80462         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
80463         (version_etc_va): Use parameterized copyright notice.
80464         Reword to conform to the current GNU coding standards.
80465
80466 2005-07-11  Karl Berry  <karl@gnu.org>
80467
80468         * doc/gnulib.texi (Quoting): new node.
80469         (Initial import): more info, from Patrice.
80470
80471 2005-07-11  Bruno Haible  <bruno@clisp.org>
80472
80473         * gnulib-tool (func_usage): Document option --avoid.
80474         (Command line options): Handle --avoid.
80475         (func_acceptable): New function.
80476         (func_modules_transitive_closure): Use it.
80477
80478 2005-07-11  Bruno Haible  <bruno@clisp.org>
80479
80480         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
80481         Reported by Jim Meyering.
80482
80483 2005-07-10  Bruno Haible  <bruno@clisp.org>
80484
80485         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
80486         Needed when size_t is smaller than 'unsigned int'.
80487         Reported by Paul Eggert.
80488
80489 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80490
80491         * modules/argp (Depends-on): Add unlocked-io
80492
80493 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
80494
80495         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
80496         block of defines.
80497
80498 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80499
80500         * config/srclist.txt: Comment out regcomp.c, since we have a porting
80501         fix now.
80502
80503 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
80504         and Paul Eggert  <eggert@cs.ucla.edu>
80505
80506         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
80507         in wint_t, not wchar_t.  Remove now-unnecessary cast.
80508
80509 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80510
80511         * modules/regex (Files): Add lib/regex_internal.c,
80512         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
80513         (Depends-on): Add extensions.
80514         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
80515
80516 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80517
80518         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
80519         pathconf.
80520         * m4/same.m4 (gl_SAME): Likewise.
80521         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
80522
80523         * m4/regex.m4: Adjust to new libc regex implementation.
80524         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
80525         all the .c and .h parts of (the new) regex.
80526         Quote the m4 stuff better.
80527         Check for RE_ICASE bug of old gnulib.
80528         Check for REG_STARTEND of recent libc.
80529         Rename local variables from jm_* to gl_*.
80530         Quote operand of "test -f".
80531         Say "recent enough" version of libc, not "version 2".
80532         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
80533         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
80534         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
80535         Remove check for btowc, isascii.
80536         Require AM_LANGINFO_CODESET.
80537
80538 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80539
80540         * lib/regex.c, regex.h: Sync from libc.
80541         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
80542         * lib/regexec.c:
80543         New files, synced from libc, except that regex_internal.h
80544         currently has a small porting fix.
80545
80546 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
80547
80548         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
80549         regex_internal.c, regexec.c.
80550         Add regex_internal.h too, but as a comment, since the libc version
80551         is currently broken in gnulib mode.
80552
80553 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80554
80555         Support programs like Emacs that use gnulib but not gettext.
80556         * MODULES.html.sh (Internationalization functions): Add gettext-h.
80557         * modules/gettext-h: New file.
80558         * modules/gettext (Files): Remove lib/gettext.h.
80559         (Depends-on): Add gettext-h.
80560         (Makefile.am): Remove lib_SOURCES.
80561         * modules/argmatch, modules/c-stack, modules/closeout:
80562         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
80563         * modules/execute, modules/file-type, modules/getaddrinfo:
80564         * modules/getopt, modules/human, modules/javacomp:
80565         * modules/javaexec, modules/mkdir-p, modules/obstack:
80566         * modules/openat, modules/pagealign_alloc, modules/pipe:
80567         * modules/quotearg, modules/regex, modules/rpmatch:
80568         * modules/unicodeio, modules/userspec, modules/version-etc:
80569         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
80570         * modules/xsetenv:
80571         Depend on gettext-h, not gettext.
80572
80573 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80574
80575         * gnulib-tool (func_import): Add support for 'public domain' license.
80576         * modules/alloca, modules/atexit, modules/memmove:
80577         Now public domain, not GPL.
80578         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
80579         * modules/realloc, modules/strerror, modules/strtod:
80580         Now LGPL, not GPL.
80581
80582 2005-07-05  Bruno Haible  <bruno@clisp.org>
80583
80584         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
80585         autoconf CVS. Needed for mingw.
80586
80587 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80588
80589         Remove the dependency of the strftime module on the tzset module.
80590         * modules/strftime (Depends-on): Remove dependency on tzset.
80591
80592 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80593
80594         Remove the dependency of the strftime module on the tzset module.
80595         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
80596         gl_FUNC_TZSET_CLOBBER.
80597
80598 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80599
80600         Remove the dependency of the strftime module on the tzset module.
80601         * lib/strftime.c (my_strftime)
80602         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
80603         Copy the input structure, to work around some of the bug with
80604         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
80605         Solaris releases, you should also use the tzset module, but we won't
80606         require it as a dependency any more since we don't want LGPLed code
80607         to depend on GPLed code.
80608
80609 2005-07-02  Jim Meyering  <jim@meyering.net>
80610
80611         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
80612         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
80613         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
80614         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
80615
80616 2005-07-02  Jim Meyering  <jim@meyering.net>
80617
80618         * lib/backupfile.c (backup_args): Change a `0' to NULL.
80619
80620 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80621
80622         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
80623         declares only 'struct timespec;' (!).
80624
80625 2005-07-01  Jim Meyering  <jim@meyering.net>
80626
80627         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
80628         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
80629         * lib/save-cwd.c, tempname.c:
80630         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
80631         and don't include <sys/file.h>).
80632
80633 2005-06-29  Jim Meyering  <jim@meyering.net>
80634
80635         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
80636         type name.  Use the variable name instead.
80637         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
80638         Likewise.
80639
80640 2005-06-28  Simon Josefsson  <jas@extundo.com>
80641
80642         * modules/check-version (Files): Add check-version.m4.
80643
80644 2005-06-28  Simon Josefsson  <jas@extundo.com>
80645
80646         * m4/check-version.m4: New file, suggested by Jim Meyering
80647         <jim@meyering.net>.
80648
80649 2005-06-28  Simon Josefsson  <jas@extundo.com>
80650
80651         * lib/check-version.h, lib/check-version.c: New files.
80652
80653 2005-06-28  Simon Josefsson  <jas@extundo.com>
80654
80655         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
80656         collision with global variable.  Better indentation.  Don't
80657         increment buffer pointer beyond buffer end.  Based on comments
80658         from Paul Eggert <eggert@cs.ucla.edu>.
80659
80660         * lib/base64.h: Indent.
80661
80662 2005-06-28  Simon Josefsson  <jas@extundo.com>
80663
80664         * doc/gnulib.texi (Library version handling): New section.
80665
80666 2005-06-28  Jim Meyering  <jim@meyering.net>
80667
80668         * check-module (find_included_lib_files): Hard-code another
80669         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
80670         but modules/fts-lgpl (correctly) does not list those files.
80671
80672         * modules/canonicalize (Files): Add lib/pathmax.h.
80673
80674 2005-06-25  Simon Josefsson  <jas@extundo.com>
80675
80676         * modules/check-version: New file.
80677
80678 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
80679
80680         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
80681         initializer of struct addrinfo, as an indication that we don't
80682         care how many members the structure has.
80683
80684 2005-06-24  Derek Price  <derek@ximbiot.com>
80685         and Bruno Haible  <bruno@clisp.org>
80686
80687         Remove stat module & update lstat.
80688         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
80689         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
80690         * m4/stat.m4: Remove this file.
80691
80692 2005-06-24  Derek Price  <derek@ximbiot.com>
80693         and Bruno Haible  <bruno@clisp.org>
80694
80695         Remove stat module & update lstat.
80696         * lib/stat.c: Remove this file...
80697         (slash_aware_lstat): ...moving this content and its support...
80698         * lib/lstat.c (rpl_lstat): ...into here.
80699         * lib/lstat.h: New file.
80700
80701 2005-06-24  Derek Price  <derek@ximbiot.com>
80702         and Bruno Haible  <bruno@clisp.org>
80703
80704         Remove stat module & update lstat.
80705         * config/srclist.txt (libc sources): Remove stat.
80706
80707 2005-06-24  Derek Price  <derek@ximbiot.com>
80708         and Bruno Haible  <bruno@clisp.org>
80709
80710         Remove stat module & update lstat.
80711         * MODULES.html.sh (stat): Remove.
80712         * MODULES.html: Regenerated.
80713         * modules/lstat (Description): Correct function name.
80714         (Files): Add "lstat.h".
80715         (Depends-on): Remove stat, add xalloc, stat-macros.
80716         * modules/stat: Remove this file.
80717         (Include): Add "lstat.h", remove <sys/stat.h>.
80718
80719 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
80720
80721         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
80722         (ranged_convert): Don't save conversion in a temporary struct.
80723         This causes a warning with GCC 4.0.0, and anyway in the typical
80724         case it's not worth the extra 100 bytes or so of code.
80725         (ranged_convert, __mktime_internal): When calling a function via a
80726         pointer P, use P () rather than (*P) (), as we now assume C89 or
80727         better.
80728
80729 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
80730
80731         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
80732         "who -r" failed to give output.  Problem reported by Tim Waugh.
80733
80734         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
80735         (xcalloc): Use it to avoid needless tests.
80736         Problem reported by Jim Meyering.
80737
80738 2005-06-20  Derek Price  <derek@ximbiot.com>
80739
80740         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
80741         unnecessary for Autoconfs > 2.59c.
80742
80743 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
80744
80745         * lib/argp.h (__option_is_short): Check upper limit of
80746         __key. Isprint() requires its argument to have the value
80747         of an unsigned char or EOF.
80748
80749 2005-06-16  Jim Meyering  <jim@meyering.net>
80750
80751         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
80752         when either N or S is zero.
80753
80754 2005-06-16  Derek Price  <derek@ximbiot.com>
80755
80756         * m4/bison.m4: Declare YACC & YFLAGS precious.
80757
80758 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
80759
80760         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
80761         multibyte string or pattern, fall back on unibyte matching.
80762         Problem reported by James Youngman.
80763
80764 2005-06-08  Bruno Haible  <bruno@clisp.org>
80765
80766         * modules/csharpcomp: New file.
80767         * MODULES.html.sh (C#): Add csharpcomp.
80768
80769 2005-06-08  Bruno Haible  <bruno@clisp.org>
80770
80771         * m4/csharpcomp.m4: New file, from GNU gettext.
80772
80773 2005-06-08  Bruno Haible  <bruno@clisp.org>
80774
80775         * lib/csharpcomp.h: New file, from GNU gettext.
80776         * lib/csharpcomp.c: New file, from GNU gettext.
80777         * lib/csharpcomp.sh.in: New file, from GNU gettext.
80778
80779 2005-06-08  Bruno Haible  <bruno@clisp.org>
80780
80781         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
80782         warning on mingw.
80783
80784 2005-06-07  Derek Price  <derek@ximbiot.com>
80785
80786         Sync from CVS.
80787         * lib/glob_.h: Indent nested #ifdef.
80788
80789 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80790
80791         Sync from coreutils.
80792         Use "file name" when talking about file names, instead of "filename"
80793         or "path", as per the GNU coding standards.
80794         * lib/mkdir-p.c: Renamed from makepath.c.
80795         (make_dir_parents): Renamed from make_path.  All callers changed.
80796         * lib/mkdir-p.h: Likewise.  All includers changed.
80797         * lib/filenamecat.c: Renamed from path-concat.c.
80798         (file_name_concat): Renamed from path_concat.  All callers changed.
80799         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
80800         * lib/filenamecat.h: Likewise.  All includers changed.
80801         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
80802         in comments or local variable names.
80803         * lib/basename.c: Likewise.
80804         * lib/canonicalize.c, canonicalize.h: Likewise.
80805         * lib/dirname.c, dirname.h: Likewise.
80806         * lib/euidaccess.c: Likewise.
80807         * lib/exclude.c: Likewise
80808         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
80809         * lib/fsusage.c, fsuage.h: Likewise.
80810         * lib/fts.c, fts_.h: Likewise.
80811         * lib/getcwd.c: Likewise.
80812         * lib/getloadavg.c: Likewise.
80813         * lib/mkstemp.c: Likewise.
80814         * lib/mountlist.c, mountlist.h: Likewise.
80815         * lib/openat.c, openat.h: Likewise.
80816         * lib/readlink-stub.c: Likewise.
80817         * lib/readutmp.c, readutmp.h: Likewise.
80818         * lib/rename.c: Likewise.
80819         * lib/rmdir.c: Likewise.
80820         * lib/same.c: Likewise.
80821         * lib/savedir.c: Likewise.
80822         * lib/stripslash.c: Likewise.
80823         * lib/tempname.c: Likewise.
80824         * lib/xreadlink.c: Likewise.
80825         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
80826         All uses changed.
80827         * lib/exclude.h: Likewise.
80828
80829         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
80830         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80831         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
80832         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80833         * lib/pathmax.h: Include <limits.h> unconditionally, since other
80834         files have been getting away with it for years (MORE/BSD 4.3
80835         is extinct now).
80836         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
80837         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
80838
80839         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
80840         Define to 256, not 255, as per modern POSIX.
80841
80842 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80843
80844         Sync from coreutils.
80845         Use "file name" when talking about file names, instead of "filename"
80846         or "path", as per the GNU coding standards.
80847         * MODULES.html.sh: mkdir-p renamed from makepath.
80848         filenamecat renamed from path-concat.
80849         * modules/filenamecat: Renamed from modules/path-concat.
80850         (Files): filenamecat.h and filenamecat.c renamed from
80851         path-concat.h and path-concat.c.
80852         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
80853         (Include): filenamecat.h, not path-concat.h.
80854         * modules/mkdir-p: Renamed from modules/makepath.
80855         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
80856         makepath.c.
80857         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
80858         (Include): mkdir-p.h, not makepath.h.
80859
80860 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
80861
80862         Sync from coreutils.
80863         * m4/mkdir-p.m4: Renamed from makepath.m4.
80864         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
80865         Rename files from makepath.c to mkdir-p.c, and from
80866         makepath.h to mkdir-p.h.
80867         * m4/filenamecat.m4: Renamed from path-concat.m4.
80868         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
80869         Rename files from path-concat.c to filenamecat.c,
80870         and from path-concat.h to filenamecat.h.
80871         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
80872         "file name" in local variables or comments.
80873         * m4/rename.m4: Likewise.
80874
80875 2005-06-01  Bruno Haible  <bruno@clisp.org>
80876
80877         * modules/csharpexec: New file.
80878         * MODULES.html.sh (C#): New section.
80879
80880 2005-06-01  Bruno Haible  <bruno@clisp.org>
80881
80882         * m4/csharp.m4: New file, from GNU gettext.
80883         * m4/csharpexec.m4: New file, from GNU gettext.
80884
80885 2005-06-01  Bruno Haible  <bruno@clisp.org>
80886
80887         * lib/csharpexec.h: New file, from GNU gettext.
80888         * lib/csharpexec.c: New file, from GNU gettext.
80889         * lib/csharpexec.sh.in: New file, from GNU gettext.
80890
80891 2005-05-31  Derek Price  <derek@ximbiot.com>
80892             Paul Eggert  <eggert@cs.ucla.edu>
80893
80894         Sync from cvs.
80895         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
80896
80897 2005-05-31  Derek Price  <derek@ximbiot.com>
80898             Paul Eggert  <eggert@cs.ucla.edu>
80899
80900         Sync from cvs.
80901         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
80902
80903 2005-05-29  Derek Price  <derek@ximbiot.com>
80904
80905         * config/srclist.txt (glob_.h, glob.c): Add these files.
80906
80907 2005-05-29  Derek Price  <derek@ximbiot.com>
80908
80909         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
80910         * modules/glob: New file.
80911         * modules/getlogin_r: Add link to POSIX spec in description.
80912
80913 2005-05-29  Derek Price  <derek@ximbiot.com>
80914             Paul Eggert  <eggert@cs.ucla.edu>
80915
80916         * m4/glob.m4: New file.
80917
80918 2005-05-29  Derek Price  <derek@ximbiot.com>
80919             Paul Eggert  <eggert@cs.ucla.edu>
80920
80921         * lib/glob_.h, lib/glob.c: New files.
80922
80923 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80924
80925         * modules/fts (Files): Remove m4/inttypes-pri.m4.
80926         * modules/fts-lgpl (Depends-on): Remove gettext.
80927
80928 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80929
80930         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
80931         and don't require gt_INTTYPES_PRI.
80932
80933 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
80934
80935         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
80936
80937         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
80938         the configuration hassle isn't worth it.
80939         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
80940         (LONGEST_MODIFIER, PRIuMAX): Remove.
80941
80942 2005-05-27  Bruno Haible  <bruno@clisp.org>
80943
80944         * lib/getlogin_r.h: Remove second include of <stddef.h>.
80945
80946 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
80947
80948         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
80949         _POSIX_PTHREAD_SEMANTICS for Solaris.
80950
80951 2005-05-25  Derek Price  <derek@ximbiot.com>
80952
80953         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
80954
80955 2005-05-25  Derek Price  <derek@ximbiot.com>
80956             Paul Eggert  <eggert@cs.ucla.edu>
80957
80958         * modules/getlogin_r, m4/getlogin_r.m4: New files.
80959         * lib/getlogin_r.c, getlogin_r.h: New files.
80960
80961 2005-05-25  Bruno Haible  <bruno@clisp.org>
80962             Derek Price  <derek@ximbiot.com>
80963
80964         * lib/getlogin_r.h: Simplify API documentation.
80965
80966 2005-05-23  Derek Price  <derek@ximbiot.com>
80967
80968         * modules/minmax (Files): Add m4/minmax.m4.
80969         (configure.ac): Add gl_MINMAX.
80970
80971 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
80972
80973         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
80974         so that unistd-safer.h (GPL'ed code) need not be included.
80975
80976 2005-05-22  Bruno Haible  <bruno@clisp.org>
80977
80978         * m4/minmax.m4: New file.
80979         Based on a patch by Derek Price <derek@ximbiot.com>.
80980
80981 2005-05-22  Bruno Haible  <bruno@clisp.org>
80982
80983         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
80984         (INT64_MIN): Fix definition.
80985         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
80986
80987         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
80988         NEED_SIGNED_INT_TYPES.
80989
80990         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
80991         HAVE_SYSTEM_INTTYPES.
80992
80993 2005-05-22  Bruno Haible  <bruno@clisp.org>
80994
80995         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
80996         Also include <sys/param.h> if it defines MIN, MAX.
80997         Based on a patch by Derek Price <derek@ximbiot.com>.
80998
80999 2005-05-21  Jim Meyering  <jim@meyering.net>
81000
81001         * modules/fts (Files): Add m4/inttypes-pri.m4.
81002         (Depends-on): Add lstat and remove gettext.  Alphabetize.
81003
81004 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81005
81006         New fts module.
81007         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
81008         (setup_dir, free_dir): New functions.
81009         (enter_dir, leave_dir): Define trivial
81010         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
81011         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
81012         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
81013         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
81014         Move to fts-cycle.c.
81015         (fts_open): Use setup_dir.
81016         (fts_close): Use free_dir.
81017         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
81018         This adds a label and some gotos, but the alternatives were messier.
81019         Check for memory allocation failure when entering a dir.
81020         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
81021         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
81022         (FTS): New member fts_cycle, that is a union that contains the
81023         old active_dir_ht and cycle_state.  All uses changed to mention
81024         fts_cycle.ht and fts_cycle.state.
81025         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
81026         fts.c, with the following changes:
81027         (setup_dir, free_dir): New functions.
81028         (enter_dir): Now returns bool.  Return true if successful, false
81029         if memory exhausted.  All callers changed.
81030         Do not bother partly cleaning up on
81031         memory allocation failure; that is free_dir's job.
81032         However, free ad if hash_insert fails, to avoid memory leak.
81033         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
81034         fts->fts_options to see which union member to use.
81035
81036 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81037
81038         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
81039         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
81040
81041 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
81042
81043         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
81044
81045 2005-05-20  Jim Meyering  <jim@meyering.net>
81046
81047         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
81048         Now a macro, to pacify GCC.
81049
81050 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81051
81052         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
81053         of -1.
81054
81055 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
81056
81057         * lib/chown.c (rpl_chown): Return -1 on failure.
81058
81059 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81060
81061         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
81062         Don't check for stddef.h.
81063         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
81064         don't use its results.
81065         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
81066         since we include them unconditionally.  Don't require
81067         AM_STDBOOL_H, since stdbool is a prerequisite.
81068         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
81069         since we assume C89 or better.
81070         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
81071         as we don't use their results.
81072         Don't check for fchdir, memmove, memset, strrchr, as we use
81073         them unconditionally.
81074         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
81075         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
81076
81077 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
81078
81079         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
81080         Include <stddef.h> unconditionally, since we assume C89 now.
81081         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
81082         * lib/fts.c: Include fts_.h first, to check interface.
81083         Do not include intprops.h; no longer needed.
81084         Include cycle-check.h and hash.h, since fts_.h no longer does.
81085         Remove unnecessary casts of closedir to void.
81086         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
81087         decide whether to decrement nlinks.
81088         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
81089         (FTS): Use struct hash_table * instead of Hash_table, so that
81090         we no longer need to include hash.h here.
81091
81092 2005-05-18  Jim Meyering  <jim@meyering.net>
81093
81094         * modules/dirfd (License): Change to LGPL.  Most of the code
81095         is already in the public domain.
81096
81097 2005-05-18  Jim Meyering  <jim@meyering.net>
81098
81099         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
81100         Reported by Yoann Vandoorselaere.
81101
81102 2005-05-17  Jim Meyering  <jim@meyering.net>
81103
81104         * m4/fts.m4: New file, from coreutils.
81105
81106 2005-05-17  Jim Meyering  <jim@meyering.net>
81107
81108         * lib/fts.c, lib/fts_.h: New files, from coreutils.
81109
81110 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81111
81112         Sync from coreutils.
81113         * m4/unlinkdir.m4: New file.
81114
81115 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81116
81117         Sync from coreutils.
81118         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
81119         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
81120         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
81121         White space changes only.
81122         * lib/makepath.c (make_path): Port to hosts where leading "//" is
81123         special.
81124         * lib/yesno.c: Include getline.h, not ctype.h.
81125         (yesno): Don't remove leading white space; POSIX doesn't allow it.
81126         Use getline to remove arbitrary restriction on response length.
81127
81128 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81129
81130         * config/srclist-update: Spell out "Street" in FSF postal
81131         mail address; this is the style the FSF seems to prefer.
81132
81133         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
81134         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
81135         this updates FSF postal mail address.
81136
81137         Sync from coreutils.
81138         * modules/unlinkdir: New file.
81139         * modules/yesno (Depends-on): Add getline.
81140         * MODULES.html.sh (File system functions): Add unlinkdir.
81141
81142 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81143
81144         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
81145         lib/strsep.h:
81146         Change the initial comment to refer to GPL, not LGPL.
81147         gnulib-tool will change it to LGPL as needed.
81148
81149         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
81150         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
81151         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
81152         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
81153         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
81154         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
81155         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
81156         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
81157         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
81158         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
81159         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
81160         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
81161         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
81162         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
81163         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
81164         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
81165         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
81166         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
81167         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
81168         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
81169         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
81170         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
81171         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
81172         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
81173         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
81174         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
81175         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
81176         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
81177         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
81178         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
81179         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
81180         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
81181         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
81182         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
81183         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
81184         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
81185         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
81186         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
81187         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
81188         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
81189         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
81190         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
81191         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
81192         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
81193         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
81194         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
81195         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
81196         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
81197         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
81198         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
81199         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
81200         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
81201         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
81202         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
81203         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
81204         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
81205         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
81206         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
81207         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
81208         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
81209         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
81210         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
81211         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
81212         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
81213         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
81214         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
81215         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
81216         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
81217         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
81218         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
81219         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
81220         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
81221         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
81222         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
81223         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
81224         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
81225         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
81226         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
81227         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
81228         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
81229         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
81230         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
81231         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
81232         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
81233         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
81234         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
81235         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
81236         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
81237         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
81238         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
81239         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
81240         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
81241         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
81242         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
81243         lib/yesno.c, lib/yesno.h:
81244         Update FSF postal mail address.
81245
81246 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
81247
81248         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
81249         tests/test-memmem.c, tests/test-stpncpy.c:
81250         Update FSF postal mail address.
81251
81252 2005-05-13  Bruno Haible  <bruno@clisp.org>
81253
81254         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
81255         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
81256         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
81257         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
81258         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
81259         Add support for 64-bit integers in the MSVC compiler.
81260
81261 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
81262
81263         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
81264
81265 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
81266
81267         * gnulib-tool (func_import): Sort and uniquify recommended includes.
81268
81269 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
81270
81271         * doc/getdate.texi (General date syntax): Don't say that date
81272         date --iso-8601=ns generates acceptable dates; it doesn't yet.
81273         Problem reported by Nic Ferrier.
81274
81275 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81276
81277         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
81278         specified in ai_socktype. Fix invalid ai_protocol
81279         check. ai_protocol is usually set to 0 or depending on
81280         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
81281         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
81282         ai_socktype / ai_protocol in the returned addrinfo structure.
81283
81284 2005-05-10  Simon Josefsson  <jas@extundo.com>
81285
81286         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
81287         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
81288
81289 2005-05-10  Karl Berry  <karl@gnu.org>
81290
81291         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
81292         (from http://www.gnu.org/licenses).
81293         * doc/COPYING.LIB: also rename to COPYING.LESSER.
81294         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
81295         fdl.texi suffices.
81296
81297 2005-05-10  Karl Berry  <karl@gnu.org>
81298
81299         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
81300         (COPYING.DOC): remove.
81301
81302         * config/srclist-update: new FSF address.
81303
81304 2005-05-10  Derek Price  <derek@ximbiot.com>
81305
81306         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
81307         possible.
81308
81309 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81310             Bruno Haible  <bruno@clisp.org>
81311
81312         * modules/inet_ntop: New file.
81313         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
81314         inet_ntop.
81315
81316 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81317             Bruno Haible  <bruno@clisp.org>
81318
81319         * m4/inet_ntop.m4: New file.
81320
81321 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81322             Bruno Haible  <bruno@clisp.org>
81323
81324         * lib/inet_ntop.h: New file.
81325         * lib/inet_ntop.c: New file, from glibc with modifications.
81326
81327 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
81328
81329         * modules/time_r (License): Change to LGPL.
81330         * modules/extensions (License): Change to LGPL.  Actually,
81331         the license is more permissive than that, but currently gnulib-tool
81332         doesn't know how to handle more-permissive licenses.
81333
81334         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
81335         Problem reported by Dave Love.
81336
81337 2005-05-08  Jim Meyering  <jim@meyering.net>
81338
81339         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
81340         blank.
81341
81342 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
81343
81344         * modules/argmatch (Depends-on): Add stdbool.
81345         * modules/backupfile (Depends-on): Likewise.
81346         * modules/chdir-long (Depends-on): Likewise.
81347         * modules/closeout (Depends-on): Likewise.
81348         * modules/cycle-check (Depends-on): Likewise.
81349         * modules/dirname (Depends-on): Likewise.
81350         * modules/fnmatch (Depends-on): Likewise.
81351         * modules/fsusage (Depends-on): Likewise.
81352         * modules/fwriteerror (Depends-on): Likewise.
81353         * modules/getcwd (Depends-on): Likewise.
81354         * modules/getloadavg (Depends-on): Likewise.
81355         * modules/hard-locale (Depends-on): Likewise.
81356         * modules/makepath (Depends-on): Likewise.
81357         * modules/mountlist (Depends-on): Likewise.
81358         * modules/nanosleep (Depends-on): Likewise.
81359         * modules/posixtm (Depends-on): Likewise.
81360         * modules/quotearg (Depends-on): Likewise.
81361         * modules/readtokens (Depends-on): Likewise.
81362         * modules/readtokens0 (Depends-on): Likewise.
81363         * modules/readutmp (Depends-on): Likewise.
81364         * modules/save-cwd (Depends-on): Likewise.
81365         * modules/strftime (Depends-on): Likewise.
81366         * modules/userspec (Depends-on): Likewise.
81367         * modules/utimecmp (Depends-on): Likewise.
81368         * modules/xgetcwd (Depends-on): Likewise.
81369         * modules/xnanosleep (Depends-on): Likewise.
81370         * modules/xstrtod (Depends-on): Likewise.
81371         * modules/yesno (Depends-on): Likewise.
81372
81373 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
81374
81375         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
81376         needless checks.
81377
81378 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81379
81380         Merge from coreutils.  Among other things,
81381         add bulletproofing for cases where stdin, stdout, or stderr are closed.
81382         * lib/fd-safer.c: New file.
81383         * lib/fcntl-safer.h, open-safer.c: Remove.
81384         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
81385         * lib/dup-safer.c: Include unistd-safer.h first.
81386         Don't include errno.h.
81387         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
81388         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
81389         * lib/file-type.c: Rely on file-type.h change.
81390         * lib/getloadavg.c: Include unistd-safer.h.
81391         (getloadavg): Use safer open.
81392         * lib/getusershell.c: Include "stdio-safer.h".
81393         (getusershell): Use safer fopen.
81394         * lib/long-options.c (long_options): Use NULL rather than 0.
81395         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
81396         'free'.
81397         * lib/modechange.c: Likewise.
81398         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
81399         (MODE_DONE): New constant.
81400         (struct mode_change): Remove 'next' member.
81401         (make_node_op_equals): New function; like the old one of the
81402         same name, except it allocates an array.
81403         (mode_compile, mode_create_from_ref): Use it.
81404         (mode_compile): Allocate result as an array, not a linked list.
81405         Parse octal string ourself, so that we catch mistakes like "+0".
81406         (mode_adjust): Arg is an array, not a linked list.
81407         * lib/modechange.c: Include stat-macros.h, xalloc.h.
81408         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
81409         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
81410         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
81411         Remove.  This is now stat-macros.h's job.
81412         (talloc): Remove.  All callers replaced by xalloc, so that
81413         our invokers don't have to worry about reporting memory failures.
81414         (make_node_op_equals): Remove.
81415         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81416         New constants.
81417         (struct mode_change): Moved here from modechange.h.
81418         (mode_append_entry): Remove.
81419         (mode_compile): Remove MASKED_OPS arg, since it encouraged
81420         apps to have incorrect behavior.  Use simpler algorithm for head
81421         and tail.  Don't futz with umask; that's now the job of mode_adjust.
81422         Detect more invalid usages rather than having somewhat-random behavior.
81423         Don't insert an "a=" action, as that leads to incorrect behavior.
81424         (mode_compile, mode_create_from_ref): Return NULL on error instead
81425         of an enum, since now there's only one way to have an error.  All
81426         callers changed.
81427         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
81428         at the correct time.  Simplify calculation of "+u" and its ilk.
81429         Don't mishandle "+X".
81430         (mode_free): Remove "register" and localize decls.
81431         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
81432         (struct mode_change): Move to modechange.c; callers don't
81433         need to see this stuff.
81434         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
81435         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
81436         (mode_change, mode_adjust): Reflect the new signatures noted above.
81437         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
81438         that might redefine system include files.
81439         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
81440         (my_usleep): Use NULL rather than (void *) 0.
81441         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
81442         Use siginterrupt to specify that system calls should be interrupted.
81443         (rpl_nanosleep): Move initialization of suspended closer to call of
81444         my_usleep.
81445         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
81446         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
81447         (desirable_utmp_entry): New function.
81448         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
81449         using x2nrealloc, to simplify logic.
81450         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
81451         size calculation.  Do not assume utmp file is a regular file.
81452         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
81453         (READ_UTMP_CHECK_PIDS): New constant.
81454         * lib/save-cwd.c: Include unistd-safer.h.
81455         (save_cwd): Use fd_safer.
81456         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
81457         [!_LIBC] Include "stat-macros.h" instead.
81458         * lib/unistd-safer.h (fd_safer): New decl.
81459
81460 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81461
81462         * modules/getloadavg (Depends-on): Add unistd-safer.
81463         * modules/getusershell (Depends-on): Add stdio-safer.
81464         * modules/lstat (Depends-on): Remove xalloc.
81465         * modules/mkstemp (Depends-on): Add stat-macros.
81466         * modules/modechange (Depends-on): Remove xstrtol.
81467         Add stat-macros, xalloc.
81468         * modules/save-cwd (Depends-on): Add unistd-safer.
81469         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
81470         * modules/unistd-safer (Files): Add lib/fd-safer.c
81471         (Makefile.am): Remove lib_SOURCES.
81472
81473         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
81474         Remove fcntl-safer; unistd-safer supersedes it.
81475
81476 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81477
81478         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
81479         AC_HEADER_STAT.
81480         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
81481         (gl_PREREQ_CHOWN): Remove.
81482         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
81483         it.  Don't require AC_HEADER_STAT.
81484         (gl_PREREQ_LSTAT): Remove.
81485         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
81486         Don't require AC_HEADER_STAT.
81487         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
81488         (gl_PREREQ_RMDIR): Remove.
81489         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
81490         mention stat-macros.h or AC_HEADER_STAT, since we'll make
81491         the stat-macros module a prerequisite.
81492         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
81493         * m4/filemode.m4 (gl_FILEMODE): Likewise.
81494         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
81495         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
81496         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
81497         variable names.
81498         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
81499         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
81500         variable prefixes.
81501         * m4/fcntl-safer.m4: Remove.
81502         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
81503         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
81504         Invoke gl_PREREQ_FD_SAFER.
81505         (gl_PREREQ_FD_SAFER): New macro.
81506         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
81507         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
81508         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
81509         Remove duplicate call to AC_LIBOBJ(readutmp).
81510         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
81511
81512         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
81513         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
81514
81515 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
81516
81517         * MODULES.html.sh (Misc): Add byteswap.
81518
81519 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81520
81521         * modules/getcwd (Depends-on): Add extensions.
81522         * modules/openat (Depends-on): Likewise.
81523
81524 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81525
81526         * modules/byteswap: New file.
81527
81528 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81529
81530         * m4/byteswap.m4: New file.
81531
81532 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
81533
81534         * lib/byteswap_.h: New file.
81535
81536 2005-04-25  Karl Berry  <karl@gnu.org>
81537
81538         * m4/gettext.m4: Update from GNU gettext 0.14.4.
81539
81540 2005-04-25  Albert Chin  <china@thewrittenword.com>
81541
81542         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
81543         Toolkit C bug.
81544
81545 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
81546
81547         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
81548         (func_ln_if_changed): Remove forcibly for no error message
81549         in case file does not exist.
81550
81551 2005-04-19  Simon Josefsson  <jas@extundo.com>
81552
81553         * gnulib-tool (Options): Make --symlink mean --symbolic.
81554
81555 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
81556
81557         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
81558
81559 2005-04-16  Simon Josefsson  <jas@extundo.com>
81560
81561         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
81562
81563 2005-04-15  Simon Josefsson  <jas@extundo.com>
81564
81565         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
81566
81567 2005-04-15  Simon Josefsson  <jas@extundo.com>
81568
81569         * gnulib-tool: Rename --symlink to --symbolic.
81570
81571 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
81572
81573         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
81574         symbolic links to files instead of copying/moving.  Add --aux-dir,
81575         specifying directory relative --dir where auxiliary build tools
81576         are placed.
81577
81578 2005-04-14  Bruno Haible  <bruno@clisp.org>
81579
81580         * modules/allocsa (License): Change to LGPL.
81581         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
81582
81583 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81584
81585         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
81586         that "UTC +1 second" continues to work.  Problem reported
81587         by Dmitry V. Levin.
81588         (relunit_snumber): New rule.
81589         (relunit): Use it.
81590
81591 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
81592
81593         * lib/getdate.y (universal_time_zone_table): New constant.
81594         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
81595         universal_time_zone_table.
81596         (lookup_zone): Prefer universal_time_zone_table to
81597         local_time_zone_table, so that "GMT" time stamps are allowed in
81598         London during the summer.  Problem reported by Ian Abbott.
81599
81600 2005-04-12  Jim Meyering  <jim@meyering.net>
81601
81602         * lib/human.c (humblock): Set *options even when returning due to
81603         xstrtoumax conversion failure.  Thanks to a used-uninitialized
81604         warning from gcc-4.
81605
81606 2005-04-09  Jim Meyering  <jim@meyering.net>
81607
81608         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
81609         -Wuninitialized: initialize tm0.tm_year.
81610
81611 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
81612
81613         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
81614         count, since there's no maximum.  All uses changed.
81615         Add member dsts_seen.
81616         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
81617         not being INT_MAX.
81618         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
81619         Use pc_rels_seen to decide whther a date is absolute.
81620
81621         * lib/getdate.y (number): Don't overwrite year.
81622         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
81623         check.
81624
81625 2005-04-02  Simon Josefsson  <jas@extundo.com>
81626
81627         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
81628         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
81629
81630 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
81631
81632         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
81633         where no absolute path name can be longer than PATH_MAX.
81634
81635 2005-03-27  Jim Meyering  <jim@meyering.net>
81636
81637         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
81638
81639 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
81640
81641         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
81642         "one's complement" -> "ones' complement" in comment, as per Knuth.
81643         "value of type" -> "type or expression" in comment.
81644         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
81645
81646 2005-03-26  Jim Meyering  <jim@meyering.net>
81647
81648         Comment nits.
81649         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
81650         Correct typos: s/or/of/.
81651
81652 2005-03-26  Jim Meyering  <jim@meyering.net>
81653
81654         * modules/check-include-files: Move to ../ and rename to...
81655         * check-module: ...this.
81656
81657 2005-03-25  Jim Meyering  <jim@meyering.net>
81658
81659         * modules/xvasprintf (Files): Add xalloc.h.
81660
81661 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
81662
81663         * modules/gettext (Files): config/config.rpath ->
81664         build-aux/config.rpath
81665         * modules/iconv (Files): Likewise.
81666         Problem reported by Oskar Liljeblad.
81667
81668 2005-03-23  Jim Meyering  <jim@meyering.net>
81669
81670         * modules/check-include-files: New script to check for
81671         missing dependencies, multiple includes, etc.
81672
81673         * modules/c-strtold (Depends-on): Add xalloc.
81674         * modules/c-strtod (Depends-on): Add xalloc.
81675         * modules/hash (Depends-on): Add xalloc.
81676         (Files): Remove lib/xalloc.h.
81677
81678         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
81679         * modules/userspec (Files): Add lib/inttostr.h.
81680
81681 2005-03-23  Jim Meyering  <jim@meyering.net>
81682
81683         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
81684
81685 2005-03-22  Jim Meyering  <jim@meyering.net>
81686
81687         * modules/stat-macros: New module.
81688         * modules/canonicalize, modules/euidaccess, modules/file-type,
81689         * modules/filemode, modules/lchown, modules/makepath,
81690         * modules/rmdir, modules/stat: Depend on new stat-macros module
81691         rather than listing lib/stat-macros.h manually.
81692         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
81693
81694 2005-03-22  Jim Meyering  <jim@meyering.net>
81695
81696         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
81697
81698 2005-03-22  Bruno Haible  <bruno@clisp.org>
81699
81700         * config/srclist.txt: Replace target directory 'config' with
81701         'build-aux'.
81702         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
81703         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
81704         ../build-aux/.
81705
81706 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
81707
81708         * modules/chdir-long (Depends-on): Add mempcpy.
81709
81710         * modules/acl, modules/backupfile, modules/c-strtod,
81711         modules/c-strtold, modules/canon-host, modules/canonicalize,
81712         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
81713         modules/exclude, modules/exitfail, modules/file-type,
81714         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
81715         modules/getdate, modules/getline, modules/getpagesize,
81716         modules/getpass, modules/getugroups, modules/group-member,
81717         modules/hard-locale, modules/hash, modules/human, modules/idcache,
81718         modules/inttostr, modules/long-options, modules/makepath,
81719         modules/md5, modules/memcasecmp, modules/memcoll,
81720         modules/modechange, modules/mountlist, modules/path-concat,
81721         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
81722         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
81723         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
81724         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
81725         modules/strftime, modules/strndup, modules/strverscmp,
81726         modules/timespec, modules/unlocked-io, modules/userspec,
81727         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
81728         modules/yesno:
81729         Remove lib_SOURCES line from Makefile.am section, as this is now
81730         done automatically by the corresponding Autoconf macro.
81731
81732 2005-03-21  Jim Meyering  <jim@meyering.net>
81733
81734         Changes imported from coreutils.
81735
81736         * lib/cycle-check.c: Don't include xalloc.h.
81737
81738         * lib/path-concat.c: Don't include assert.h.
81739         (path_concat): Remove assertion that would have triggered
81740         for ABASE starting with more than one slash.
81741         Reported by Andreas Schwab.
81742
81743         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
81744         properly when ABASE is an absolute file name.
81745         Correct the description of this function.
81746         Include <assert.h>.
81747         Add an assertion and a test driver.
81748         This fixes a bug introduced on 2004-07-02.
81749         Andreas Schwab reported the resulting failure of cp --parents:
81750         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
81751
81752 2005-03-21  Jim Meyering  <jim@meyering.net>
81753
81754         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
81755         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
81756
81757 2005-03-21  Jim Meyering  <jim@meyering.net>
81758         and  Paul Eggert  <eggert@cs.ucla.edu>
81759
81760         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
81761         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
81762         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
81763         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
81764         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
81765         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
81766         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
81767         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
81768         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
81769         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
81770         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
81771         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
81772         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
81773         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
81774         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
81775         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
81776         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
81777         for these modules.
81778
81779 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
81780
81781         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
81782         (which shouldn't happen), generate nothing instead of returning 0
81783         immediately, so that nstrftime (NULL, ...) doesn't return 0.
81784
81785 2005-03-16  Bruno Haible  <bruno@clisp.org>
81786
81787         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
81788         HAVE_LONGLONG_64BIT.
81789
81790 2005-03-16  Bruno Haible  <bruno@clisp.org>
81791
81792         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
81793         HAVE_LONGLONG_64BIT.
81794
81795 2005-03-16  Bruno Haible  <bruno@clisp.org>
81796
81797         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
81798         HAVE_LONGLONG_64BIT.
81799
81800 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
81801
81802         * lib/strftime.c (my_strftime): Prepend space to format so that we can
81803         reliably distinguish strftime failure from empty output on POSIX
81804         hosts.
81805
81806 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
81807
81808         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
81809         (iconv_string): Don't guess a size-zero buffer, as that might cause
81810         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
81811         result would be 'too large', where 'too large' is (heuristically)
81812         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
81813         overflow concerns.  This will prevent some unwanted malloc failures
81814         when the inputs are very large.
81815
81816 2005-03-15  Karl Berry  <karl@gnu.org>
81817
81818         * config/srclist.txt (config.rpath): from gettext.
81819         * config/config.rpath: update.
81820
81821 2005-03-15  Bruno Haible  <bruno@clisp.org>
81822
81823         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
81824         to 'negate'.
81825
81826         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
81827         variable.
81828
81829         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
81830         results.
81831
81832 2005-03-14  Simon Josefsson  <jas@extundo.com>
81833
81834         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
81835         <fx@gnu.org>.
81836
81837 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
81838
81839         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
81840         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
81841         intprops.h.
81842         * lib/strtol.c: Likewise.
81843
81844 2005-03-14  Jim Meyering  <jim@meyering.net>
81845
81846         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
81847         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
81848         to be nonzero so that we (and caller) can detect the difference
81849         between a valid zero-length expansion and an error return, even
81850         when the underlying strftime fails before writing anything into
81851         that location.
81852
81853 2005-03-14  Bruno Haible  <bruno@clisp.org>
81854
81855         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
81856         Update from GNU gettext 0.14.3.
81857
81858 2005-03-10  Jim Meyering  <jim@meyering.net>
81859
81860         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
81861
81862 2005-03-10  Jim Meyering  <jim@meyering.net>
81863
81864         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
81865         so that this module works on systems without fchdir.
81866
81867 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
81868
81869         Factor int-properties macros into a single file, except for
81870         glibc-related files.
81871         * lib/intprops.h: New file.
81872         * lib/getloadavg.c: Include it instead of limits.h.
81873         (INT_STRLEN_BOUND): Remove.
81874         * lib/human.c: Include intprops.h.
81875         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
81876         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
81877         302/1000.
81878         * lib/inttostr.h: Include intprops.h instead of limits.h.
81879         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
81880         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
81881         for consistency with intprops.h.
81882         (time_t_is_integer, twos_complement_arithmetic): Use them.
81883         * lib/sig2str.h: Include <signal.h>, intprops.h.
81884         (INT_STRLEN_BOUND): Remove.
81885         * lib/strftime.c (TYPE_SIGNED): Remove.
81886         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
81887         * lib/strtol.c: Adjust comments to match intprops.h.
81888         * lib/userspec.c: Include intprops.h.
81889         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
81890         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
81891         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
81892         instead of rolling our own expressions.
81893         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
81894
81895         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
81896         instead of int.
81897         (my_strftime): Do not mishandle years close to INT_MAX, by doing
81898         the right thing even if adding 1900 would overflow.  Similarly
81899         for tm_mon + 1 and tm_yday + 1.
81900         Make %Y always equivalent to %C%y, and similarly for %G and %g.
81901         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
81902         (DO_SIGNED_NUMBER): New macro.
81903         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
81904
81905 2005-03-07  Bruno Haible  <bruno@clisp.org>
81906
81907         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
81908
81909 2005-03-07  Bruno Haible  <bruno@clisp.org>
81910
81911         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
81912
81913 2005-03-04  Derek R. Price  <derek@ximbiot.com>
81914
81915         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
81916         (func_import): Only replace files via --import when they have actually
81917         changed.
81918
81919 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81920
81921         * m4/mmap-anon.m4: New file.
81922         * m4/pagealign_alloc.m4: New file.
81923
81924 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81925             Bruno Haible  <bruno@clisp.org>
81926
81927         * modules/pagealign_alloc: New file.
81928         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
81929
81930 2005-03-03  Derek R. Price  <derek@ximbiot.com>
81931             Bruno Haible  <bruno@clisp.org>
81932
81933         * lib/pagealign_alloc.h: New file.
81934         * lib/pagealign_alloc.c: New file.
81935
81936 2005-03-03  Bruno Haible  <bruno@clisp.org>
81937
81938         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
81939         Use an all-permissive copyright notice, recommended by RMS.
81940
81941 2005-03-02  Bruno Haible  <bruno@clisp.org>
81942
81943         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
81944         of AIX, the replacement has to be done only after <string.h> is
81945         included, therefore not in config.h. stpncpy.h does the replacement,
81946         and stpncpy.c uses it.
81947
81948 2005-03-02  Bruno Haible  <bruno@clisp.org>
81949
81950         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
81951         stpncpy.c uses it.
81952
81953 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81954
81955         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
81956         The workaround isn't strictly needed for POSIX conformance, and
81957         it's too much of a pain to configure and maintain.  We'll ask
81958         people to fix their kernels instead.
81959         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
81960         (NANOSLEEP_BUG_WORKAROUND): Remove.
81961         (xnanosleep): Remove the workaround.
81962
81963 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81964
81965         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
81966         Reported by Derek Price.
81967         (Include): Add "timespec.h".
81968
81969         * modules/xnanosleep (Depends-on): Remove gethrxtime.
81970
81971 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
81972
81973         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
81974         to detect nanosleep bug.
81975
81976 2005-03-01  Bruno Haible  <bruno@clisp.org>
81977
81978         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
81979
81980 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
81981
81982         * modules/gethrxtime: New file.
81983         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
81984         (Depends-on): Add gethrxtime.
81985         (configure.ac): Add gl_XNANOSLEEP.
81986         (Makefile.am): Remove lib_SOURCES line.
81987
81988 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
81989
81990         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
81991         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
81992
81993 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
81994
81995         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
81996         * lib/timespec.h (gettime): Return void, since it always
81997         succeeds now.  All uses changed.
81998         * lib/gettime.c (gettime): Likewise.
81999         [HAVE_NANOTIME]: Prefer nanotime.
82000         Assume gettimeofday succeeds, as POSIX requires.
82001         Assime time () succeeds, since other code already does.
82002         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
82003         (timespec_subtract): Remove.
82004         (NANOSLEEP_BUG_WORKAROUND): New constant.
82005         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
82006         things considerably.  Use it only on GNU/Linux hosts, since the
82007         workaround shouldn't be needed elsewhere.
82008
82009 2005-02-24  Bruno Haible  <bruno@clisp.org>
82010
82011         * modules/gettext (Files): Add m4/glibc2.m4.
82012
82013 2005-02-24  Bruno Haible  <bruno@clisp.org>
82014
82015         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
82016         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
82017         * m4/progtest.m4:
82018         Update from GNU gettext 0.14.2.
82019         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
82020
82021 2005-02-24  Bruno Haible  <bruno@clisp.org>
82022
82023         * lib/localcharset.c: Update from GNU gettext 0.14.2.
82024         * lib/config.charset: Update from GNU gettext 0.14.2.
82025
82026 2005-02-24  Bruno Haible  <bruno@clisp.org>
82027
82028         * lib/gettext.h: Update from GNU gettext 0.14.2.
82029
82030 2005-02-23  Simon Josefsson  <jas@extundo.com>
82031
82032         * m4/iconvme.m4: New file.
82033
82034 2005-02-23  Jim Meyering  <jim@meyering.net>
82035
82036         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
82037         change.
82038         Thanks to Bruno Haible for catching it.
82039
82040 2005-02-22  Simon Josefsson  <jas@extundo.com>
82041
82042         * modules/iconvme: New file.
82043
82044         * MODULES.html.sh: Add iconvme.
82045
82046 2005-02-22  Simon Josefsson  <jas@extundo.com>
82047
82048         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
82049
82050 2005-02-22  Simon Josefsson  <jas@extundo.com>
82051
82052         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
82053
82054 2005-02-22  Jim Meyering  <jim@meyering.net>
82055
82056         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
82057         s/ifndef/ifdef/.
82058
82059 2005-02-20  Neil Conway  <neilc@samurai.com>
82060
82061         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
82062         returned by OSX/Darwin if the specified buffer is not large
82063         enough for the hostname.
82064
82065 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82066
82067         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
82068         pass it to _help, otherwise the latter coredumps trying to
82069         dereference state.root_argp.
82070
82071 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82072
82073         * modules/chdir-long (Depends-on): Add memrchr.
82074         * modules/memrchr (Files): Add lib/memrchr.h.
82075         (Include): "memrchr.h".
82076
82077 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82078
82079         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
82080
82081 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
82082
82083         * lib/memrchr.h: New file.
82084         * lib/chdir-long.c: Include it.
82085         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
82086         Don't bother including stddef.h.
82087
82088 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
82089
82090         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
82091         inclusion.
82092         Include <sys/types.h>, for dev_t.
82093         (ME_DUMMY, ME_REMOTE): Move from here....
82094         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
82095         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
82096         Dmitry V. Levin.
82097         Include mountlist.h first, to test the interface.
82098
82099 2005-01-29  Bruno Haible  <bruno@clisp.org>
82100
82101         * lib/progname.c (program_name): Initialize.
82102         Needed when linking statically on MacOS X.
82103
82104 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82105
82106         Sync from coreutils.
82107         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
82108         (Depends-on): Add c-strtod.
82109         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
82110
82111 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
82112
82113         Sync from coreutils.
82114         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
82115
82116         Remove files that are specific to coreutils.
82117         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
82118
82119 2005-01-28  Bruno Haible  <bruno@clisp.org>
82120
82121         * modules/javacomp: New file.
82122         * MODULES.html.sh (Java): Add javacomp.
82123
82124 2005-01-28  Bruno Haible  <bruno@clisp.org>
82125
82126         * m4/javacomp.m4: New file, from GNU gettext.
82127
82128 2005-01-28  Bruno Haible  <bruno@clisp.org>
82129
82130         * lib/javacomp.sh.in: New file, from GNU gettext.
82131         * lib/javacomp.h: New file, from GNU gettext.
82132         * lib/javacomp.c: New file, from GNU gettext.
82133
82134 2005-01-26  Simon Josefsson  <jas@extundo.com>
82135
82136         * lib/gai_strerror.c: Use GPL in header.
82137
82138 2005-01-26  Bruno Haible  <bruno@clisp.org>
82139
82140         * modules/javaexec: New file.
82141         * MODULES.html.sh (Java): Add javaexec.
82142
82143 2005-01-26  Bruno Haible  <bruno@clisp.org>
82144
82145         * m4/javaexec.m4: New file, from GNU gettext.
82146
82147 2005-01-26  Bruno Haible  <bruno@clisp.org>
82148
82149         * lib/javaexec.sh.in: New file, from GNU gettext.
82150         * lib/javaexec.h: New file, from GNU gettext.
82151         * lib/javaexec.c: New file, from GNU gettext.
82152
82153 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82154
82155         * modules/lchown (Depends-on): Remove lchown.h
82156
82157 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82158
82159         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
82160         must be defined if the header file was not found, in order
82161         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
82162
82163 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82164
82165         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
82166         initializers for struct pentry_state.
82167         (__argp_error): Check return value of __asprintf
82168         (__argp_failure): Translate error message
82169
82170         * lib/argp-parse.c: Removed braces around the expansion of N_()
82171
82172 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82173
82174         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
82175         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
82176         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
82177         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
82178         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
82179         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
82180         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
82181         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
82182         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
82183         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
82184         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
82185         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
82186         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
82187         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
82188         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
82189         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
82190         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
82191         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
82192         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
82193         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
82194         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
82195         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
82196         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
82197         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
82198         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
82199         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
82200         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
82201         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
82202         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
82203         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
82204         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
82205         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
82206         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
82207         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
82208         xstrtol.m4, xstrtoumax.m4, yesno.m4:
82209         Use an all-permissive copyright notice, recommended by RMS.
82210
82211 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
82212
82213         * modules/chdir-long (Depends-on): Remove mempcpy.
82214
82215 2005-01-21  Jim Meyering  <jim@meyering.net>
82216
82217         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
82218         same value as for Solaris 9.
82219
82220         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
82221         component length.  This included changing the parameter to be
82222         of type `char *' rather than `char const *'.
82223         * lib/chdir-long.h (chdir_long): Update prototype.
82224
82225         * lib/openat.c (fdopendir, fstatat): New functions.
82226         * lib/openat.h: Include headers required for use of DIR and struct
82227         stat.
82228         [AT_SYMLINK_NOFOLLOW]: Define.
82229         (fdopendir, fstatat): Add prototypes.
82230
82231 2005-01-21  Bruno Haible  <bruno@clisp.org>
82232
82233         * modules/classpath: New file.
82234         * MODULES.html.sh (Java): Add classpath.
82235
82236 2005-01-21  Bruno Haible  <bruno@clisp.org>
82237
82238         * lib/classpath.h: New file, from GNU gettext.
82239         * lib/classpath.c: New file, from GNU gettext.
82240
82241 2005-01-20  Simon Josefsson  <jas@extundo.com>
82242
82243         * modules/version-etc-fsf: New file.
82244
82245 2005-01-20  Simon Josefsson  <jas@extundo.com>
82246
82247         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
82248         * lib/version-etc.c: Remove version_etc_copyright.
82249         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
82250         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
82251
82252 2005-01-20  Simon Josefsson  <jas@extundo.com>
82253
82254         * lib/base64.h (isbase64): Add.
82255
82256         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
82257         using a unsigned prototype, don't inline.
82258         (base64_decode): Use it.
82259
82260 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82261
82262         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
82263         it.
82264
82265 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82266
82267         * lib/save-cwd.c (save_cwd): Remove code to support the case
82268         where fchdir is missing or flaky.
82269
82270 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82271
82272         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
82273
82274 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
82275
82276         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
82277         AC_LIBSOURCES now does this.
82278         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
82279         with new ullong_max module.
82280
82281 2005-01-19  Bruno Haible  <bruno@clisp.org>
82282
82283         * modules/sh-quote: New file.
82284         * MODULES.html.sh (Executing programs): Add sh-quote.
82285
82286 2005-01-19  Bruno Haible  <bruno@clisp.org>
82287
82288         * lib/sh-quote.h: New file, from GNU gettext.
82289         * lib/sh-quote.c: New file, from GNU gettext.
82290
82291 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82292
82293         Merge from coreutils.
82294         * m4/ullong_max.m4: New file.
82295         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
82296         (gl_MACROS): Assume localeconv exists.
82297
82298 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82299
82300         Merge changes from coreutils, as described below in several
82301         changelogs dated today.
82302
82303         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
82304         (O_DIRECTORY): Remove; not needed here, since "." must be
82305         a directory.  All uses removed.
82306         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
82307         universal on Suns, and we also need to test for IRIX.
82308         Revamp code to use 'if' rather than '#if'.
82309         Avoid unnecessary comparison of cwd->desc to 0.
82310
82311         * lib/utimens.c (futimens): Robustify the previous patch, by checking
82312         for known valid error numbers rather than observed invalid ones.
82313
82314 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
82315
82316         * modules/ullong_max: New file.
82317
82318         * modules/chdir-long, modules/openat: New files.
82319         * modules/save-cwd (Depends-on): Depend on chdir-long.
82320         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
82321
82322 2005-01-18  Jim Meyering  <jim@meyering.net>
82323
82324         Merge from coreutils.
82325         * m4/chdir-long.m4, m4/openat.m4: New files.
82326         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
82327         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
82328         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
82329         is sane and DOES follow symlinks.  Besides, testing 20 different
82330         systems found no broken chown implementations.
82331         Prompted by a change in rsync's copy of this macro.
82332         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
82333
82334         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
82335
82336         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
82337         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
82338         NULL-means-set-to-current-time semantics.
82339         Remove temporary file immediately, rather than waiting
82340         for configure's at-exit trap code to do it.
82341
82342 2005-01-18  Jim Meyering  <jim@meyering.net>
82343
82344         * lib/version-etc.c (version_etc_copyright): Update copyright date.
82345
82346         * lib/utimens.c (futimens): Account for the fact that futimes
82347         can also fail with errno == ENOSYS or errno == ENOENT.
82348         Patch from Dmitry V. Levin.
82349
82350         Change the name of the robust chdir function from chdir to chdir_long.
82351         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
82352         (restore_cwd): Use chdir_long, not chdir.
82353         * lib/chdir-long.c: Renamed from chdir.c.
82354         * lib/chdir-long.h: Renamed from chdir.h.
82355         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
82356         Hurd.
82357
82358 2005-01-18  Bruno Haible  <bruno@clisp.org>
82359
82360         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
82361         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
82362         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
82363         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
82364         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
82365         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
82366         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
82367         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
82368         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
82369         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
82370         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
82371         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
82372         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
82373         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
82374         Use an all-permissive copyright notice, recommended by RMS.
82375
82376 2005-01-18  Bob Proulx  <bob@proulx.com>
82377
82378         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
82379         simplify offsetof() macro construct to avoid compile failure with
82380         native HP-UX 11.0 ANSI C compiler.
82381
82382 2005-01-17  Bruno Haible  <bruno@clisp.org>
82383
82384         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
82385         redundant because stpncpy.m4 takes care of it.
82386
82387 2005-01-17  Bruno Haible  <bruno@clisp.org>
82388
82389         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
82390
82391 2005-01-17  Bruno Haible  <bruno@clisp.org>
82392
82393         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
82394         used.
82395
82396 2005-01-17  Bruno Haible  <bruno@clisp.org>
82397
82398         * lib/fwriteerror.h (fwriteerror): Change specification to include
82399         fclose.
82400         * lib/fwriteerror.c: Include <stdbool.h>.
82401         (fwriteerror): At the end, close the file stream. Record whether
82402         stdout was already closed.
82403
82404 2005-01-17  Bruno Haible  <bruno@clisp.org>
82405
82406         * lib/execute.c (environ): Declare if needed.
82407         * lib/pipe.c (environ): Likewise.
82408         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
82409
82410 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82411
82412         * modules/argp: Depend on vsnprintf
82413
82414 2005-01-10  Jim Meyering  <jim@meyering.net>
82415
82416         * modules/closeout (Depends-on): Add atexit.
82417
82418 2005-01-06  Bruno Haible  <bruno@clisp.org>
82419
82420         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
82421
82422 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
82423
82424         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
82425         definitions to be after all include files, to avoid collisions.
82426         Problem reported by Bob Proulx.
82427
82428 2005-01-04  Jim Meyering  <jim@meyering.net>
82429
82430         Changes imported from coreutils.
82431         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
82432         as the mkstemp template, use a temporary directory and an
82433         8.3-friendly template to avoid trouble on systems like DJGPP.
82434         Reported by Juan M. Guerrero via Stepan Kasal.
82435         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
82436         close. Remove the temporary directory right away, rather than waiting
82437         for configure's at-exit trap code to do it.
82438         Suggestion from Stepan Kasal.
82439
82440 2005-01-01  Simon Josefsson  <jas@extundo.com>
82441
82442         * gnulib-tool: Print #include directives when --import'ing.
82443
82444 2004-12-28  Simon Josefsson  <jas@extundo.com>
82445
82446         * tests/test-base64.c: Include required header files.  Remove
82447         unused variables.
82448
82449 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82450
82451         * modules/error (Depends-on): Remove gettext.
82452
82453 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
82454
82455         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
82456         not needed.  This removes a dependency on the gettext module.
82457         [defined _LIBC]: Do not include <libintl.h>; not needed.
82458
82459 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82460
82461         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
82462         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
82463
82464 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
82465
82466         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
82467         HAVE_DECL_STRTOLD.
82468
82469 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82470
82471         * modules/getdate (Depends-on): Remove alloca-opt.
82472
82473 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82474
82475         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
82476
82477 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
82478
82479         * lib/argp-parse.c: Include <stddef.h>.
82480         (alignof, alignto): New macros.
82481         (parser_init): Don't assume that void * is aligned sufficiently
82482         for struct option.
82483
82484         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
82485         need to extend the stack.
82486         (YYINITDEPTH): New macro, so that the initial stack isn't overly
82487         large.
82488
82489 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82490
82491         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
82492
82493 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82494
82495         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
82496         (2004-10-24) change.  Apparently this was a false alarm.
82497
82498         * modules/getdate: Depend on alloca-opt, not alloca.
82499
82500 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
82501
82502         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
82503         Remove now-obsolete comment about AIX.
82504         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
82505         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
82506         (YYMAXDEPTH): New macro.
82507
82508 2004-12-18  Simon Josefsson  <jas@extundo.com>
82509
82510         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
82511
82512 2004-12-18  Bruno Haible  <bruno@clisp.org>
82513
82514         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
82515
82516 2004-12-18  Bruno Haible  <bruno@clisp.org>
82517
82518         * lib/fatal-signal.c (fatal_signals): Make non-const.
82519         (init_fatal_signals): New function.
82520         (uninstall_handlers, install_handlers): Ignore signals that were set to
82521         SIG_IGN.
82522         (at_fatal_signal): Call init_fatal_signals.
82523         (init_fatal_signal_set): Likewise. Ignore signals that were set to
82524         SIG_IGN.
82525         Reported by Paul Eggert.
82526
82527 2004-12-18  Bruno Haible  <bruno@clisp.org>
82528
82529         * doc/alloca.texi: New file.
82530         * doc/alloca-opt.texi: New file.
82531
82532 2004-12-17  Jim Meyering  <jim@meyering.net>
82533
82534         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
82535         Otherwise, install-sh could exit with improper exit status when
82536         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
82537
82538 2004-12-16  Simon Josefsson  <jas@extundo.com>
82539
82540         * tests/test-base64.c: Add license.
82541
82542 2004-12-15  Stepan Kasal  <address@hidden>
82543
82544         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
82545
82546 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
82547
82548         * modules/getcwd (Files): Add m4/d-ino.m4.
82549         Suggested by Mark D. Baushke.
82550
82551 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82552
82553         * lib/getdate.y (textint): New member "negative".
82554         (time_zone_hhmm): New function.
82555         Expect 14 shift-reduce conflicts, not 13.
82556         (o_colon_minutes): New rule.
82557         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
82558         (yylex): Set the "negative" member of signed numbers.
82559
82560 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
82561
82562         * doc/getdate.texi (Time of day items, Time zone items):
82563         Describe new formats +00:00, UTC+00:00.
82564
82565 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
82566
82567         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
82568         spurious "-l"s.  Problem reported by Stepan Kasal.
82569
82570 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
82571
82572         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
82573         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
82574
82575 2004-12-04  Simon Josefsson  <jas@extundo.com>
82576
82577         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
82578         Vandoorselaere <yoann@prelude-ids.org>.
82579
82580 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82581
82582         Changes imported from coreutils.
82583         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
82584         exist.
82585         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
82586
82587 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82588
82589         Changes imported from coreutils.
82590         * lib/hard-locale.c: Assume <locale.h> exists.
82591         Include "strdup.h".
82592         (GLIBC_VERSION): New macro.
82593         (hard_locale): Assume setlocale exists.
82594         Rewrite to avoid #ifdef.
82595         Use strdup rather than malloc + strcpy.
82596         * lib/human.c: Assume <locale.h> exists.
82597         (human_readable): Assume localeconv exists.
82598
82599 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
82600
82601         * modules/hard-locale (Depends-on): Add strdup.
82602
82603 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
82604
82605         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
82606         convert T2, not T.  (Imported from libc.)
82607
82608 2004-11-30  Simon Josefsson  <jas@extundo.com>
82609
82610         * modules/restrict (License): Change to LGPL.
82611
82612 2004-11-30  Simon Josefsson  <jas@extundo.com>
82613
82614         * m4/restrict.m4: Add copyright and copying conditions.
82615
82616 2004-11-30  Simon Josefsson  <jas@extundo.com>
82617
82618         * m4/base64.m4: New file.
82619
82620 2004-11-30  Simon Josefsson  <jas@extundo.com>
82621
82622         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
82623         base64.
82624
82625         * tests/test-base64.c: New file.
82626
82627         * modules/base64: New file.
82628
82629 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
82630
82631         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
82632         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
82633
82634         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
82635
82636 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
82637
82638         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
82639         (__getcwd.c): Don't restore errno; glibc doesn't.
82640         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
82641         first, falling back to our code only if its results look suspicious.
82642         Ensure that the resulting buffer is only as large as necessary.
82643
82644         * lib/readutmp.c: Include readutmp.h first.
82645         Include <errno.h>, since readutmp.h no longer does that.
82646         * lib/readutmp.h: Don't include <errno.h>,
82647         <sys/param.h>, <time.h>; not needed to establish interface.
82648         (errno): Remove decl.
82649         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
82650         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
82651         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
82652
82653 2004-11-28  Simon Josefsson  <jas@extundo.com>
82654
82655         * lib/base64.h, base64.c: New file.
82656
82657 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
82658
82659         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
82660
82661 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
82662
82663         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
82664         (Depends-on): Remove pathmax, same.  Add mempcpy.
82665         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
82666         (Makefile.am): Append getcwd.h to lib_SOURCES.
82667         (Include): Add getcwd.h.
82668         (Maintainer): Change from Jim Meyering to "all, glibc",
82669         since getdate now uses intended-for-glibc code.
82670         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
82671         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
82672
82673 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82674
82675         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
82676         HP's ANSI C compiler.
82677         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
82678         Declaring int functions causes warnings on some modern systems and
82679         shouldn't be needed to compile on ancient ones.
82680         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
82681         defined.
82682
82683         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
82684         with the following changes.
82685         (__set_errno): Parenthesize properly.
82686         Include <stdbool.h>.
82687         (MIN, MAX, MATCHING_INO): New macros.
82688         (__getcwd): Define with prototype, not K&R form.
82689         Use heuristics to allocate default buffer on stack if possible.
82690         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
82691         behavior, and to avoid the PATH_MAX limit when computing
82692         ../../../../...
82693         Use MATCHING_INO to compare inode number to file.
82694         Check for arithmetic overflow in size calculations.
82695         Fix bug in reallocation of dot array that caused getcwd to fail
82696         on directories nested deeper than 75.
82697         Be more careful about saving errno on error.
82698         Do not use realloc; use only free+malloc, as this is a bit
82699         more flexible and avoids a needless copy operation.
82700         Do not inspect st_dev and st_ino for symbolic links; POSIX
82701         doesn't specify the latter.
82702         Check for closedir errors.
82703         Avoid needless casts.
82704         Use "#ifdef weak_alias" around weak_alias, to be like other
82705         glibc code.
82706         The following changes to getcwd.c have effect only when used in
82707         gnulib; they have no effect inside glibc proper.
82708         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
82709         as alloca isn't used.
82710         (alloca, __alloca): Likewise.
82711         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
82712         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
82713         unconditionally, as gnulib assumes C89 or better.
82714         Do not include <sys/param.h>.
82715         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
82716         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
82717         better.
82718         (NULL) [!defined NULL]: Remove; we assume C89 or better.
82719         Include <dirent.h> in a way that is compatible with modern Autoconf.
82720         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
82721         New macros, if not already defined.
82722         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
82723         Use "_LIBC", not "defined _LIBC", for consistency.
82724         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
82725         a mempcpy module.
82726         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
82727         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
82728         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
82729         credit only to Jim Meyering and adjust the copyright dates.
82730         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
82731         <stdlib.h>, <unistd.h>, "pathmax.h".
82732         Instead, include "xgetcwd.h" (first) and "getcwd.h".
82733         (INITIAL_BUFFER_SIZE): Remove.
82734         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
82735
82736 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
82737
82738         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
82739         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
82740         Use the _ONCE methods, for efficiency.
82741         Check for fcntl.h.  In test program, include <errno.h>
82742         and <fcntl.h> if available.  Remove old K&R cruft from
82743         test program.  Check for common errors in GNU/Linux,
82744         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
82745         don't do AC_LIBOBJ, as that's getcwd.m4's job.
82746         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
82747         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
82748         name accordingly.
82749         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
82750         accommodate new getcwd.c.
82751         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
82752         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
82753         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
82754         that's all we need now.
82755
82756 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82757
82758         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
82759         argp-parse.c depends on getopt internals, that means we should
82760         always use our getopt, to be on the safe side.
82761         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
82762         order not to spoil the result of an eventual previous invocation
82763         of gl_GETOPT_SUBSTITUTE.
82764
82765 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
82766
82767         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
82768         redefinition warnings. To avoid them, include the defines
82769         in `#if !defined __need_getopt ... #endif'. The only place
82770         where __getopt_argv_const is used is in definitions
82771         of getopt_long and getopt_long_only below, which are as well
82772         protected by `#ifndef __need_getopt'.
82773         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
82774         __need_getopt after including <stdio.h> and <unistd.h> These
82775         headers might have defined it.
82776
82777 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
82778
82779         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
82780
82781 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
82782
82783         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
82784         (futimens): New function, which uses futimes if available.
82785         (futimens, utimens): Support timespec==NULL, with same semantics
82786         as utime and utimens.
82787         * lib/utimens.h (futimens): New decl.
82788
82789 2004-11-23  Jim Meyering  <jim@meyering.net>
82790
82791         * lib/getopt_.h: Remove trailing blanks.
82792
82793 2004-11-23  Jim Meyering  <jim@meyering.net>
82794
82795         * lib/__fpending.c: Add comment.
82796
82797 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
82798
82799         * modules/canonicalize (Depends-on): Add xreadlink.
82800         Problem reported by James Youngman.
82801
82802 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
82803
82804         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
82805         New macros.
82806         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
82807         optopt): Use them instead of invoking ## directly; otherwise, the
82808         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
82809
82810 2004-11-19  Bruno Haible  <bruno@clisp.org>
82811
82812         * lib/strtok_r.c: Move comments from here...
82813         * lib/strtok_r.h: ... to here.
82814
82815 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
82816
82817         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
82818         implementations that mishandle size_t overflow.
82819
82820 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
82821
82822         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
82823         might fail.  Problem reported by Yoann Vandoorselaere.
82824         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
82825         implementations that mishandle size_t overflow.
82826
82827 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82828
82829         * modules/canon-host (Depends-on): Add strdup.
82830
82831 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82832
82833         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
82834
82835 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82836
82837         * lib/canon-host.c: Include "strdup.h".
82838         (canon_host): Use getaddrinfo if available, so that IPv6 works.
82839         Use strdup instead of malloc/strcpy to duplicate strings.
82840
82841         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
82842         (human_space_before_unit): New constant.
82843         * lib/human.c (human_readable): Support it.
82844
82845         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
82846         (xgetcwd): Set errno correctly when failing.
82847         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
82848         the failure is actually due to a PATH_MAX problem.
82849
82850         Further getopt changes to make it more likely that glibc will
82851         buy the changes back.
82852         * lib/getopt.c (POSIXLY_CORRECT): New constant.
82853         (getopt): Use it, so to preserve glibc semantic
82854         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
82855         when compiling for libc.
82856         * lib/getopt_.h (__getopt_argv_const): Bring it back.
82857         (getopt_long, getopt_long_only): Use it.
82858
82859         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
82860         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
82861         (getopt): Argv is now char * const *, as per standard.
82862         (_getopt_internal_r, _getopt_internal): Argv is now char **,
82863         not char *__getopt_argv_const *.
82864         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
82865         _getopt_long_only_r): Likewise.
82866         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
82867         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
82868         _getopt_long_r, _getopt_long_only_r): Likewise.
82869         * lib/getopt_.h (__getopt_argv_const): Remove.
82870         (getopt): Argv is now char * const *, as per standard.
82871
82872         * lib/getdate.y (tORDINAL): New token.
82873         (day, relunit): Allow it for relative times.
82874         (relative_time_table): Use tORDINAL for ordinals.
82875
82876 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
82877
82878         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
82879         Document that "second" isn't allowed as an ordinal number.
82880
82881 2004-11-16  Jim Meyering  <jim@meyering.net>
82882
82883         * modules/closeout (Depends-on): Add fpending.
82884
82885 2004-11-15  Jim Meyering  <jim@meyering.net>
82886
82887         * lib/closeout.c: Include "__fpending.h" once again.
82888         Include <stdbool.h>.
82889         (close_stdout): Don't fail just because stdout was closed initially,
82890         since some programs don't write to stdout in the normal course of
82891         operation (other than --version and --help), and we don't want this
82892         function to make e.g. `touch file >&-' fail.
82893         But do fail if it was closed and someone has tried to write to it.
82894         E.g., `printf foo >&-' must fail.
82895
82896 2004-11-13  Jim Meyering  <jim@meyering.net>
82897
82898         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
82899
82900 2004-11-12  Simon Josefsson  <jas@extundo.com>
82901
82902         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
82903         small doc fix is still pending.
82904
82905 2004-11-11  Simon Josefsson  <jas@extundo.com>
82906
82907         * modules/strtok_r: New file.
82908
82909         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82910         strtok_r.
82911
82912 2004-11-11  Simon Josefsson  <jas@extundo.com>
82913
82914         * m4/strtok_r.m4: New file.
82915
82916         * m4/getopt.m4: Replace opterr.
82917
82918 2004-11-11  Simon Josefsson  <jas@extundo.com>
82919
82920         * lib/strtok_r.h, strtok_r.c: New file.
82921
82922 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
82923
82924         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
82925         of replacing opterr, getopt, etc.  This should handle the
82926         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
82927
82928 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
82929
82930         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
82931         we can stop lying to compilers about the constness of argv when we
82932         are compiled outside glibc.
82933         (getopt, getopt_long, getopt_long_only): Use it.
82934         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
82935         _getopt_internal, getopt): Likewise.
82936         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
82937         _getopt_long_only_r): Likewise.
82938         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
82939         _getopt_long_r, _getopt_long_only_r): Likewise.
82940
82941         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
82942         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
82943         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
82944         the other external symbols.
82945         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
82946         declaration, since the above renaming now works around collisions.
82947
82948 2004-11-11  Jim Meyering  <jim@meyering.net>
82949
82950         * lib/linebreak.c: Remove trailing blanks.
82951         * lib/alloca_.h: Likewise.
82952         * lib/acosl.c: Likewise.
82953         * lib/euidaccess.c: Likewise.
82954         * lib/allocsa.h: Likewise.
82955
82956 2004-11-10  Simon Josefsson  <jas@extundo.com>
82957
82958         * m4/getaddrinfo.m4: New file.
82959
82960 2004-11-10  Simon Josefsson  <jas@extundo.com>
82961
82962         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
82963
82964 2004-11-10  Simon Josefsson  <jas@extundo.com>
82965
82966         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
82967         getaddrinfo.
82968
82969         * modules/getaddrinfo: New file.
82970
82971 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82972
82973         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
82974
82975 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
82976
82977         * lib/mktime.c (SHR): New macro, which is a portable
82978         substitute for >> that should work even on Crays.
82979         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
82980         Problem reported by Mark D. Baushke in
82981         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
82982         * lib/getdate.y (SHR): Likewise.
82983         (tm_diff): Use it.
82984         * lib/strftime.c (SHR): Likewise.
82985         (tm_diff): Use it.
82986         * lib/quotearg.c (struct quoting_options): Use unsigned int for
82987         quote_these_too, so that right shifts are well defined.  All uses
82988         changed.
82989
82990 2004-11-10  Jim Meyering  <jim@meyering.net>
82991
82992         Ensure that no close failure goes unreported.
82993         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
82994         return early when it seems there's nothing to flush.
82995         Don't include __fpending.h.
82996
82997 2004-11-10  Jim Meyering  <jim@meyering.net>
82998
82999         * modules/closeout (Depends-on): Remove fpending.
83000
83001 2004-11-10  Jim Meyering  <jim@meyering.net>
83002
83003         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
83004
83005 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83006
83007         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
83008         gl_FUNC_STRFTIME.
83009         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
83010         and AC_REQUIRE when possible, to avoid duplicate checks.
83011         Check for <wchar.h>.
83012
83013 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
83014
83015         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
83016
83017 2004-11-09  Bruno Haible  <bruno@clisp.org>
83018
83019         * m4/sockpfaf.m4: New file.
83020
83021 2004-11-05  Bruno Haible  <bruno@clisp.org>
83022
83023         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
83024         Reported by Mark D. Baushke <mdb@cvshome.org>.
83025
83026 2004-11-04  Bruno Haible  <bruno@clisp.org>
83027
83028         2004-09-11  Bruno Haible  <bruno@clisp.org>
83029                 * allocsa.valgrind: New file.
83030         2004-02-06  Bruno Haible  <bruno@clisp.org>
83031                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
83032                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
83033                 Reported by Christopher Seip <chris.seip@hp.com>.
83034
83035 2004-11-04  Bruno Haible  <bruno@clisp.org>
83036
83037         * modules/allocsa (Files): Add lib/allocsa.valgrind.
83038         (Makefile.am): Distribute it.
83039
83040 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
83041
83042         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
83043         with errno == ERANGE if the buffer is too small.
83044         Problem reported by Mark D. Baushke.
83045
83046 2004-11-03  Albert Chin  <china@thewrittenword.com>
83047             Paul Eggert  <eggert@cs.ucla.edu>
83048
83049         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
83050         equivalent, substitute $ac_type for equivalent type rather than
83051         blindly using uint32_t *always* which won't work if uint32_t is not
83052         available.  Define _UINT32_T to work around typedef of uint32_t if
83053         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
83054         2.5.1.
83055
83056 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83057
83058         * m4/jm-macros.m4: Sync from coreutils.
83059         (gl_MACROS): Check for mbrlen, for pathchk.
83060         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
83061
83062 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83063
83064         * lib/xreadlink.c (MAXSIZE): New macro.
83065         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
83066         size does not exceed MAXSIZE.  Avoid cast.
83067         As suggested by Mark D. Baushke in
83068         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
83069         if readlink fails with buffer size just under MAXSIZE, try again
83070         with MAXSIZE.
83071
83072 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
83073
83074         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
83075
83076 2004-11-02  Derek R. Price  <derek@ximbiot.com>
83077         and  Paul Eggert  <eggert@cs.ucla.edu>
83078
83079         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
83080         (get_date): Overparenthesize to avoid GCC warning.
83081
83082 2004-11-02  Bruno Haible  <bruno@clisp.org>
83083
83084         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
83085         returns void.
83086
83087 2004-11-02  Bruno Haible  <bruno@clisp.org>
83088
83089         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
83090         function returns void.
83091
83092 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83093
83094         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
83095         fflush_unlocked, flockfile, funlockfile, funlockfile,
83096         fputs_unlocked, putc_unlocked.
83097
83098 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
83099
83100         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83101         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
83102         already declared.
83103
83104 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83105
83106         * modules/getdate (Files): Add doc/getdate.texi.
83107         (Depends-on): Add setenv, xalloc.
83108
83109 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83110
83111         * lib/getdate.y: Add support for TZ="foo" within a date string.
83112         Fix some bugs near time_t boundaries.  Reject dates with
83113         out-of-range components, e.g., "Sept 31".
83114         Include <stdlib.h>, "setenv.h", "xalloc.h".
83115         (ISDIGIT_LOCALE): Remove; unused.
83116         Note that the TZ and time functions used here are not reentrant.
83117         (mktime_ok, get_tz): New functions.
83118         (TZBUFSIZE): New constant.
83119         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
83120         This requires that we sometimes generate our own TZ="XXX..." setting.
83121
83122 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83123
83124         * doc/getdate.texi: New file, from coreutils with modifications for
83125         the new TZ parsing.
83126
83127 2004-10-27  Derek R. Price  <derek@ximbiot.com>
83128
83129         * lib/mktime.c (not_equal_tm): Remove redundant check.
83130
83131 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83132
83133         * modules/regex (lib_SOURCES): Add regex.c.
83134         Reported by James Youngman in
83135         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
83136
83137 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
83138
83139         * lib/getdate.y: Use Bison 1.875 features, and some minor
83140         code cleanups.  This change does not affect semantics.
83141         Don't include <stdlib.h>; no longer needed.
83142         Don't include unlocked-io.h; only the "#if TEST" code uses
83143         stdio, and performance isn't crucial there.
83144         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
83145         Bison 1.875 features as described below.
83146         All uses of "PC." replaced by "pc->".
83147         (YYSTYPE): Add a forward declaration.
83148         (yylex, yyerror): Use full prototypes in forward decls.
83149         Use "%pure-parser" rather than obsolescent "%pure_parser".
83150         Use %parse-param and %lex-param instead of obsolescent
83151         YYPARSE_PARAM and YYLEX_PARAM.
83152         (meridian_table, month_and_day_table, time_units_table,
83153         relative_time_table, time_zone_table, military_table,
83154         lookup_zone, lookup_word, get_date):
83155         Use NULL instead of 0 where appropriate.
83156         (to_hour): Avoid abort (), to avoid a dependency on
83157         stdlib.h.
83158         (yyerror, yylex): Now accepts parser_control * arg.
83159         (main) [TEST]: Use '\0' rather than 0 for char.
83160
83161 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83162
83163         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
83164
83165 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
83166
83167         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
83168         It's now the caller's responsibility to handle the case where
83169         !HAVE_GETPAGESIZE && !defined getpagesize.
83170
83171         * lib/mktime.c (leapyear): Arg is long int, not int.
83172
83173 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
83174
83175         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
83176
83177 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
83178
83179         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
83180         missing.  Problem reported by James Youngman.
83181
83182 2004-10-16  Simon Josefsson  <jas@extundo.com>
83183
83184         * gnulib-tool: Fix comments.  Fix parse problem.
83185         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
83186
83187 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
83188
83189         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
83190         implementation of getopt_long.  Problem reported by Alexander Taler in:
83191         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
83192
83193 2004-10-15  Bruno Haible  <bruno@clisp.org>
83194
83195         * gnulib-tool: Untabify. Initialize supplied_libname.
83196         (func_usage): More homogenous output.
83197         (func_modules_transitive_closure, func_modules_to_filelist,
83198         func_emit_lib_Makefile_am): New functions.
83199         (func_import): New function, extracted from big case statement. Use
83200         func_get_license, func_modules_transitive_closure,
83201         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
83202         opt_lgpl. Don't use test -a, as it's not portable.
83203         (func_create_testdir): Use func_modules_transitive_closure,
83204         func_modules_to_filelist, func_emit_lib_Makefile_am.
83205
83206 2004-10-15  Bruno Haible  <bruno@clisp.org>
83207
83208         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
83209
83210 2004-10-15  Bruno Haible  <bruno@clisp.org>
83211
83212         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
83213         the portions belonging to each module.
83214         Suggested by Derek Robert Price <derek@ximbiot.com>.
83215
83216 2004-10-12  Simon Josefsson  <jas@extundo.com>
83217
83218         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
83219         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
83220         to real functions.
83221
83222 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83223
83224         * modules/vsnprintf: New file.
83225
83226 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83227
83228         * m4/vsnprintf.m4: New file.
83229
83230 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83231
83232         * lib/vsnprintf.h: New file.
83233         * lib/vsnprintf.c: New file.
83234
83235 2004-10-11  Bruno Haible  <bruno@clisp.org>
83236
83237         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
83238         vsnprintf.
83239
83240 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83241
83242         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
83243
83244 2004-10-07  Bruno Haible  <bruno@clisp.org>
83245
83246         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
83247         fits into the provided buffer.
83248
83249 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
83250
83251         * lib/diacrit.c, diacrit.h: Add GPL notice.
83252
83253         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
83254         notice.
83255         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
83256         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
83257         This avoids a potential constant-folding bug.
83258
83259 2004-10-05  Bruno Haible  <bruno@clisp.org>
83260
83261         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
83262         for the declaration of strsep.
83263
83264 2004-10-05  Bruno Haible  <bruno@clisp.org>
83265
83266         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
83267
83268 2004-10-04  Simon Josefsson  <jas@extundo.com>
83269
83270         * modules/memmem: New file.
83271         * tests/test-memmem.c: New file.
83272         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
83273
83274 2004-10-04  Simon Josefsson  <jas@extundo.com>
83275
83276         * m4/memmem.m4: New file.
83277
83278 2004-10-04  Simon Josefsson  <jas@extundo.com>
83279
83280         * lib/memmem.h: New file.
83281         * lib/memmem.c: New file, taken from glibc.
83282
83283 2004-10-04  Simon Josefsson  <jas@extundo.com>
83284
83285         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
83286         '#ifdef USE_UNLOCKED_IO'.
83287
83288 2004-10-04  Simon Josefsson  <jas@extundo.com>
83289
83290         * config/srclist.txt: Add memmem from glibc.
83291
83292 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83293
83294         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
83295
83296         * modules/argmatch, modules/argp, modules/closeout, modules/error,
83297         modules/exclude, modules/getdate, modules/getline,
83298         modules/getndelim2, modules/getpass, modules/getpass-gnu,
83299         modules/getusershell, modules/linebuffer, modules/md5,
83300         modules/mountlist, modules/posixtm, modules/readtokens,
83301         modules/readutmp, modules/regex, modules/sha1,
83302         modules/version-etc, modules/yesno:
83303         Remove dependency on unlocked-io.
83304
83305 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83306
83307         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
83308
83309         * m4/unlocked-io.m4: Add copyright notice.
83310         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
83311
83312 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83313
83314         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
83315         * lib/xmalloc.c (xmemdup): Likewise.
83316         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
83317         XFREE): Remove these long-obsolescent macros.
83318         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
83319         * lib/xstrdup.c: Remove.
83320
83321         * lib/regex.c (re_comp): Cast gettext return value to char *,
83322         Problem reported by Martin Neitzel via Mark D. Baushke.
83323
83324 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
83325
83326         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
83327         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
83328         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
83329         regex.c, sha1.c, version-etc.c, yesno.c:
83330         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
83331         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
83332         the includer's responsibility.
83333
83334         Sync from coreutils.
83335
83336         * lib/modechange.c (mode_compile): Don't decrement a pointer that
83337         points to the start of a string, as the C Standard says the
83338         resulting behavior is undefined.
83339
83340         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
83341         simple -> simple_backups, numbered_existing ->
83342         numbered_existing_backups, numbered -> numbered_backups
83343         to avoid shadowing problems.  All uses changed.
83344         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
83345         * lib/backupfile.c (check_extension, numbered_backup):
83346         Rename locals to avoid shadowing 'basename'.
83347         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
83348         once.
83349
83350         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
83351         * lib/.cvsignore: Add getopt.h.
83352
83353 2004-10-04  Bruno Haible  <bruno@clisp.org>
83354
83355         * modules/README: New file.
83356         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
83357         not a module.
83358
83359 2004-10-02  Jim Meyering  <jim@meyering.net>
83360
83361         * lib/dirfd.h, getpagesize.h: Add copyright notice.
83362
83363 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83364
83365         * modules/strsep: New file.
83366
83367 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83368
83369         * m4/strsep.m4: New file.
83370
83371 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
83372
83373         * lib/strsep.h: New file.
83374         * lib/strsep.c: New file.
83375
83376 2004-10-01  Simon Josefsson  <jas@extundo.com>
83377
83378         * lib/snprintf.c (snprintf): Handle size==0.
83379
83380 2004-10-01  Simon Josefsson  <jas@extundo.com>
83381             Bruno Haible  <bruno@clisp.org>
83382
83383         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
83384         (snprintf): Declare 'args'.
83385
83386 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
83387
83388         * lib/snprintf.c: Remove comments as to why each header is needed.
83389
83390 2004-10-01  Bruno Haible  <bruno@clisp.org>
83391
83392         * MODULES.html.sh: Add strsep.
83393
83394 2004-09-30  Simon Josefsson  <jas@extundo.com>
83395
83396         * modules/snprintf: New file.
83397
83398 2004-09-30  Simon Josefsson  <jas@extundo.com>
83399
83400         * m4/snprintf.m4: New file.
83401
83402 2004-09-30  Simon Josefsson  <jas@extundo.com>
83403
83404         * lib/snprintf.h, lib/snprintf.c: New files.
83405
83406 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
83407
83408         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
83409         (hol_entry_help): Never translate an empty string.
83410         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
83411         * lib/argp.h (OPTION_NO_TRANS): New option.
83412
83413 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83414
83415         * modules/argp (Maintainer): Replace Simon Josefsson
83416         by Sergey Poznyakoff.
83417
83418 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83419
83420         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
83421         changes merged back into glibc.
83422
83423 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
83424
83425         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
83426
83427 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
83428
83429         * lib/xvasprintf.c: Include xalloc.h.
83430         (xvasprintf): Use xalloc_die, not xmalloc_die.
83431
83432 2004-09-29  Bruno Haible  <bruno@clisp.org>
83433
83434         * modules/alloca-opt: New file, derived from modules/alloca.
83435         * modules/allocsa: Depend on alloca-opt instead of alloca.
83436         * modules/setenv: Likewise.
83437         * modules/vasnprintf: Likewise.
83438         * MODULES.html.sh: Add alloca-opt.
83439
83440 2004-09-28  Simon Josefsson  <jas@extundo.com>
83441
83442         * gnulib-tool: New parameter --lgpl, to asseert that modules are
83443         LGPL, and to replace license template from GPL to LGPL.
83444
83445 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83446
83447         * modules/dummy: Change license to LGPL.
83448
83449 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
83450
83451         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
83452
83453 2004-09-24  Simon Josefsson  <jas@extundo.com>
83454
83455         * modules/minmax (License): Change from GPL to LGPL.
83456
83457 2004-09-23  Simon Josefsson  <jas@extundo.com>
83458
83459         * gnulib-tool (--import): Typo.
83460
83461 2004-09-23  Simon Josefsson  <jas@extundo.com>
83462
83463         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
83464
83465 2004-09-22  Bruno Haible  <bruno@clisp.org>
83466
83467         * modules/*: Add 'License' field.
83468         * gnulib-tool: Accept --extract-license option.
83469         (func_get_license): New function.
83470
83471 2004-09-21  Bruno Haible  <bruno@clisp.org>
83472
83473         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
83474         Reported by Simon Josefsson.
83475
83476 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83477
83478         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
83479         gl_AC_TYPE_LONG_LONG.
83480
83481 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
83482
83483         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
83484
83485 2004-09-18  Simon Josefsson  <jas@extundo.com>
83486         and  Paul Eggert  <eggert@cs.ucla.edu>
83487
83488         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
83489         calls with autoreconf.  Define GL_LIB.
83490
83491 2004-09-14  Karl Berry  <karl@gnu.org>
83492
83493         * config/srclist.txt: unsync setenv.c, sigh.
83494
83495 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83496
83497         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
83498         Problem reported by Bruno Haible in:
83499         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
83500
83501 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
83502
83503         * config/srclist.txt: Comment out argp-pvh.c.
83504
83505 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
83506
83507         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
83508         in case some system header has #define'd it.  Problem reported by
83509         Soeren D. Schulze in
83510         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
83511
83512 2004-09-09  Karl Berry  <karl@gnu.org>
83513
83514         * regex.[ch]: delete from the root.  These were supposed to be
83515                 synced with emacs cvs, but this has not happened for about
83516                 a year, and anyway nothing else uses emacs regex.[ch].
83517                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
83518                 lib/regex[.ch] is untouched.
83519
83520 2004-09-09  Bruno Haible  <bruno@clisp.org>
83521
83522         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
83523
83524 2004-09-09  Bruno Haible  <bruno@clisp.org>
83525
83526         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
83527         modifications.
83528         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
83529
83530 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83531
83532         * modules/xvasprintf: New file.
83533         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
83534
83535 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
83536
83537         * lib/xvasprintf.h: New file.
83538         * lib/xvasprintf.c: New file.
83539         * lib/xasprintf.c: New file.
83540
83541 2004-09-08  Bruno Haible  <bruno@clisp.org>
83542
83543         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
83544
83545 2004-09-08  Bruno Haible  <bruno@clisp.org>
83546
83547         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
83548         length is > INT_MAX.
83549         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
83550         more.
83551
83552 2004-09-08  Bruno Haible  <bruno@clisp.org>
83553
83554         * lib/stdint_.h: New file, taken from GNU clisp.
83555
83556 2004-09-08  Bruno Haible  <bruno@clisp.org>
83557             Oskar Liljeblad  <oskar@osk.mine.nu>
83558
83559         * modules/stdint: New file.
83560         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
83561
83562 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83563
83564         Import from coreutils.
83565         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
83566         strings on unbounded length.  alloca's performance benefits aren't
83567         that important here.
83568         (V_STRDUP): Remove.
83569         (parse_with_separator): New function, with most of the internals
83570         of the old parse_user_spec.  Allow user to omit both user and group,
83571         for compatibility with FreeBSD.
83572         Clone only the user name, not the entire spec.
83573         Do not set *uid, *gid unless entirely successful.
83574         Avoid memory leak in some failing cases.
83575         Fix regression for USER.GROUP reported by Dmitry V. Levin in
83576         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
83577         (parse_user_spec): Rewrite to use parse_with_separator.
83578
83579 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83580
83581         * modules/userspec: Don't depend on alloca.
83582
83583 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
83584
83585         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
83586
83587 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
83588
83589         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
83590         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
83591         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
83592
83593 2004-08-16  Simon Josefsson  <jas@extundo.com>
83594
83595         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
83596         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
83597         Add --dry-run for --import.
83598         Let user provided command line parameters override configure.ac
83599         settings.
83600
83601 2004-08-12  Simon Josefsson  <jas@extundo.com>
83602
83603         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
83604         as discussed with Paul Eggert in threads rooted at
83605         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
83606         and
83607         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
83608         Before, the test was empty, and relied on ELIDE_CODE in source
83609         code.)
83610         (gl_PREREQ_GETOPT): New macro.
83611         (gl_GETOPT): Use them.
83612
83613 2004-08-12  Simon Josefsson  <jas@extundo.com>
83614
83615         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
83616         * lib/getopt_.h: Renamed from getopt.h.
83617
83618 2004-08-12  Simon Josefsson  <jas@extundo.com>
83619
83620         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
83621         Change default library name from libfoo to libgnu.
83622         Now, if you have a configure.ac that says:
83623                 gl_SOURCE_BASE(gl)
83624                 gl_M4_BASE(gl/m4)
83625                 gl_MODULES(error getopt etcetera)
83626                 gl_INIT
83627         you can import all you need by running:
83628                 ../gnulib/gnulib-tool --import
83629
83630         * modules/getopt (Files): Rename getopt.h to getopt_.h.
83631         (Makefile.am): Rewrite, use logic from argz.
83632         (Include): Use <getopt.h> instead of "getopt.h".
83633
83634 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83635
83636         * modules/argp (Files): Add m4/unlocked-io.m4.
83637         (Depends-on): Add extensions.
83638
83639 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83640
83641         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
83642         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
83643         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
83644         Check for program_invocation_name, program_invocation_short_name,
83645         flockfile, funlockfile, features.h, _getopt_long_only_r.
83646
83647 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83648
83649         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
83650         its complicated substitute.
83651         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
83652         and program_invocation_name.
83653         (__argp_basename) [!_LIBC]: Remove; the only use was
83654         replaced by its body.
83655         (__argp_short_program_name): Change condition from
83656         !defined __argp_short_program_name to
83657         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
83658         to match argp-namefrob.h.
83659         (__argp_failure): Don't assume strerror_r returns char *.
83660         * lib/argp-parse.c (N_): Define unconditionally.
83661         (argp_default_options): Fill out initializers with 0 to avoid
83662         gcc warnings.
83663
83664 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
83665
83666         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
83667         getopt1.c.
83668
83669 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83670
83671         Merge from coreutils.
83672
83673         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
83674
83675         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
83676         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
83677
83678 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83679
83680         Merge from coreutils.
83681
83682         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
83683         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
83684         for Reliant Unix 5.43.
83685
83686         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
83687         (union fooround): Use uintmax_t, not long int.
83688         The rest is a merge from libc:
83689         [defined _LIBC]: Include <shlib-compat.h>.
83690         (_obstack) [defined _LIBC]: Remove after 2.3.4.
83691
83692         * lib/settime.c (settime): Recode to avoid warning with
83693         Sun Forte C 6U2.
83694
83695         * lib/strverscmp.c: Convert to UTF-8.
83696
83697 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
83698
83699         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
83700         m4/uintmax_t.m4.
83701
83702 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83703
83704         * modules/xalloc-die: New file.
83705         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
83706
83707         * modules/md5 (Files): Add m4/uint32_t.m4.
83708         * modules/sha1: Renamed from modules/sha.
83709         (Files):
83710         Rename lib/sha.h to lib/sha1.h.
83711         Rename lib/sha.c to lib/sha1.c.
83712         Rename m4/sha.m4 to m4/sha1.m4.
83713         (lib_SOURCES): Likewise.
83714         (configure.ac): Rename gl_SHA to gl_SHA1.
83715         (Include): sha.h -> sha1.h.
83716
83717 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83718
83719         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
83720         * m4/sha1.m4: Renamed from sha.m4.
83721         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
83722
83723 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
83724
83725         * lib/obstack.h (obstack_empty_p):
83726         Don't assume that chunk->contents is suitably aligned.
83727         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
83728         Likewise. Problem reported by Benno in
83729         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
83730
83731         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
83732         readable.  This could be improved further but it'd take some work.
83733
83734 2004-08-08  Simon Josefsson  <jas@extundo.com>
83735
83736         * modules/xgethostname (Depends-on): Remove exit and error (not
83737         used).
83738
83739         * modules/getpass-gnu: Add getpass.h.
83740         (Depends-on): Add stdbool.
83741         * modules/getpass: Add getpass.h.
83742
83743 2004-08-08  Simon Josefsson  <jas@extundo.com>
83744
83745         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
83746         Check getpass declaration.
83747
83748 2004-08-08  Simon Josefsson  <jas@extundo.com>
83749
83750         * lib/xgethostname.c: Don't include error.h (not used).
83751
83752         * lib/getpass.h: Add.
83753         * lib/getpass.c: Include getpass.h first.
83754
83755 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
83756
83757         * lib/xalloc-die.c: New file.
83758         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
83759         All uses removed.
83760         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
83761         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
83762         xalloc-die.c.
83763         (_, N_, xalloc_die): Move to xalloc-die.c.
83764         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
83765         so that we needn't mess with xalloc_msg_memory_exhausted.
83766
83767         * lib/sha1.h: Renamed from sha.h.
83768         (SHA1_H): Renamed from _SHA_H.
83769         (sha1_ctx): Renamed from sha_ctx.
83770         (sha1_init_ctx): Renamed from sha_init_ctx.
83771         (sha1_process_block): Renamed from sha_process_block.
83772         (sha1_process_bytes): Renamed from sha_process_bytes.
83773         (sha1_finish_ctx): Renamed from sha_finish_ctx.
83774         (sha1_read_ctx): Renamed from sha_read_ctx.
83775         (sha1_stream): Renamed from sha_stream.
83776         (sha1_buffer): Renamed from sha_buffer.
83777         * lib/sha1.c: Likewise; renamed from sha.c.
83778         Do not include <sys/types.h>.
83779         Include <stddef.h> rather than <stdlib.h>.
83780
83781 2004-08-08  Bruno Haible  <bruno@clisp.org>
83782
83783         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
83784         FILESYSTEM_PREFIX_LEN.
83785         * lib/progreloc.c: Likewise.
83786         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
83787
83788 2004-08-06  Simon Josefsson  <jas@extundo.com>
83789
83790         * modules/progname (Depends-on): Don't depend on stdbool.
83791
83792 2004-08-06  Simon Josefsson  <jas@extundo.com>
83793
83794         * modules/getsubopt: New file.
83795         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
83796         getsubopt.
83797
83798 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83799
83800         More merge from coreutils.
83801
83802         * m4/utimens.m4, m4/utimecmp.m4: New files.
83803         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
83804         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
83805         prereq.m4, sha.m4: Import changes from coreutils.
83806
83807 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83808
83809         More merge from coreutils.
83810         * modules/raise, modules/readtokens0, modules/utimens:
83811         * modules/utimecmp, module/xnanosleep: New files.
83812         * modules/strftime: Add lib/strftime.h.
83813         Change include from <time.h> to "strftime.h".
83814         * modules/yesno: Add lib/yesno.h.
83815         * modules/backupfile: Remove lib/addext.c.
83816         * modules/euidaccess: Add stat-macros.h.
83817         * modules/canonicalize, modules/euidaccess,
83818         modules/filemode, modules/lchown, modules/makepath,
83819         modules/rmdir, modules/stat: Likewise.
83820
83821 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
83822
83823         Merge from tar.
83824         * lib/argp-help.c (make_hol, hol_append): Don't assume that
83825         SIZE_MAX is a valid preprocessor constant.
83826         (__argp_basename): Change from "#ifndef _LIBC"
83827         to "#ifndef __argp_short_program_name", so that
83828         we don't compile these functions for tar.
83829
83830         More merges from coreutils.
83831         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
83832         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
83833         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
83834         * lib/addext.c: Remove; no longer needed.
83835         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
83836         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
83837         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
83838         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
83839         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
83840         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
83841         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
83842         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
83843         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
83844         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
83845         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
83846         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
83847         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
83848         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
83849         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
83850         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
83851         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
83852         Import changes from coreutils.
83853
83854 2004-08-05  Simon Josefsson  <jas@extundo.com>
83855
83856         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
83857
83858 2004-08-05  Simon Josefsson  <jas@extundo.com>
83859
83860         * m4/getsubopt.m4: New file.
83861
83862 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83863
83864         Merge from coreutils.
83865
83866         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
83867         * m4/getcwd-path-max.m4: New files.
83868
83869         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
83870         FILESYSTEM_PREFIX_LEN ->
83871         FILE_SYSTEM_PREFIX_LEN.
83872         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
83873         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
83874         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
83875         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
83876
83877         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
83878         prerequisite modules now handle the DOS stuff.
83879         Don't check for unistd.h.
83880
83881 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83882
83883         Merge from coreutils.
83884
83885         * lib/.gdb-history: Remove; this doesn't belong here.
83886
83887         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
83888         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
83889         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
83890         * lib/getcwd.c: New files.
83891
83892         * lib/dirname.h: Include <stdbool.h>.
83893         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
83894         for consistency with POSIX terminology.  All uses changed.
83895         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
83896         (strip_trailing_slashes): Use bool for booleans.
83897         * lib/stripslash.c (strip_trailing_slashes): Likewise.
83898
83899         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
83900         sometimes returns a positive errno value even when it succeeds.
83901         (print_errno_message) [!LIBC]: Fall back on strerror if
83902         __strerror_r fails.
83903
83904         * lib/path-concat.c (mempcpy): Don't define if a system header defines
83905         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
83906         (longest_relative_suffix): New function.
83907         (path_concat): Use it.  Assume first argument is not NULL.
83908         Port to DOS.  Omit redundant separators.
83909         Report an error instead of returning NULL.
83910         Use mempcpy instead of memcpy.
83911         (xpath_concat): Remove: not declared or used.
83912
83913         * lib/same.h: Include <stdbool.h>
83914         (same_name): Return bool, not int.
83915         * lib/same.c (same_name): Likewise.
83916         (errno): Don't declare; we assume C89 or better now.
83917
83918         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
83919         if not already defined.
83920
83921         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
83922         * lib/dup-safer.c (errno): Likewise.
83923
83924 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
83925
83926         Merge from coreutils.
83927         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
83928         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
83929         * modules/path-concat: Don't depend on strdup.
83930
83931 2004-08-03  Simon Josefsson  <jas@extundo.com>
83932
83933         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
83934         * lib/progname.h: Don't include stdbool.h.
83935
83936 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83937
83938         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
83939         * MODULES.html.sh (func_all_modules): Remove fatal.
83940
83941 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83942
83943         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
83944
83945 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
83946
83947         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
83948         working.
83949
83950 2004-08-02  Simon Josefsson  <jas@extundo.com>
83951
83952         * lib/getsubopt.h: New file, with comments from Bruno Haible.
83953         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
83954         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
83955
83956 2004-08-01  Simon Josefsson  <jas@extundo.com>
83957
83958         * lib/xgetdomainname.c: Include stdlib.h, for free().
83959
83960 2004-07-19  Bruno Haible  <bruno@clisp.org>
83961
83962         * MODULES.html.sh (func_all_modules): Add dummy.
83963
83964 2004-07-16  Simon Josefsson  <jas@extundo.com>
83965
83966         * modules/dummy: New file.
83967
83968 2004-07-16  Simon Josefsson  <jas@extundo.com>
83969
83970         * lib/dummy.c: New file.
83971
83972 2004-07-16  Bruno Haible  <bruno@clisp.org>
83973
83974         * lib/backupfile.h: Add extern "C" for C++.
83975         * lib/closeout.h: Likewise.
83976         * lib/copy-file.h: Likewise.
83977         * lib/findprog.h: Likewise.
83978         * lib/full-write.h: Likewise.
83979         * lib/pathname.h: Likewise.
83980         * lib/progname.h: Likewise.
83981         * lib/stpcpy.h: Likewise.
83982         * lib/stpncpy.h: Likewise.
83983         * lib/strcase.h: Likewise.
83984         * lib/strstr.h: Likewise.
83985         * lib/xalloc.h: Likewise.
83986
83987         * lib/mbswidth.h: Add extern "C" for C++.
83988         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
83989
83990 2004-07-13  Robert Millan  <robertmh@gnu.org>
83991
83992         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
83993
83994 2004-07-09  Simon Josefsson  <jas@extundo.com>
83995
83996         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
83997         failed without this.)
83998
83999 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84000
84001         * modules/chown (Files): Add lib/fchown-stub.c, since
84002         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
84003
84004 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
84005
84006         * lib/fchown-stub.c: New file.
84007
84008 2004-06-24  Jim Meyering  <jim@meyering.net>
84009
84010         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
84011
84012 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84013
84014         * modules/argz: Omit "#include".
84015
84016         * MODULES.html.sh (func_all_modules): Add calloc, to match
84017         2004-06-01 addition of calloc module.
84018
84019 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84020
84021         * m4/argz.m4: New file, which is autoupdated from libtool.
84022
84023 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84024
84025         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
84026         libtool.
84027
84028 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
84029
84030         * config/srclist-update: Don't insist on "USA." before the
84031         close-comment, as libtool omits the period and puts the */ on a
84032         separate line.
84033         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
84034         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
84035
84036 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
84037
84038         * modules/argz: New file.
84039         * MODULES.html.sh (func_all_modules): Add argz.
84040
84041 2004-06-12  Jim Meyering  <jim@meyering.net>
84042         and  Paul Eggert  <eggert@cs.ucla.edu>
84043
84044         * modules/hash (Files): Add lib/xalloc.h.
84045         * modules/pipe (Depends-on): Add wait-process.
84046         * modules/stat (Depends-on): Add xalloc.
84047         * modules/userspec (Files): Add lib/userspec.h.
84048         * modules/xstrto
84049
84050         Upgrade from gettext-0.13.
84051         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
84052         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
84053         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
84054
84055 2004-06-10  Jim Meyering  <jim@meyering.net>
84056
84057         * lib/calloc.c: New file.
84058
84059 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
84060
84061         * lib/getdate.y (yylex): Allow space between sign and number.
84062         Problem reported by Dan Jacobson.
84063
84064 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84065
84066         Merge from coreutils CVS.
84067
84068         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
84069         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
84070         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
84071         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
84072         xstrtol.m4: Fix copyright date and/or serial number.
84073
84074         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
84075         See if we need an fchown replacement.
84076         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
84077         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
84078         and use the replacement function if we detect either defect.
84079
84080         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
84081         gl_UTIMECMP.
84082
84083 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
84084         and  Jim Meyering  <jim@meyering.net>
84085
84086         Merge from coreutils CVS.
84087
84088         * lib/stat-macros.h: New file, with contents from file-type.h
84089         and coreutils' system.h.
84090         * lib/file-type.c: Include "stat-macros.h".
84091         * lib/file-type.h (file_type): Move all macro definitions to new file,
84092         stat-macros.h.
84093
84094         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
84095         Wrap old code with this conditional.
84096         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
84097         function that does not dereference symlinks.
84098         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
84099
84100         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
84101         dependency problems.
84102         (xreadlink): Accept new arg SIZE, for efficiency.
84103         All decls and uses changed.
84104         * lib/xreadlink.h: Include <stddef.h>, for size_t.
84105
84106         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
84107         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
84108
84109         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
84110         sysexits.h.
84111
84112 2004-06-01  Jim Meyering  <jim@meyering.net>
84113
84114         * m4/calloc.m4: New file.
84115
84116 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
84117
84118         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
84119         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
84120         Also, fix a typo in a diagnostic.
84121
84122 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84123
84124         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
84125         or AC_FUNC_REALLOC.
84126
84127 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
84128
84129         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
84130         macros to be defined.
84131         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
84132         the allocator returns NULL because the requested size is zero.
84133
84134 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
84135
84136         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
84137         var.  Add comment explaining why libc still defines it.  This
84138         merges the following patch from glibc:
84139         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
84140
84141 2004-05-20  Andreas Schwab  <schwab@suse.de>
84142
84143         * m4/free.m4: Replace free if it not known to work, not the other
84144         way round.
84145
84146 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
84147
84148         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
84149         present in glibc since revision 1.1 of this file.
84150         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
84151         obstack_alignment_mask, obstack_alloc, obstack_base,
84152         obstack_blank, obstack_blank_fast, obstack_chunk_size,
84153         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
84154         obstack_grow0, obstack_init, obstack_int_grow,
84155         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
84156         obstack_next_free, obstack_object_size, obstack_ptr_grow,
84157         obstack_ptr_grow_fast, obstack_room): Remove declarations of
84158         nonexistent functions.
84159
84160 2004-05-18  Karl Berry  <karl@gnu.org>
84161
84162         * config/srclist.txt: break link for vasnprintf.c.
84163
84164 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84165
84166         Port obstack to the AS/400, where pointers are 16 bytes wide and
84167         you cannot cast an integer to a valid pointer.  This patch is
84168         currently waiting to be integrated into glibc; see
84169         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
84170
84171         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
84172         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
84173         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
84174         (struct obstack): temp member is now a union of a pointer and
84175         an integer, instead of an integer.  All integer uses changed.
84176         This does not affect the physical layout of struct obstack,
84177         except on hosts (like the AS/400) where the size or alignment of
84178         void * is greater than that of ptrdiff_t.
84179         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
84180         __STDC__)]: Store temporary in pointer member of union, not
84181         integer member.
84182         * lib/obstack.c: Include <stddef.h>, for offsetof.
84183         (struct fooalign): Remove; it doesn't need a name.
84184         (union fooround): Change double to long double, and add void *.
84185         (DEFAULT_ALIGNMENT): Use offsetof to compute.
84186         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
84187         not a macro.  Hence the values are always int; so remove all
84188         casts-to-int in uses.
84189
84190 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
84191
84192         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
84193         we can get this patch merged into glibc.
84194
84195 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84196             Paul Eggert  <eggert@cs.ucla.edu>
84197
84198         * m4/argp: Depend on alloca.
84199
84200 2004-05-17  Derek R. Price  <derek@ximbiot.com>
84201             Paul Eggert  <eggert@cs.ucla.edu>
84202
84203         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
84204         freecoding.
84205
84206 2004-05-17  Bruno Haible  <bruno@clisp.org>
84207
84208         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
84209         precision that consists of a '.' followed by an empty digit string.
84210         Patch by Tor Lillqvist <tml@iki.fi>.
84211
84212 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84213
84214         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
84215         for backward compatibility with older code.  We need our own
84216         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
84217         it under some other name, and our alloca.h will define it.
84218
84219 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
84220             Derek Price  <derek@ximbiot.com>
84221
84222         * lib/alloca.c: Include <alloca.h>, to get our interface.
84223         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
84224         include <alloca.h> first.  Use C89 prototype for alloca; this
84225         requires including <stddef.h> for size_t.  Use extern "C" if C++.
84226         Use #elif for simplicity, since we can assume C89 now.
84227         Don't try to source the system alloca.h since it will not be found
84228         and to prevent recursively including its replacement.
84229         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
84230         * lib/regex.c: Likewise.
84231
84232 2004-05-16  Derek Price  <derek@ximbiot.com>
84233             Paul Eggert  <eggert@cs.ucla.edu>
84234
84235         getline cleanup.  This changes the getndelim2 API: both order of
84236         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
84237         no delimiter).
84238
84239         * lib/getline.c: Don't include stddef.h or stdio.h, since our
84240         interface does that.
84241         (getline): Always use getdelim, so that we don't have two
84242         copies of this code.
84243         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
84244         if available.
84245         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
84246         (GETNDELIM2_MAXIMUM): New macro.
84247         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
84248         instead of the old practice of delim2==0.  All callers changed.
84249         Return -1 on overflow, instead of returning junk.
84250         Do not set *linesize unless allocation succeeds.
84251         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
84252         that we include sys/types.h.
84253         * lib/getnline.h: Likewise.
84254         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
84255         (getndelim2): Reorder arguments.
84256         * lib/getnline.c (getnline, getndelim):
84257         Don't discard the NMAX argument.
84258         (getnline): Invoke getndelim, to avoid code duplication.
84259         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
84260         of (size_t) -1 by callers of the getnline family.
84261
84262 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84263
84264         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
84265         Check for gettimeofday.
84266         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
84267         Check for settimeofday, stime.
84268
84269 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
84270
84271         * lib/nanosleep.c (suspended): Change its type from int to
84272         sig_atomic_t volatile.
84273         (first_call): Make it private to rpl_nanosleep, and have it
84274         be zero initially as that's a bit faster.
84275         (my_usleep): Round up fractional times instead of truncating them,
84276         as this is the usual meaning for 'sleep'.
84277
84278         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
84279         doesn't work.
84280         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
84281         (ENOSYS): Define if not defined.
84282         (settime): Fall back on stime if it exists and settimeofday fails.
84283         But don't bother with fallbacks if a method fails with errno == EPERM.
84284
84285 2004-05-11  Jim Meyering  <jim@meyering.net>
84286
84287         Prior to this change, the save_cwd caller required read access to the
84288         current directory on most systems (ones with the fchdir function).
84289
84290         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
84291         fails, try write-only, and finally, resort to using xgetcwd.
84292
84293 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
84294
84295         * lib/obstack.c, obstack.h: Import changes from libc.
84296
84297 2004-04-28  Bruno Haible  <bruno@clisp.org>
84298
84299         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
84300         also implicitly appends .exe to executables.
84301         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
84302         accepts Windows pathnames.
84303         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84304         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84305         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
84306         Treat Cygwin like Windows, since it now accepts Windows pathnames.
84307         Reported by Derek Robert Price <derek@ximbiot.com>.
84308
84309 2004-04-21  Karl Berry  <karl@gnu.org>
84310
84311         * config/srclist.txt (localcharset.c): break sync.
84312
84313 2004-04-20  Paul Eggert  <eggert@twinsun.com>
84314
84315         * m4/host-os.m4: Add a copyright notice.
84316
84317 2004-04-20  Jim Meyering  <jim@meyering.net>
84318
84319         Change UTILS_ to gl_ in AC_DEFINE'd names.
84320         Change utils_- and jm_-prefixed variables, too.
84321         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
84322         UTILS_FUNC_MKDIR_TRAILING_SLASH.
84323         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
84324
84325         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
84326         Don't emit trailing blanks.
84327         Also rename jm_-prefixed variables to have gl_ prefix.
84328
84329         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
84330         Also rename jm_-prefixed variables to have gl_ prefix.
84331
84332         * m4/jm-macros.m4: Reflect the renamings.
84333         * m4/prereq.m4: Likewise.
84334
84335 2004-04-20  Jim Meyering  <jim@meyering.net>
84336
84337         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
84338         memory.
84339
84340 2004-04-20  Jim Meyering  <jim@meyering.net>
84341             Bruno Haible  <bruno@clisp.org>
84342
84343         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
84344         memory when realloc fails.
84345
84346 2004-04-19  Jim Meyering  <jim@meyering.net>
84347
84348         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
84349         now that readutmp.c may call `free (0)'.
84350
84351 2004-04-19  Bruno Haible  <bruno@clisp.org>
84352
84353         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
84354         * m4/inttypes_h.m4: Likewise.
84355         * m4/stdint_h.m4: Likewise.
84356         * m4/intmax_t.m4: Likewise.
84357         * m4/uintmax_t.m4: Likewise.
84358
84359 2004-04-18  Jim Meyering  <jim@meyering.net>
84360
84361         * m4/prereq.m4: Don't forbid jm_ prefix.
84362
84363         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
84364         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
84365         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
84366         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
84367         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
84368         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
84369         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
84370         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
84371         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
84372         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
84373         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
84374         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
84375         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
84376         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
84377         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
84378         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
84379         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
84380         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
84381         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
84382
84383 2004-04-18  Jim Meyering  <jim@meyering.net>
84384
84385         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
84386         failure, don't leak memory and do call END_UTMP_ENT.
84387
84388 2004-04-16  Jim Meyering  <jim@meyering.net>
84389
84390         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
84391         coreutils' stat program.
84392         (gl_PREREQ): Don't require jm_PREREQ_STAT.
84393
84394 2004-04-11  Paul Eggert  <eggert@twinsun.com>
84395
84396         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
84397         C89.
84398         (CHAR_BIT): Remove, since we assume C89.
84399         Include <stdint.h> if available, as per current Autoconf CVS advice.
84400
84401 2004-03-31  Jim Meyering  <jim@meyering.net>
84402
84403         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
84404         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
84405         * m4/xalloc.m4: Likewise.
84406
84407 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84408
84409         Merge from coreutils.
84410
84411         * m4/inttostr.m4: New file.
84412         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
84413         Require AM_STDBOOL_H and gl_TIMESPEC instead.
84414         Require gl_CLOCK_TIME.
84415         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
84416
84417 2004-03-30  Paul Eggert  <eggert@twinsun.com>
84418
84419         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
84420         not bool, to be more consistent with Unix conventions.
84421         Suggested by Bruno Haible.
84422
84423         Merge from coreutils.
84424
84425         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
84426         * lib/umaxtostr.c: New files.
84427
84428         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
84429         the usual <time.h> dance.
84430         (get_date): Change signature to support fractional time stamps.
84431         All callers changed.
84432         * lib/getdate.y: Include "getdate.h" first, as we can now
84433         assume C89 and don't need to worry about 'const'.
84434         Similarly, include "unlocked-io.h" near start, not in middle.
84435         Include <limits.h>.
84436         (textint.value): Use long int rather than int.
84437         (textint.digits): Use size_t rather than int.
84438         (BILLION, LOG10_BILLION): New constants.
84439         (parser_control): New member rel_ns.  Members day_ordinal,
84440         time_zone, month, day, hour, minutes, rel_year, rel_month,
84441         rel_day, rel_hour, rel_minutes, rel_seconds
84442         are now long int, not int.  Member seconds is now struct timespec,
84443         not int.  New member timespec_seen.  Members dates_seen, days_seen,
84444         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
84445         not int.
84446         (%union.intval): Now long int, not int.
84447         New member timespec.
84448         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
84449         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
84450         (spec): Now is a timespec or an item list.
84451         (timespec, items): New nonterminals.
84452         (time, rel, relunit, number, get_date):
84453         Add support for fractional seconds.
84454         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
84455         (gmtime, localtime, mktime): Remove decls; not needed with C89.
84456         (to_hour): First arg is now long int, not int.
84457         (to_year): Returns long int, not int.
84458         Don't treat year -70 like 70.
84459         (tm_diff): Returns long int, not int.
84460         (lookup_word): Use bool instead of int when appropriate.
84461         (yylex): Use size_t for count, not int.
84462         Detect overflow when parsing large integer constants.
84463         Add support for fractions.
84464         (get_date): Make pointers 'const' if possible.
84465         Use more-portable code to detect integer overflow.
84466         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
84467         Don't use ctime; it's not reliable if the year has >4 digits.
84468
84469         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
84470         This is for compatibility with BSD.
84471
84472         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
84473         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
84474         From coreutils' system.h.
84475
84476         * lib/userspec.c: Don't include "posixver.h".
84477         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
84478         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
84479         compatible extension.  Simplify code by removing a boolean int
84480         that was always nonzero if a string was nonnull.
84481
84482 2004-03-30  Jim Meyering  <jim@meyering.net>
84483
84484         Merge from coreutils.
84485
84486         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
84487         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
84488         on some systems one must include <grp.h> before it.
84489         Reported by Christian Krackowizer.
84490
84491 2004-03-30  Jim Meyering  <jim@meyering.net>
84492
84493         Merge from coreutils.
84494
84495         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
84496
84497         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
84498         an empty input stream.
84499
84500         * lib/readtokens.c: Include <stdbool.h>.
84501         (readtoken): Use `size_t' rather than int/long.
84502         All callers adjusted.
84503         Use `bool' rather than `int' where appropriate.
84504         Use memset rather than an explicit loop.
84505         Use x2nrealloc rather than xrealloc.
84506         Allow the use of `\0' as a delimiter.
84507         (readtokens): Likewise.
84508         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
84509
84510 2004-03-30  Jim Meyering  <jim@meyering.net>
84511
84512         * m4/realloc.m4: Remove file, since now it does no more than
84513         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
84514         the `configure.ac' section of module/realloc.
84515         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
84516
84517 2004-03-30  Bruno Haible  <bruno@clisp.org>
84518
84519         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
84520         nonnull.
84521
84522 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84523
84524         Merge changes to getloadavg.c from coreutils and Emacs.
84525
84526         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
84527         Define to an expression, not to the empty string.
84528         Include cloexec.h and xalloc.h.
84529         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
84530         Use set_cloexec_flag rather than rolling our own.
84531         * lib/cloexec.c, lib/cloexec.h: New files.
84532
84533 2004-03-29  Paul Eggert  <eggert@twinsun.com>
84534
84535         * m4/cloexec.m4: New file.
84536
84537 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84538
84539         * lib/getopt.h: Sync with libc CVS.
84540
84541 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84542             Bruno Haible  <bruno@clisp.org>
84543
84544         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
84545         mbswidth.
84546
84547 2004-03-18  Paul Eggert  <eggert@twinsun.com>
84548             Bruno Haible  <bruno@clisp.org>
84549
84550         * lib/mbswidth.h: Include <wchar.h> only if
84551         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
84552         <wchar.h>.
84553         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
84554
84555 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84556
84557         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
84558         Sync with libc CVS.
84559         * lib/getopt_int.h: New file, also synced from libc.
84560
84561 2004-03-09  Paul Eggert  <eggert@twinsun.com>
84562
84563         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
84564         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
84565         Bring back getopt.c, getopt.h, getopt1.c.
84566
84567 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84568
84569         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
84570         All uses changed.  Check for sa_sigaction member; this fixes
84571         a bug first reported by Jason Andrade in
84572         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84573
84574 2004-03-07  Paul Eggert  <eggert@twinsun.com>
84575
84576         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
84577         '#if' expressions.  Unlike the code it replaces, it does not
84578         depend on (defined _SC_PAGESIZE).  However, it does depend on
84579         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
84580         first reported by Jason Andrade in
84581         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
84582
84583 2004-02-25  Simon Josefsson  <jas@extundo.com>
84584
84585         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
84586
84587 2004-02-25  Simon Josefsson  <jas@extundo.com>
84588
84589         * lib/strdup.h: New file.
84590         * lib/strdup.c: Include it.
84591         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
84592         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
84593
84594 2004-02-23  Karl Berry  <karl@gnu.org>
84595
84596         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
84597         (from fencepost.gnu.org:/gd/gnuorg).
84598
84599 2004-02-23  Karl Berry  <karl@gnu.org>
84600
84601         * config/srclistvars.sh (GNUORG) [karl]: redefine.
84602         * config/srclist.txt: add maintain/standards documents.
84603
84604 2004-02-18  Bruno Haible  <bruno@clisp.org>
84605
84606         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
84607         Reported by Derek Robert Price <derek@ximbiot.com>.
84608
84609 2004-02-16  Karl Berry  <karl@gnu.org>
84610
84611         * config/mkinstalldirs, install-sh: update from automake.
84612
84613 2004-02-06  Karl Berry  <karl@gnu.org>
84614
84615         * m4/po.m4: update from gettext 0.14.1.
84616
84617 2004-02-06  Karl Berry  <karl@gnu.org>
84618
84619         * lib/config.charset: update from gettext 0.14.1.
84620
84621 2004-02-05  Paul Eggert  <eggert@twinsun.com>
84622
84623         Add comments and code, prompted by suggestions from Bruno Haible
84624         for sh-quote.
84625         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
84626         describing the enum quoting_style values.
84627         * lib/quotearg.c (quotearg_alloc): New function.
84628         (quotearg_buffer_restyled): Treat lone { and } as special.
84629         Treat = as special.  Work around bug with older shells
84630         that "see" a '\' that is really the 2nd byte of a multibyte char.
84631         Quote empty string with shell_quoting_style.
84632
84633 2004-02-03  Bruno Haible  <bruno@clisp.org>
84634
84635         * m4/pipe.m4: New file, from GNU gettext.
84636
84637 2004-02-03  Bruno Haible  <bruno@clisp.org>
84638
84639         * lib/pipe.h: New file, from GNU gettext.
84640         * lib/pipe.c: New file, from GNU gettext.
84641
84642 2004-01-27  Bruno Haible  <bruno@clisp.org>
84643
84644         * m4/execute.m4: New file, from GNU gettext.
84645
84646 2004-01-27  Bruno Haible  <bruno@clisp.org>
84647
84648         * lib/execute.h: New file, from GNU gettext.
84649         * lib/execute.c: New file, from GNU gettext.
84650         * lib/w32spawn.h: New file, from GNU gettext.
84651
84652 2004-01-24  Paul Eggert  <eggert@twinsun.com>
84653
84654         Merge from diffutils.
84655
84656         * lib/file-type.c (file_type): Add typed memory objects.
84657         * lib/file-type.h (S_TYPEISTMO): New macro.
84658
84659         * lib/c-stack.h (c_stack_action): Remove argv argument.
84660         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
84661         (die): Don't calculate message unless segv_action returns.
84662         (get_stack_location, min_address_from_argv, max_address_from_argv,
84663         volatile stack_base, volatile_stack_size): Remove.
84664         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
84665         that every segmentation violation is a stack overflow.  (Ouch!)
84666         See Debian bug 136249 (still outstanding) for more info about why
84667         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
84668
84669 2004-01-24  Paul Eggert  <eggert@twinsun.com>
84670
84671         Exit-status fix from coreutils.
84672
84673         Use exit_failure consistently in place of EXIT_FAILURE,
84674         so that program exit statuses are consistent on failure.
84675
84676         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
84677         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
84678         * lib/argmatch.h: Comment fix to match the above.
84679         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
84680         Now a macro referring to exit_failure, instead of a separate
84681         variable.  Include "exitfail.h" to get it.
84682         * lib/xstrtol.h: Include "exitfail.h".
84683         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
84684
84685         * lib/long-options.c (parse_long_options): Use prototype
84686         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
84687         for clarity.
84688
84689 2004-01-21  Jim Meyering  <jim@meyering.net>
84690
84691         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
84692         so as not to conflict with a different-sized __mktime_internal
84693         function in GNU libc.
84694         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
84695         Problem building statically-linked `ls' reported by Michael Brunnbauer.
84696
84697 2004-01-20  Karl Berry  <karl@gnu.org>
84698
84699         * config/config.guess: update from config.
84700
84701         * config/srclistvars.sh: GNUWWWLICENSES for karl.
84702
84703 2004-01-20  Bruno Haible  <bruno@clisp.org>
84704
84705         Safer stack allocation.
84706         * lib/setenv.c: Include allocsa.h.
84707         (alloca): Remove fallback definition.
84708         (freea): Remove macro.
84709         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
84710         instead of freea.
84711
84712 2004-01-20  Bruno Haible  <bruno@clisp.org>
84713
84714         * m4/eealloc.m4: New file, from GNU gettext.
84715
84716 2004-01-20  Bruno Haible  <bruno@clisp.org>
84717
84718         * m4/allocsa.m4: New file, from GNU gettext.
84719
84720 2004-01-20  Bruno Haible  <bruno@clisp.org>
84721
84722         * lib/xallocsa.h: New file, from GNU gettext.
84723         * lib/xallocsa.c: New file, from GNU gettext.
84724
84725 2004-01-20  Bruno Haible  <bruno@clisp.org>
84726
84727         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
84728
84729 2004-01-20  Bruno Haible  <bruno@clisp.org>
84730
84731         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
84732         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
84733         specially.
84734
84735 2004-01-20  Bruno Haible  <bruno@clisp.org>
84736
84737         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
84738         patch.
84739
84740 2004-01-20  Bruno Haible  <bruno@clisp.org>
84741
84742         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
84743
84744 2004-01-20  Bruno Haible  <bruno@clisp.org>
84745
84746         * lib/eealloc.h: New file.
84747
84748 2004-01-20  Bruno Haible  <bruno@clisp.org>
84749
84750         * lib/binary-io.h: Avoid warnings on Cygwin.
84751
84752 2004-01-20  Bruno Haible  <bruno@clisp.org>
84753
84754         * lib/allocsa.h: New file, from GNU gettext.
84755         * lib/allocsa.c: New file, from GNU gettext.
84756
84757 2004-01-18  Karl Berry  <karl@gnu.org>
84758
84759         * doc/gpl.texi, doc/lgpl.texi: new files.
84760
84761 2004-01-18  Karl Berry  <karl@gnu.org>
84762
84763         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
84764         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
84765
84766 2004-01-15  Paul Eggert  <eggert@twinsun.com>
84767
84768         Merge from coreutils.
84769
84770         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
84771         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
84772         (gl_DEFAULT_POSIX2_VERSION): Move
84773         the documentation from 'configure' into 'config.hin',
84774         so that 'configure --help' isn't burdened by it and
84775         we don't have to worry about its formatting there.
84776         Reword the documentation so that it's more succinct
84777         and can be run together into a single paragraph.
84778         * m4/same.m4 (gl_SAME): Check for pathconf.
84779
84780 2004-01-15  Paul Eggert  <eggert@twinsun.com>
84781
84782         Merge from coreutils.
84783
84784         * lib/posixver.c: Include posixver.h.
84785
84786         * lib/same.c: Include <stdbool.h>, <limits.h>.
84787         (_POSIX_NAME_MAX): Define if not defined.
84788         (MIN): New macro.
84789         (same_name): If file names are silently truncated, report
84790         that the file names are the same if they are the same after
84791         the silent truncation.
84792
84793         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
84794         conversion function.
84795         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
84796         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
84797         longer needed.
84798
84799 2004-01-15  Jim Meyering  <jim@meyering.net>
84800
84801         Merge from coreutils.
84802
84803         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
84804         if no library is required.
84805         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
84806         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
84807         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
84808         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
84809         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
84810         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
84811         value, $ac_cv_search_crypt, if it's "none required".
84812         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
84813         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
84814         not gl_FUNC_GETLOADAVG.
84815         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
84816         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
84817
84818 2004-01-15  Jim Meyering  <jim@meyering.net>
84819
84820         Merge from coreutils.
84821
84822         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
84823         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
84824         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
84825
84826         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
84827         optional configure-time default.
84828
84829         * lib/version-etc.c (version_etc_copyright): Update copyright date.
84830
84831         * lib/xreadlink.c (xreadlink): Correct outdated comment.
84832
84833 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
84834
84835         Merge from coreutils.
84836
84837         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
84838         value, $ac_cv_search_nanosleep, if it's "none required".
84839
84840 2004-01-14  Paul Eggert  <eggert@twinsun.com>
84841
84842         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
84843         with like-named macro in fnmatch.c.
84844         (EXT): Use an internal constant instead.
84845
84846         Merge fnmatch patches from glibc.
84847         * lib/fnmatch.c (mbsinit): Remove define.
84848         Add libc_hidden_ver (__fnmatch, fnmatch).
84849         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
84850         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
84851
84852 2004-01-14  Karl Berry  <karl@gnu.org>
84853
84854         * config/install-sh: update from automake.
84855
84856 2004-01-13  Karl Berry  <karl@gnu.org>
84857
84858         * config/install-sh: update from automake.
84859
84860 2004-01-09  Karl Berry  <karl@gnu.org>
84861
84862         * config/install-sh: update from automake.
84863
84864 2004-01-05  Karl Berry  <karl@gnu.org>
84865
84866         * config/config.{sub,guess}: update from config.
84867
84868 2003-12-31  Karl Berry  <karl@gnu.org>
84869
84870         * config/depcomp: update from automake.
84871
84872 2003-12-14  Karl Berry  <karl@gnu.org>
84873
84874         * lib/config.charset: update from gettext-runtime.
84875
84876 2003-12-03  Paul Eggert  <eggert@twinsun.com>
84877
84878         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
84879         Bug reported by Alfred M. Szmidt.
84880
84881 2003-12-03  Bruno Haible  <bruno@clisp.org>
84882
84883         * m4/gettext.m4: Upgrade from gettext-0.13.
84884         * m4/po.m4: Upgrade from gettext-0.13.
84885         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
84886         * m4/intmax.m4: New file, from gettext-0.13.
84887         * m4/printf-posix.m4: New file, from gettext-0.13.
84888
84889 2003-11-29  Karl Berry  <karl@gnu.org>
84890
84891         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
84892
84893 2003-11-25  Paul Eggert  <eggert@twinsun.com>
84894             Bruno Haible  <bruno@clisp.org>
84895
84896         * lib/printf-parse.h: Don't include sys/types.h.
84897         (ARG_NONE): New macro.
84898         (char_directive): Change type of *arg_index fields to size_t.
84899         * lib/printf-parse.c: Don't include sys/types.h.
84900         (SSIZE_MAX): Remove macro.
84901         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
84902         Remove unnecessary overflow check.
84903         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
84904         fields.
84905
84906 2003-11-25  Bruno Haible  <bruno@clisp.org>
84907
84908         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
84909
84910 2003-11-25  Bruno Haible  <bruno@clisp.org>
84911
84912         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
84913         gt_TYPE_SSIZE_T.
84914
84915 2003-11-24  Paul Eggert  <eggert@twinsun.com>
84916
84917         * modules/alloca: Remove dependency on xalloc.
84918
84919 2003-11-24  Paul Eggert  <eggert@twinsun.com>
84920
84921         * lib/alloca.c: Remove dependency on xalloc module.
84922         (xalloc_die): Remove.
84923         (memory_full) [!defined emacs]: New macro.
84924         [!defined emacs]: Don't include xalloc.h.
84925         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
84926         address arithmetic overflows.  Change datatypes a bit to avoid
84927         unnecessary casts.
84928
84929 2003-11-22  Jim Meyering  <jim@meyering.net>
84930
84931         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
84932         s/size/size_t/.
84933
84934 2003-11-21  Karl Berry  <karl@gnu.org>
84935
84936         * config/config.{sub,guess}: update from config.
84937
84938 2003-11-18  Karl Berry  <karl@gnu.org>
84939
84940         * config/config.{sub,guess}: update from config.
84941
84942         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
84943
84944 2003-11-17  Paul Eggert  <eggert@twinsun.com>
84945
84946         * README: Mention that S+T cannot overflow if S is the size of
84947         an existing object and T is sufficiently small.
84948
84949 2003-11-17  Jim Meyering  <jim@meyering.net>
84950
84951         On systems without utime and without a utimes function capable of
84952         dealing with a NULL struct utimbuf* argument, this utime replacement
84953         could -- in unusual circumstances -- leak a file descriptor.
84954         * lib/utime.c: Include <unistd.h> and <errno.h>.
84955         (utime_null): Be sure to close `fd' and to preserve errno.
84956         Reported by Geoff Collyer via Arnold Robbins.
84957
84958 2003-11-17  Bruno Haible  <bruno@clisp.org>
84959
84960         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
84961         (Depends-on): Add xsize.
84962
84963 2003-11-17  Bruno Haible  <bruno@clisp.org>
84964
84965         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
84966
84967 2003-11-17  Bruno Haible  <bruno@clisp.org>
84968
84969         * lib/vasnprintf.c (alloca): Remove fallback definition.
84970         (freea): Remove definition.
84971         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
84972         Reported by Paul Eggert.
84973
84974 2003-11-16  Paul Eggert  <eggert@twinsun.com>
84975             Bruno Haible  <bruno@clisp.org>
84976
84977         Protect against address arithmetic overflow.
84978         * lib/printf-args.h: Include stddef.h.
84979         (arguments): Change type of field 'count' to size_t.
84980         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
84981         'unsigned int' where appropriate.
84982         * lib/printf-parse.h: Include sys/types.h.
84983         (char_directive): Change type of *arg_index fields to ssize_t.
84984         (char_directives): Change type of fields 'count', max_*_length to
84985         size_t.
84986         * lib/printf-parse.c: Include sys/types.h and xsize.h.
84987         (SSIZE_MAX): Define fallback value.
84988         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
84989         instead of 'int' where appropriate. Check a_allocated, d_allocated
84990         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
84991         * lib/vasnprintf.c: Include xsize.h.
84992         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
84993         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
84994         overflow. Avoid wraparound when converting a width or precision from
84995         decimal to binary.
84996
84997 2003-11-16  Bruno Haible  <bruno@clisp.org>
84998
84999         Update from GNU gettext.
85000         * lib/printf-parse.c: Generalize to it can be compiled for wide
85001         strings.
85002         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
85003         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
85004         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
85005         SNPRINTF): New macros.
85006         Don't include <alloca.h> if the file is used inside libintl.
85007         (local_wcslen): New function, for Solaris 2.5.1.
85008         (VASNPRINTF): Use it instead of wcslen.
85009
85010 2003-11-16  Bruno Haible  <bruno@clisp.org>
85011
85012         * lib/xsize.h (xmax): New function.
85013         (xsum, xsum3, xsum4): Declare as "pure" functions.
85014
85015 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85016
85017         * modules/xalloc (Files): Undo latest change, since xalloc.h
85018         no longer needs SIZE_MAX or PTRDIFF_MAX.
85019
85020 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85021
85022         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
85023         gl_PTRDIFF_MAX.
85024
85025 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85026
85027         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
85028         "return", to pacify some unknown compiler.  Problem reported
85029         by Joerg Schilling.
85030
85031 2003-11-12  Paul Eggert  <eggert@twinsun.com>
85032
85033         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
85034         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
85035         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
85036         heuristic is just as accurate as far as we know, and it removes a
85037         dependency on size_max.m4 and ptrdiff_max.m4.
85038
85039 2003-11-11  Bruno Haible  <bruno@clisp.org>
85040
85041         * modules/xsize (Files): Add m4/size_max.m4.
85042         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
85043
85044 2003-11-11  Bruno Haible  <bruno@clisp.org>
85045
85046         * m4/size_max.m4: New file.
85047         * m4/ptrdiff_max.m4: New file.
85048         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
85049         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
85050         (gl_XALLOC): Invoke it.
85051
85052 2003-11-11  Bruno Haible  <bruno@clisp.org>
85053
85054         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
85055         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
85056         defined.
85057
85058 2003-11-10  Paul Eggert  <eggert@twinsun.com>
85059
85060         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
85061         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
85062         rejected some allocations of exactly SIZE_MAX - 2 bytes.
85063         From Bruno Haible.
85064         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
85065         not (size_t) -1, since it's defined here.
85066
85067 2003-11-09  Karl Berry  <karl@gnu.org>
85068
85069         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
85070
85071 2003-11-06  Paul Eggert  <eggert@twinsun.com>
85072
85073         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
85074         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
85075         Reject sizes of exactly SIZE_MAX bytes.
85076         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
85077         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
85078
85079 2003-11-05  Bruno Haible  <bruno@clisp.org>
85080
85081         * lib/xsize.h: Include limits.h, to avoid a possible collision with
85082         SIZE_MAX defined in <limits.h> on Solaris.
85083
85084 2003-11-04  Jim Meyering  <jim@meyering.net>
85085
85086         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
85087         variable names, rather than @VAR@.
85088         * modules/poll: Likewise.
85089
85090 2003-11-04  Bruno Haible  <bruno@clisp.org>
85091
85092         * modules/xsize: New file.
85093         * modules/linebreak: Depend on xsize.
85094         * MODULES.html.sh (func_all_modules): Add xsize.
85095
85096 2003-11-04  Bruno Haible  <bruno@clisp.org>
85097
85098         * m4/xsize.m4: New file.
85099
85100 2003-11-04  Bruno Haible  <bruno@clisp.org>
85101
85102         * lib/xsize.h: New file.
85103         * lib/linebreak.c: Include xsize.h.
85104         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
85105         argument for overflow.
85106         Suggested by Paul Eggert.
85107
85108 2003-11-03  Karl Berry  <karl@gnu.org>
85109
85110         * config/config.{guess,sub}: update from config.
85111
85112 2003-11-03  Jim Meyering  <jim@meyering.net>
85113
85114         * modules/userspec (lib_SOURCES): Add userspec.h.
85115         (Include): Add "userspec.h".
85116         Improve description.
85117
85118 2003-11-03  Jim Meyering  <jim@meyering.net>
85119
85120         * lib/userspec.c: Include "userspec.h".
85121         * lib/userspec.h: New file.
85122
85123 2003-11-03  Bruno Haible  <bruno@clisp.org>
85124
85125         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
85126
85127 2003-11-03  Bruno Haible  <bruno@clisp.org>
85128
85129         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
85130         available, to avoid (extremely rare) race condition.
85131         Suggested by Paul Eggert.
85132
85133 2003-11-02  Karl Berry  <karl@gnu.org>
85134
85135         * config/srclist.txt (vasprintf.c): sync broken, sigh.
85136
85137 2003-10-31  Paul Eggert  <eggert@twinsun.com>
85138
85139         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
85140         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
85141         (read_filesystem_list): Set and use me_type_malloced.
85142         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
85143         whatever the type happens to be), for brevity and consistency.
85144         Check for size calculation overflow on Alphas running OSF/1.
85145
85146 2003-10-31  Jim Meyering  <jim@meyering.net>
85147
85148         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
85149
85150         * lib/linebuffer.c: Include <string.h> for declaration of memset.
85151
85152 2003-10-30  Paul Eggert  <eggert@twinsun.com>
85153             Bruno Haible  <bruno@clisp.org>
85154
85155         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
85156         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
85157
85158 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
85159
85160         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
85161         netbsd*-gnu*.  Suggested by Robert Millan.
85162
85163 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85164
85165         * modules/group-member: Depend on stdbool.
85166
85167 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85168
85169         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
85170
85171 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85172
85173         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
85174         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
85175         after the 'gnu' in these cases.  This fixes some bugs in the
85176         previous change, and is based on suggestions by Robert Millan.
85177
85178 2003-10-29  Paul Eggert  <eggert@twinsun.com>
85179
85180         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
85181         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
85182         no longer needed.
85183         * lib/quotearg.c (quotearg_n_options): Use it.
85184         * lib/group-member.c: Include <stdbool.h>.
85185         (free_group_info): Arg is now const *; don't free arg.
85186         (get_group_info): Now returns bool and accepts struct group_info *,
85187         rather than returning a malloc'ed struct group_info *.
85188         All uses changed.  Check for overflow in internal size calculation.
85189
85190         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
85191         rather than xmalloc/xrealloc.
85192         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
85193         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
85194         conformance bug: the old code used a pointer after freeing the
85195         storage that it addressed.
85196         * lib/hash.c (hash_initialize): Simplify the code by using
85197         xalloc_oversized rather than doing it by hand.
85198         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
85199         the buffer preserved.  Use free and xmalloc instead.
85200         * lib/quotearg.c (quotearg_n_options): Likewise.
85201         Use a simpler test for size overflow.  Don't use xalloc_oversized
85202         because unsigned int might be wider than size_t (!); this suggests
85203         that we should switch from unsigned int to size_t for slot numbers.
85204
85205 2003-10-28  Paul Eggert  <eggert@twinsun.com>
85206
85207         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
85208         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
85209         NetBSD kernels.  Requested by Richard Stallman.
85210
85211 2003-10-27  Paul Eggert  <eggert@twinsun.com>
85212
85213         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
85214         to allocate the returned structure.  Do not allocate a subarray,
85215         as x2nrealloc will do that.
85216         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
85217         instead of xnrealloc.
85218         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
85219
85220 2003-10-27  Bruno Haible  <bruno@clisp.org>
85221
85222         * lib/stdbool_.h: Better support for BeOS.
85223
85224 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85225
85226         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
85227         now uses inline.
85228
85229 2003-10-26  Paul Eggert  <eggert@twinsun.com>
85230
85231         * lib/xalloc.h (xalloc_oversized): New static inline function, for
85232         callers that want to do their own size-overflow checking.  Include
85233         <stdbool.h>, since xalloc_oversized returns bool.
85234         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
85235         to use xalloc_oversized.
85236
85237         Add two functions x2realloc, x2nrealloc, for programs that grow
85238         arrays dynamically by doubling their sizes.
85239         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
85240         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
85241         New functions.
85242
85243         Port to C99 semantics for 'inline' of external functions.
85244         Bug reported by Bruno Haible.
85245         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
85246         with the old contents of xnmalloc.
85247         (xnmalloc, xmalloc): Use it.
85248         (xnrealloc_inline): New static inline function,
85249         with the old contents of xnrealloc.
85250         (xnrealloc, xrealloc): Use it.
85251
85252         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
85253         that.
85254
85255 2003-10-26  Karl Berry  <karl@gnu.org>
85256
85257         * config/srclist.txt (COPYING.DOC): no longer available from
85258         /gd/gnuorg; don't know where the ultimate source is.
85259
85260 2003-10-25  Paul Eggert  <eggert@twinsun.com>
85261
85262         Fix several address-calculation bugs in the hash modules,
85263         plus some minor code cleanup.
85264
85265         * lib/hash.h: Include <stdbool.h>, for bool.
85266         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
85267         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
85268         hash_get_n_entries, hash_get_max_bucket_length,
85269         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
85270         hash_rehash): Use size_t rather than unsigned.
85271         * lib/hash.c (struct hash_table, hash_get_n_buckets,
85272         hash_get_n_buckets_used, hash_get_n_entries,
85273         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
85274         hash_get_entries, hash_do_for_each, hash_string, is_prime,
85275         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
85276         Likewise.
85277         (SIZE_MAX): Define if not defined.
85278         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
85279         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
85280         hash_print):
85281         Use const * when possible.
85282         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
85283         (check_tuning): Fix bug: if tuning parameters were very close to
85284         0 or 1, rounding errors could have caused subscript violations.
85285         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
85286         (hash_initialize): Add 'fail:' label
85287         to free table and return NULL, and use it to simplify code.
85288         Use calloc rather than clearing the storage ourself.
85289         (hash_initialize, hash_rehash): Check for arithmetic overflow in
85290         buffer size calculations.
85291         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
85292         Include <stddef.h>, for size_t.
85293         * lib/hash-pjw.c (hash_pjw): Likewise.
85294         Switch to method described by Bruno Haible.
85295         Include <limits.h>, for CHAR_BIT.
85296         (SIZE_BITS): New macro.
85297
85298 2003-10-23  Paul Eggert  <eggert@twinsun.com>
85299
85300         * m4/getline.m4 (AM_FUNC_GETLINE):
85301         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
85302         hosts.  Problem reported by Derek Robert Price in
85303         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
85304         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
85305         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
85306
85307 2003-10-21  Paul Eggert  <eggert@twinsun.com>
85308
85309         * lib/getndelim2.c (getndelim2): When size calculation overflows,
85310         ceiling the allocation at NMAX bytes rather than silently
85311         discarding input bytes before NMAX is reached.  This makes
85312         a difference only if NMAX exceeds SIZE_MAX / 2.
85313
85314         * lib/obstack.c: Merge from glibc.
85315         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
85316         Add libc_hidden_def (_obstack_newchunk).
85317         (_obstack_free) [! defined _LIBC]: Remove.
85318         [defined _LIBC]: Make a strong alias from obstack_free, rather than
85319         a clone of the function body.
85320         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
85321         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
85322
85323         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
85324         glibc.
85325         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
85326         arg to memcpy.
85327
85328         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
85329         (obstack_ptr_grow_fast, obstack_int_grow_fast):
85330         Don't use lvalue casts, as GCC plans to remove support for them
85331         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
85332         was also present in the non-GCC version, indicating that this
85333         code had always been buggy and had never been widely used.
85334         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
85335         Use the fast variant of each macro, rather than copying the
85336         definiens of the fast variant; that way, we'll be more likely to
85337         catch future bugs in the fast variants.
85338
85339 2003-10-20  Bruno Haible  <bruno@clisp.org>
85340
85341         * modules/wait-process: New file.
85342         * MODULES.html.sh (func_all_modules): Add wait-process.
85343
85344 2003-10-20  Bruno Haible  <bruno@clisp.org>
85345
85346         * m4/wait-process.m4: New file.
85347
85348 2003-10-20  Bruno Haible  <bruno@clisp.org>
85349
85350         * lib/wait-process.h: New file, from GNU gettext.
85351         * lib/wait-process.c: New file, from GNU gettext.
85352
85353 2003-10-19  Jim Meyering  <jim@meyering.net>
85354
85355         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
85356         HPUX 10.20.
85357
85358 2003-10-18  Karl Berry  <karl@gnu.org>
85359
85360         * config/config.guess: update from config.
85361
85362 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85363
85364         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
85365         (getgroups): First arg is int, not size_t.
85366         Don't let 'free' mangle errno.
85367
85368 2003-10-16  Paul Eggert  <eggert@twinsun.com>
85369
85370         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
85371
85372 2003-10-16  Karl Berry  <karl@gnu.org>
85373
85374         * config/config.{guess,sub}: update from config.
85375
85376 2003-10-16  Jim Meyering  <jim@meyering.net>
85377
85378         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
85379         memcpy.
85380
85381 2003-10-15  Paul Eggert  <eggert@twinsun.com>
85382
85383         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
85384         (SIZE_MAX): Remove.
85385         (new_exclude, add_exclude_file): Initial size no longer needs to
85386         be a power of 2.
85387         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
85388         our own address arithmetic overflow checking.
85389
85390         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
85391         (fnmatch): Do not alloca more than 2000 wide characters;
85392         instead, use malloc for large buffers.
85393         Check for address arithmetic overflow, and return -1
85394         with errno set to ENOMEM in that case.
85395         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
85396         (NEW_PATTERN): Do not alloca more than 8000 bytes;
85397         instead, return -1.  Check for address arithmetic overflow.
85398
85399 2003-10-14  Paul Eggert  <eggert@twinsun.com>
85400
85401         Handle invalid suffixes and overflow independently, so that
85402         callers can treat them independently as needed.  Fix some bugs in
85403         suffix handling, e.g., "100k@" was not diagnosed as an invalid
85404         suffix for a human-readable blocksize.  The major caller-visible
85405         change is the addition of a new
85406         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
85407         that both overflow and suffix chars were found.
85408
85409         * lib/human.c (humblock): Don't check separately for invalid suffix
85410         char; that is xstrtoumax's job (now that its bug is fixed).
85411         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
85412         INTMAX_MAX]: New macros.
85413         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
85414         TYPE_MAXIMUM): New macros.
85415         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
85416         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
85417         if overflow occurs, as it's what __strtol does and it's more useful
85418         in practice.
85419         (__xstrtol): If __strtol reports some error other than ERANGE,
85420         reflect it to the caller as LONGINT_INVALID.  If it reports
85421         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
85422         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
85423         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
85424         value.
85425         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
85426         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
85427         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
85428         [defined UINTMAX_MAX]: New macros.
85429
85430 2003-10-14  Bruno Haible  <bruno@clisp.org>
85431
85432         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
85433
85434 2003-10-14  Bruno Haible  <bruno@clisp.org>
85435
85436         * m4/sig_atomic_t: New file, from GNU gettext.
85437         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
85438
85439 2003-10-14  Bruno Haible  <bruno@clisp.org>
85440
85441         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
85442         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
85443         Also use volatile where needed.
85444
85445 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85446
85447         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
85448         Change maintainer from Bruno Haible to 'all'.
85449
85450 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85451
85452         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
85453
85454 2003-10-12  Paul Eggert  <eggert@twinsun.com>
85455
85456         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
85457         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
85458         and define in terms of the other primitives.
85459         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
85460         (SIZE_MAX): Define if not already defined.
85461         (array_size_overflow): New function.
85462         (xalloc_die): Abort instead of exiting if 'error' returns.
85463         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
85464         (xmalloc, xrealloc): Use them.
85465         (xcalloc): Check for address arithmetic overflow.
85466         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
85467         a bit faster than strcpy.
85468
85469 2003-10-10  Simon Josefsson  <jas@extundo.com>
85470
85471         * modules/argp (Depends-on): Add restrict and strcase.
85472
85473 2003-10-10  Simon Josefsson  <jas@extundo.com>
85474
85475         * m4/argp.m4: Add AC_C_INLINE.
85476
85477 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85478
85479         Merge getpass from libc, plus a few fixes.
85480
85481         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
85482         Include <stdbool.h>.
85483         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
85484         __fsetlocking to empty.
85485         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
85486         do include <bits/libc-lock.h>.
85487         Do not include <fcntl.h>; not needed.
85488         [_LIBC]: Include <wchar.h>.
85489         (NOTCANCEL_MODE): New macro.
85490         (flockfile, funlockfile) [_LIBC]: New macros.
85491         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
85492         [!_LIBC]: New macros.
85493         (call_fclose): New function.
85494         (getpass): Use it.  Save tty stream separately; this simplifies the
85495         code and makes it more reliable if stdin happens to equal stdout.
85496         Invoke __fsetlocking on tty.
85497         Handle thread cancellation if needed.
85498         Namespace cleanup (use __tcgetattr, __getline).
85499         Use bool for Booleans.
85500         [USE_IN_LIBIO]: Handle wide streams.
85501         [!_LIBC]: Unconditionally do the fseek, since we don't know what
85502         stream might go where.
85503
85504         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
85505         doesn't have to include <stdio.h> before us.
85506         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
85507         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
85508         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
85509         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
85510         if not declared, so that we can use getpass.c code from libc without
85511         rewriting it.
85512         (flockfile, ftrylockfile, funlockfile): New macros.
85513
85514 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85515
85516         * modules/getpass: Depend on stdbool.
85517
85518 2003-10-08  Paul Eggert  <eggert@twinsun.com>
85519
85520         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
85521
85522 2003-10-07  Karl Berry  <karl@gnu.org>
85523
85524         * config/config.{guess,sub}: update from config.
85525
85526 2003-10-06  Jim Meyering  <jim@meyering.net>
85527             Bruno Haible  <bruno@clisp.org>
85528
85529         This lets translators provide better translations for the
85530         "Written by ..." part of --version output.
85531         * lib/version-etc.h: Include stdarg.h.
85532         (version_etc_copyright): Declare as readonly.
85533         (version_etc): Make this function variadic with a NULL-terminated list
85534         of author name strings.
85535         (version_etc_va): New declaration.
85536         * lib/version-etc.c: Include stdarg.h, stdlib.h.
85537         (version_etc_copyright): Declare as readonly.
85538         (version_etc_va): New function. Provide a different translatable string
85539         for each possible number of authors < 10. Abbreviate when there are 10
85540         authors or more.
85541         (version_etc): Make this function variadic. Call version_etc_va.
85542         Suggestion from Gary V. Vaughan.
85543
85544         * lib/long-options.h (parse_long_options): Change prototype: the
85545         authors string is moved to the end and becomes variadic.
85546         * lib/long-options.c: Include stdarg.h.
85547         (parse_long_options): Make this function variadic, too.
85548         Call version_etc_va, not version_etc.
85549
85550 2003-10-06  Bruno Haible  <bruno@clisp.org>
85551
85552         * modules/version-etc-2: Remove file.
85553         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
85554
85555 2003-10-06  Bruno Haible  <bruno@clisp.org>
85556
85557         * modules/fatal-signal: New file.
85558         * MODULES.html.sh (func_all_modules): Add fatal-signal.
85559
85560 2003-10-06  Bruno Haible  <bruno@clisp.org>
85561
85562         * m4/fatal-signal.m4: New file.
85563         * m4/signalblocking.m4: New file, from GNU gettext.
85564
85565 2003-10-06  Bruno Haible  <bruno@clisp.org>
85566
85567         * lib/version-etc-2.h: Remove file.
85568         * lib/version-etc-2.c: Remove file.
85569
85570 2003-10-06  Bruno Haible  <bruno@clisp.org>
85571
85572         * lib/fatal-signal.h: New file, from GNU gettext.
85573         * lib/fatal-signal.c: New file, from GNU gettext.
85574
85575 2003-10-05  Paul Eggert  <eggert@twinsun.com>
85576
85577         * README: Rework advice for preventing empty .o files.
85578         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
85579         not <sys/types.h>.
85580
85581 2003-10-04  Karl Berry  <karl@gnu.org>
85582
85583         * lib/argp*: update from libc.
85584
85585 2003-10-04  Karl Berry  <karl@gnu.org>
85586
85587         * config/config.{guess,sub}: update from config.
85588
85589 2003-10-02  Bruno Haible  <bruno@clisp.org>
85590
85591         * modules/lchown (Include): Add lchown.h.
85592         * modules/time_r (Include): Use "..." syntax.
85593         * modules/xgetdomainname (Include): Add xgetdomainname.h.
85594
85595 2003-10-01  Simon Josefsson  <jas@extundo.com>
85596
85597         * MODULES.html.sh (func_all_modules): Move gethostname from section
85598         'based on' to section 'lacking' POSIX:2001.
85599
85600 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
85601
85602         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
85603         to output mode on the same stream.
85604
85605 2003-09-29  Paul Eggert  <eggert@twinsun.com>
85606
85607         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
85608         Fix arg typo in previous patch.
85609
85610 2003-09-28  Jim Meyering  <jim@meyering.net>
85611
85612         * lib/error.c: Correct cpp indentation.
85613
85614 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85615
85616         * modules/free: New file.
85617
85618 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85619
85620         * m4/free.m4: New file.
85621
85622 2003-09-27  Paul Eggert  <eggert@twinsun.com>
85623
85624         * lib/minmax.h (MIN, MAX)
85625         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
85626         Omit the special code that used __typeof__, since we worry that
85627         it could be more trouble than it's worth.  See:
85628         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
85629         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
85630
85631         * lib/free.c: New file.
85632
85633 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
85634
85635         Trivial fixes to Makefile.am parts of module listings.
85636         * modules/strstr: Append strstr.h to lib_SOURCES.
85637         * modules/strcase: Likewise, for strcase.h.
85638
85639 2003-09-27  Karl Berry  <karl@gnu.org>
85640
85641         * config/mkinstalldirs: update from automake.
85642
85643 2003-09-26  Paul Eggert  <eggert@twinsun.com>
85644
85645         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
85646         (error_tail): Do not loop, reallocating temporary buffer, since
85647         the output cannot contain more wide characters than the input
85648         contains bytes, the size must be big enough already.  This avoids
85649         one potential size overflow calculation.  Check for size overflow
85650         when calculating temporary buffer size.  Free temporary buffer
85651         when done, if it was allocated with malloc; this plugs a memory
85652         leak.  Remove casts from void * to pointers, that are no longer
85653         needed now that we're assuming C89 or better.
85654
85655         Merge error changes from glibc.
85656
85657         * lib/error.c, error.h: Update copyright notice header to match glibc.
85658         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
85659         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
85660         Disable cancellation while printing error.
85661         * lib/error.h: Prepend __ to parameter names.
85662
85663 2003-09-26  Jim Meyering  <jim@meyering.net>
85664
85665         * lib/error.c (error_tail): Move some declarations
85666         into inner scope where the local variables are used.
85667
85668 2003-09-26  Bruno Haible  <bruno@clisp.org>
85669
85670         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
85671         stpncpy().
85672         Don't define stpncpy through config.h; it's now done through stpncpy.h.
85673
85674 2003-09-26  Bruno Haible  <bruno@clisp.org>
85675
85676         * lib/stpncpy.h (gnu_stpncpy): New declaration.
85677         (stpncpy): Define as alias for gnu_stpncpy.
85678         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
85679
85680 2003-09-25  Simon Josefsson  <jas@extundo.com>
85681
85682         * lib/xgetdomainname.h: New file.
85683         * lib/xgetdomainname.c: New file.
85684
85685 2003-09-25  Simon Josefsson  <jas@extundo.com>
85686             Bruno Haible  <bruno@clisp.org>
85687
85688         * modules/getdomainname: New file.
85689         * modules/xgetdomainname: New file.
85690         * MODULES.html.sh (func_all_modules): Add getdomainname,
85691         xgetdomainname.
85692
85693 2003-09-25  Simon Josefsson  <jas@extundo.com>
85694             Bruno Haible  <bruno@clisp.org>
85695
85696         * m4/getdomainname.m4: New file.
85697
85698 2003-09-25  Simon Josefsson  <jas@extundo.com>
85699             Bruno Haible  <bruno@clisp.org>
85700
85701         * lib/getdomainname.h: New file.
85702         * lib/getdomainname.c: New file.
85703
85704 2003-09-25  Karl Berry  <karl@gnu.org>
85705
85706         * lib/argp-fmtstream.c, argp-help.c: update from libc.
85707
85708 2003-09-25  Karl Berry  <karl@gnu.org>
85709
85710         * config/install-sh: update from automake.
85711
85712 2003-09-25  Bruno Haible  <bruno@clisp.org>
85713
85714         * modules/version-etc-2: New file, from modules/version-etc with
85715         modifications.
85716         * MODULES.html.sh (func_all_modules): Add version-etc-2.
85717
85718 2003-09-25  Bruno Haible  <bruno@clisp.org>
85719
85720         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
85721         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
85722
85723 2003-09-24  Simon Josefsson  <jas@extundo.com>
85724
85725         * modules/xgethostname: Add xgethostname.h.
85726
85727 2003-09-24  Paul Eggert  <eggert@twinsun.com>
85728
85729         * lib/linebuffer.c (freebuffer): Don't free the argument, just
85730         the buffer associated with the argument.  Bug reported by
85731         Simon Josefsson.
85732
85733 2003-09-24  Paul Eggert  <eggert@twinsun.com>
85734
85735         * README: Document assumptions that 'int' is at least 32 bits
85736         wide, that integer arithmetic is 2's complement without overflow,
85737         that there are no holes in integer values, that adding sizes of
85738         two nonoverlapping objects can't overflow, and that all-bits-zero
85739         yields scalar zero.  Fix spelling and capitalization typos.
85740
85741 2003-09-19  Karl Berry  <karl@gnu.org>
85742
85743         * lib/argp.h: update from libc.
85744
85745 2003-09-17  Paul Eggert  <eggert@twinsun.com>
85746
85747         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
85748         to avoid spurious warnings like "AC_RUN_IFELSE was called before
85749         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
85750
85751 2003-09-17  Paul Eggert  <eggert@twinsun.com>
85752
85753         * gnulib-tool: Use "test -h", not "test -L", for portability
85754         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
85755         (tags_regexp): Remove, since \| doesn't conform to POSIX.
85756         (sed_extract_prog): Issue s commands one-by-one, rather than
85757         using \| in one s command.
85758
85759 2003-09-16  Paul Eggert  <eggert@twinsun.com>
85760
85761         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
85762         input error, instead of returning NULL the next time we are called
85763         (and therefore losing track of errno).
85764
85765 2003-09-16  Bruno Haible  <bruno@clisp.org>
85766
85767         * gnulib-tool (func_create_testdir): Warn about duplicated
85768         dependencies.
85769
85770 2003-09-15  Paul Eggert  <eggert@twinsun.com>
85771
85772         * modules/argmatch, modules/fatal, modules/obstack,
85773         modules/xalloc, modules/xgethostname: Sort dependencies by
85774         importance, not alphabetically.
85775
85776 2003-09-15  Paul Eggert  <eggert@twinsun.com>
85777
85778         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
85779         fails, so that the caller gets the proper errno.
85780
85781         * lib/readutmp.c (read_utmp): Likewise.
85782         Check for fstat error.  Close stream and free storage
85783         when failing.
85784
85785 2003-09-14  Karl Berry  <karl@gnu.org>
85786
85787         * config/srclist.txt (strdup.c): disable for c89 changes.
85788
85789 2003-09-14  Jim Meyering  <jim@meyering.net>
85790
85791         * lib/getloadavg.c: Correct cpp indentation.
85792         * lib/strdup.c: Likewise.
85793         * lib/vasnprintf.c: Likewise.
85794
85795 2003-09-14  Bruno Haible  <bruno@clisp.org>
85796
85797         * modules/fwriteerror: New file.
85798         * MODULES.html.sh (func_all_modules): Add fwriteerror.
85799
85800 2003-09-14  Bruno Haible  <bruno@clisp.org>
85801
85802         * lib/fwriteerror.h: New file.
85803         * lib/fwriteerror.c: New file.
85804
85805 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85806
85807         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
85808         modules/xgethostname, modules/xalloc: Depend on exit.
85809
85810 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85811
85812         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
85813
85814         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
85815         and AC_MINIX, too, so that their extensions are available.
85816
85817         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
85818         This macro has been superseded by gl_BACKUPFILE.
85819
85820         More patches to assume C89 or better.
85821
85822         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
85823
85824         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
85825         unconditionally.
85826         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
85827         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
85828         Include <string.h>, <stdlib.h> unconditionally.
85829         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
85830         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
85831         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
85832         headers or for string.h.
85833         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
85834         or strtoul.
85835
85836         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
85837         headers.
85838         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
85839         * m4/userspec.m4 (gl_USERSPEC): Likewise.
85840         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
85841         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
85842         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
85843         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
85844         memcpy, memset.
85845         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
85846         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
85847         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
85848         strtol.
85849         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
85850         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
85851         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
85852         strtoul.
85853
85854 2003-09-12  Paul Eggert  <eggert@twinsun.com>
85855
85856         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
85857         * lib/obstack.c [!defined _LIBC]: Likewise.
85858         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
85859         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
85860         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
85861
85862         More changes to assume C89 or better.
85863
85864         * lib/error.c (error_tail): Assume vprintf.
85865
85866         * lib/argmatch.c (getenv): Remove decl.
85867         * lib/progreloc.c (get_full_program_name): Define via prototype.
85868         * lib/setenv.c (clearenv): Likewise.
85869         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
85870         needed.
85871         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
85872         (malloc, memcpy): Remove decls.
85873         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
85874         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
85875         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
85876         (memcpy): Remove macro.
85877         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
85878         (__P): Remove.  All uses removed.
85879         (PTR): Remove.  All uses changed to void *.
85880         (CHAR_BIT, NULL): Remove.
85881         (spaces, zeros, memset_space, memset_zero)
85882         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
85883         Remove.
85884         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
85885         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
85886         Define with prototype.
85887         Remove now-unnecessary prototype decl.
85888         (extra_args_spec): Assume ANSI C.  All uses changed.
85889         (extra_args_spec_iso): Remove.
85890         (my_strftime, emacs_strftimeu): Define via prototype.
85891         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
85892         unconditionally.
85893         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
85894         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
85895         (strtoul, strtol): Remove decls.
85896         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
85897         LONG_MAX): Remove.
85898         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
85899         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
85900         (LOCALE_PARAM_PROTO): New macro.
85901         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
85902         (INTERNAL (strtol), strtol): Define with a prototype.
85903         (PARAMS): Remove.  All uses removed.
85904         * lib/tempname.c: Include <string.h> unconditionally.
85905         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
85906         * lib/xgethostname.c (main): Define with a prototype.
85907         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
85908         Include <stdlib.h> unconditionally.
85909         (calloc, malloc, realloc, free): Remove decls.
85910         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
85911         Include <stdlib.h> unconditionally.  Sort include file names.
85912         (strtod): Remove.
85913         (xstrtod): Define with a prototype.
85914         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
85915         (strtol, strtoul): Remove decls.
85916
85917 2003-09-11  Paul Eggert  <eggert@twinsun.com>
85918
85919         More patches to assume C89 or better.
85920         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
85921         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
85922         string.h, memchr, STDC_HEADERS.
85923
85924 2003-09-11  Paul Eggert  <eggert@twinsun.com>
85925
85926         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
85927         Include <stdlib.h>, <string.h> unconditionally.
85928         Remove now-unnecessary cast to char *.
85929         * lib/strnlen.c: Include <string.h> unconditionally.
85930         * lib/yesno.c (yesno): Define with a prototype.
85931
85932 2003-09-11  Bruno Haible  <bruno@clisp.org>
85933
85934         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
85935
85936 2003-09-10  Jim Meyering  <jim@meyering.net>
85937
85938         * lib/error.c: Correct indentation of cpp directives.
85939
85940 2003-09-10  Bruno Haible  <bruno@clisp.org>
85941
85942         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
85943         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
85944         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
85945         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
85946         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
85947         <stdlib.h> and <string.h> checks.
85948         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
85949         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
85950
85951 2003-09-10  Bruno Haible  <bruno@clisp.org>
85952
85953         * lib/strcspn.c: Include <string.h> unconditionally.
85954         * lib/strpbrk.c: Include <string.h> unconditionally.
85955         * lib/strstr.c: Include <string.h> unconditionally.
85956         * lib/unicodeio.c: Include <string.h> unconditionally.
85957         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
85958         * lib/unsetenv.c: Likewise.
85959         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
85960         * lib/yesno.c: Include <stdlib.h> unconditionally.
85961         (rpmatch): Add prototype.
85962
85963 2003-09-09  Paul Eggert  <eggert@twinsun.com>
85964
85965         More patches to assume C89 or better.
85966         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
85967         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
85968         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
85969         or for string.h.
85970         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
85971         stdlib.h.
85972         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
85973         C headers.
85974         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
85975         string.h.
85976         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
85977         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
85978         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
85979         or for string.h.
85980         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
85981         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
85982         C headers.
85983         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
85984         memcpy.
85985         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
85986         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
85987         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
85988         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
85989         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
85990         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
85991         string.h, free.
85992         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
85993         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
85994         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
85995         C headers, or for string.h.
85996         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
85997         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
85998         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
85999         headers, memory.h, stdlib.h, string.h, strings.h.
86000         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
86001         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
86002         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
86003         strchr.
86004         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
86005         headers, memory.h, string.h.
86006         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
86007         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
86008         free.
86009         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
86010         headers.
86011         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
86012         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
86013         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
86014         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
86015         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
86016
86017 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86018
86019         More K&R removal.
86020
86021         * lib/acosl.c (main): Use a prototype.
86022         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
86023         tanl.c: Likewise.
86024
86025         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
86026
86027         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
86028         (getopt, etopt_long, getopt_long_only, _getopt_internal)
86029         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
86030         with a prototype.
86031         * lib/getopt.c (const): Remove macro.
86032         Include <string.h> unconditionally.
86033         (my_index): Remove; all uses changed to strchr.
86034         (strlen): Remove decl.
86035         (exchange): Remove forward decl; no longer needed.
86036         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
86037         Define with prototype.
86038         * lib/getopt1.c (const): Remove macro.
86039         (getopt_long, getopt_long_only, main): Define with prototype.
86040
86041         * lib/getugroups.c: Include <string.h> unconditionally.
86042
86043         * lib/getusershell.c: Include <stdlib.h> unconditionally.
86044         (getusershell, setusershell, endusershell, readname, main):
86045         Define with prototypes.
86046
86047         * lib/group-member.c: Include group-member.h first.
86048         Include <stdlib.h> unconditionally.
86049
86050         * lib/hard-locale.c: Include hard-locale.h first.
86051         Include <stdlib.h>, <string.h> unconditionally.
86052
86053         * lib/hash.c (free, malloc): Remove decls.
86054         Include <stdlib.h> unconditionally.
86055
86056         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
86057         (getenv): Do not declare.
86058
86059         * lib/idcache.c: Include <string.h> unconditionally.
86060
86061         * lib/long-options.c: Include long-options.h first, to test interface.
86062         Include <stdlib.h> unconditionally.
86063
86064         * lib/makepath.c: Include makepath.h first, to test interface.
86065         Include <stdlib.h> and <string.h> unconditionally.
86066
86067         * lib/linebuffer.c: Include <stdlib.h>.
86068         (free): Remove decl.
86069
86070         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
86071         stddef.h. rpl_malloc returns void *, not char *.
86072         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
86073         prototype.
86074
86075         * lib/md5.h: Include <limits.h> unconditionally.
86076         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
86077         (__P): Remove; all uses removed.
86078         * lib/md5.c: Include "md5.h" first.
86079         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
86080         md5_buffer, md5_process_bytes, md5_process_block):
86081         Define with prototypes.
86082         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
86083         * lib/sha.c: Include "sha.h" first.
86084         Include <stdlib.h>, <string.h> unconditionally.
86085
86086         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
86087         * lib/memcmp.c (__ptr_t): Likewise.
86088         * lib/memrchr.c (__ptr_t): Likewise.
86089         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
86090         Include <string.h> unconditionally.
86091         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
86092         * lib/memchr.c: Include <stdlib.h> unconditionally.
86093         * lib/memchr.c (LONG_MAX): Remove.
86094         * lib/memrchr.c (LONG_MAX): Likewise.
86095         * lib/memchr.c (__memchr): Define via a prototype.
86096         * lib/memrchr.c (__memrchr): Likewise.
86097         * lib/memcmp.c (__P): Remove, and remove all uses.
86098         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
86099         Remove forward decls; no longer needed.
86100         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
86101         Use types required by C89 in prototype.
86102
86103         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
86104         * lib/savedir.c: Likewise.
86105         * lib/mkdir.c (free): Remove decl.
86106         * lib/rmdir.c (rmdir): Define with a prototype.
86107         * lib/savedir.c: Include savedir.h first, to test interface.
86108
86109         * lib/mktime.c (STDC_HEADERS): Remove.
86110         Include <stdlib.h>, <string.h> unconditionally.
86111
86112         * lib/modechange.c: Include <stdlib.h> unconditionally.
86113         (malloc): Remove decl.
86114
86115         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
86116         (free): Remove decl.
86117
86118         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
86119         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
86120         (This type really should be intptr_t, but that's a C99ism.)
86121         (_obstack_memcpy): Remove: all uses changed to memcpy.
86122         Include <string.h> unconditionally.
86123         (struct obstack): Assume __STDC__ for types of members
86124         chunkfun, freefun, extra_arg.
86125         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
86126         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
86127         obstack_begin, obstack_specify_allocation,
86128         obstack_specify_allocation_with_arg, obstack_chunkfun,
86129         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
86130         Remove unprototyped decls and the macros that use them.
86131         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
86132         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
86133         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
86134         (defined __STDC__ && __STDC__)]:
86135         Remove nonprototyped code.
86136         Include <stdlib.h> unconditionally.
86137         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
86138         _obstack_allocated_p, _obstack_free, obstack_free,
86139         _obstack_memory_used, print_and_abort):
86140         Define using prototypes.
86141         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
86142         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
86143         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
86144         obstack_next_free, obstack_object_size, obstack_room) [0]:
86145         Remove unused, unprototyped code.
86146
86147         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
86148
86149         * lib/physmem.c (physmem_total, physmem_available, main): Define
86150         with prototypes.
86151
86152         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
86153         (main): Define with a prototype.
86154
86155         * lib/posixver.c (getenv): Remove decl.
86156
86157         * lib/putenv.c (malloc): Returns void *, not char *.
86158         Include <string.h> unconditionally.
86159         (strchr, memcpy, NULL): Do not define.
86160
86161         * lib/readtokens.c: Include readtokens.h first, to test interface.
86162         Include <stdlib.h>, <string.h> unconditionally.
86163         (init_tokenbuffer): Define with a prototype.
86164
86165         * lib/regex.c (PARAMS): Remove.  All uses removed.
86166         All uses of _RE_ARGS removed, too.
86167         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
86168         unconditionally.
86169         (bzero): Assume memset exists.
86170         (memcmp, memcpy, NULL): Remove.
86171         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
86172         char, or assignments to local vars of type signed char.
86173         (init_syntax_once, PREFIX(extract_number_and_incr),
86174         PREFIX(print_partial_compiled_pattern),
86175         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
86176         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
86177         PREFIX(regex_grow_registers), PREFIX(regex_compile),
86178         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
86179         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
86180         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
86181         wcs_compile_range, byte_compile_range, truncate_wchar,
86182         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
86183         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
86184         count_mbs_length, wcs_re_match_2_internal,
86185         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
86186         PREFIX(alt_match_null_string_p),
86187         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
86188         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
86189         regfree, PREFIX(extract_number)): Define with prototype.  Remove
86190         now-unnecessary declaration, if any.
86191         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
86192         regcomp, regexec):
86193         Remove now-unnecessary casts among pointer types.
86194         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
86195
86196         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
86197         (free): Remove decl.
86198
86199         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
86200
86201         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
86202         (free): Remove decl.
86203
86204         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
86205         * lib/xgetcwd.c: Likewise.
86206
86207         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
86208         (free): Remove decl.
86209
86210         * lib/strchrnul.c (strchrnul): Define with a prototype.
86211         Fix bug: c_in was not converted to char before searching.
86212
86213         The following changes are not K&R related:
86214
86215         * lib/group-member.h: Include <sys/types.h>, so that this file is
86216         self-contained.
86217         * lib/makepath.h: Likewise.
86218
86219         * lib/getusershell.c (readname, default_index, line_size, readname):
86220         Use size_t, not int, for sizes.
86221         (readname): If the size overflows, report an error instead of
86222         looping forever.
86223
86224 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86225
86226         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
86227         libc.
86228
86229 2003-09-09  Paul Eggert  <eggert@twinsun.com>
86230
86231         * README: New section: portability guidelines.
86232
86233 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86234
86235         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
86236         C89 spec.
86237
86238 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
86239
86240         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
86241
86242 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86243
86244         Assume C89 or better; remove K&R cruft.
86245         A few of these changes were first proposed by Derek Robert Price
86246         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
86247
86248         * lib/addext.c: Include <string.h> unconditionally.
86249         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
86250         Don't declare getenv or malloc.
86251
86252         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
86253         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
86254         (NULL): Remove.
86255         (find_stack_direction, alloca): Use prototypes.
86256
86257         * lib/atexit.c (atexit): Define using a prototype.
86258
86259         * lib/basename.c, dirname.c, stripslash.c:
86260         Include <string.h> unconditionally.
86261
86262         * lib/bcopy.c: Include <stddef.h>.
86263         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
86264
86265         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
86266
86267         * lib/error.h (error, error_at_line, error_print_progname)
86268         [! (defined (__STDC__) && __STDC__)]: Remove decls.
86269         * lib/error.c: Include error.h first, to check interface.
86270         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86271         (VA_START): Remove; all uses changeed to va_start.
86272         (exit, strerror): Remove decls.
86273         (error_print_progname): Prototype uncondionally.
86274         Don't include <errno.h>; no longer needed.
86275         (private_strerror): Remove.
86276         (error_tail): Always define.
86277         (error, error_at_line): Assume C89 or better; always use prototypes.
86278         * lib/fatal.c: Include "fatal.h" first, to test interface.
86279         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
86280         (VA_START): Remove; all uses changed to va_start.
86281         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
86282         this case.
86283         (exit): Remove decl.
86284         (fatal): Prototype unconditionally.  Assume va_start works.
86285         Abort at end, to pacify gcc.
86286
86287         * lib/euidaccess.c (main): Define with a prototype.
86288
86289         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
86290
86291         * lib/exitfail.c: Include <stdlib.h> unconditionally.
86292
86293         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
86294         prototypes.
86295         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
86296         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
86297         (getenv): Remove decl.
86298         (fnmatch): Define using a prototype.
86299         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
86300         (FCT): Define using a prototype.
86301
86302         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
86303
86304         * lib/gethostname.c: Include <stddef.h>.
86305         (gethostname): Define with prototype.  Length is size_t, not int.
86306
86307 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86308
86309         Assume C89 or better; remove K&R cruft.
86310         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
86311         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
86312         string.h, getenv, malloc.
86313         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
86314         headers.
86315         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
86316         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
86317         do not check for strerror.
86318         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
86319         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
86320         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
86321         do not check for doprnt or vprintf.
86322         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
86323         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
86324
86325 2003-09-08  Paul Eggert  <eggert@twinsun.com>
86326
86327         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
86328         getversion.c should have been removed then, but was accidentally
86329         preserved.
86330
86331         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
86332         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
86333
86334 2003-09-08  Karl Berry  <karl@gnu.org>
86335
86336         * config/config.sub, config.guess, srclistvars.sh: update from savannah
86337                 config, forget about prep.
86338
86339         * config/depcomp, missing: update from automake.
86340
86341 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86342
86343         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
86344         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86345
86346 2003-09-07  Paul Eggert  <eggert@twinsun.com>
86347
86348         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
86349         copy_tm_result.  Bug reported by Simon Josefsson in
86350         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
86351
86352 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86353
86354         * m4/time_r.m4: New file.
86355         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
86356         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
86357         is. Check for timegm declaration.
86358         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
86359         Do not check for gmtime_r.
86360         Replace mktime if __mktime_internal does not exist and if mktime
86361         hasn't been replaced already.
86362
86363 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86364
86365         * lib/time_r.c, lib/time_r.h: New files.
86366
86367         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
86368         __localtime_r.
86369         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
86370         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
86371
86372         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
86373         __gmtime_r.
86374         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
86375         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
86376         Include <time_r.h>.
86377
86378         * lib/timegm.c: Switch to glibc implementation, with the following
86379         changes:
86380         [defined HAVE_CONFIG_H]: Include <config.h>.
86381         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
86382         (__mktime_internal) [!defined _LIBC]: New decl.
86383         (__gmtime_r) [!defined _LIBC]: New macro and function.
86384         (timegm): Use a prototype, since gnulib assumes C89.
86385         Do not bother declaring tmp to be const, as it's not really usefu.
86386         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
86387         (timegm): Declare only if HAVE_DECL_TIMEGM.
86388
86389 2003-09-06  Paul Eggert  <eggert@twinsun.com>
86390
86391         * MODULES.html.sh (func_all_modules): Add time_r.
86392         * modules/time_r: New file.
86393         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
86394         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
86395
86396 2003-09-03  Paul Eggert  <eggert@twinsun.com>
86397
86398         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
86399         Bug reported by Lute Kamstra in
86400         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
86401
86402         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
86403         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
86404         course with correspondingly smaller numbers for tomorrow and
86405         yesterday.  From Tadayoshi Funaba.  Originally installed into
86406         sh-utils on 1999-08-07, but the patch got lost (I guess during the
86407         coreutils merge?).
86408
86409 2003-08-31  Simon Josefsson  <jas@extundo.com>
86410
86411         * modules/timegm: New file.
86412         * MODULES.html.sh (func_all_modules): Add timegm.
86413
86414 2003-08-31  Simon Josefsson  <jas@extundo.com>
86415
86416         * m4/timegm.m4: New file.
86417
86418 2003-08-31  Simon Josefsson  <jas@extundo.com>
86419
86420         * lib/timegm.h: New file.
86421         * lib/timegm.c: New file.  Based on
86422         wget-1.8.2/src/http.c:mktime_from_utc.
86423
86424 2003-08-31  Karl Berry  <karl@gnu.org>
86425
86426         * lib/argp.h: update from libc.
86427
86428 2003-08-28  Bruno Haible  <bruno@clisp.org>
86429
86430         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
86431         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
86432         followed by '#define fnmatch fnmatch_posix' gives an error.
86433
86434 2003-08-28  Bruno Haible  <bruno@clisp.org>
86435
86436         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
86437         warning on QNX, which defines O_BINARY to 000000.
86438
86439 2003-08-27  Jim Meyering  <jim@meyering.net>
86440
86441         * m4/mkstemp.m4: Require that the system mkstemp be able to create
86442         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
86443         would fail after 32.  Reported by Danny Levinson.  Details here:
86444         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
86445
86446 2003-08-24  Bruno Haible  <bruno@clisp.org>
86447
86448         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
86449         MSVC7 <stdio.h> is included later.
86450
86451 2003-08-22  Simon Josefsson  <jas@extundo.com>
86452
86453         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
86454
86455 2003-08-20  Karl Berry  <karl@gnu.org>
86456
86457         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
86458
86459 2003-08-20  Bruno Haible  <bruno@clisp.org>
86460
86461         * modules/progname: New file.
86462         * MODULES.html.sh (func_all_modules): Add progname.
86463
86464 2003-08-20  Bruno Haible  <bruno@clisp.org>
86465
86466         * lib/progname.h: New file, from GNU gettext.
86467         * lib/progname.c: New file, from GNU gettext.
86468         * lib/progreloc.c: New file, from GNU gettext.
86469
86470 2003-08-19  Jim Meyering  <jim@meyering.net>
86471
86472         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
86473         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
86474
86475 2003-08-19  Bruno Haible  <bruno@clisp.org>
86476
86477         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
86478         more.
86479
86480 2003-08-19  Bruno Haible  <bruno@clisp.org>
86481
86482         * lib/xstrdup.c: Assume <string.h> exists.
86483
86484 2003-08-18  Paul Eggert  <eggert@twinsun.com>
86485
86486         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
86487         in makefile rules.
86488
86489 2003-08-18  Jim Meyering  <jim@meyering.net>
86490
86491         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
86492         * m4/lib-ld.m4: Likewise.
86493
86494 2003-08-18  Jim Meyering  <jim@meyering.net>
86495
86496         * lib/setenv.h: Indent nested cpp directive.
86497         * lib/vasnprintf.c: Remove trailing blanks.
86498
86499 2003-08-17  Simon Josefsson  <jas@extundo.com>
86500
86501         * modules/xstrndup: New file.
86502         * MODULES.html.sh (func_all_modules): Add xstrndup.
86503
86504 2003-08-17  Simon Josefsson  <jas@extundo.com>
86505
86506         * modules/argp: Fix autoconf macro name. Add more dependencies.
86507
86508 2003-08-17  Simon Josefsson  <jas@extundo.com>
86509
86510         * m4/xstrndup.m4: New file.
86511
86512 2003-08-17  Simon Josefsson  <jas@extundo.com>
86513
86514         * m4/argp.m4: New file.
86515
86516 2003-08-17  Simon Josefsson  <jas@extundo.com>
86517             Bruno Haible  <bruno@clisp.org>
86518
86519         * lib/xstrndup.h: New file.
86520         * lib/xstrndup.c: New file.
86521
86522 2003-08-17  Bruno Haible  <bruno@clisp.org>
86523
86524         * modules/strndup (Files, Include): Add lib/strndup.h.
86525
86526 2003-08-17  Bruno Haible  <bruno@clisp.org>
86527
86528         * modules/euidaccess (Files): Add lib/euidaccess.h.
86529
86530 2003-08-17  Bruno Haible  <bruno@clisp.org>
86531
86532         * lib/strndup.h: New file.
86533
86534 2003-08-17  Bruno Haible  <bruno@clisp.org>
86535
86536         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
86537         like AC_GNU_SOURCE.
86538         * modules/extensions (configure.ac): Comment out the invocation of
86539         gl_USE_SYSTEM_EXTENSIONS.
86540
86541 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86542
86543         Merges from coreutils, etc.
86544         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
86545         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
86546         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
86547         fixing a typo.
86548         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
86549         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
86550
86551 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86552
86553         Document merge from coreutils.
86554         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
86555         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
86556         * modules/utime: Add m4/utimes-null.m4.
86557
86558 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86559
86560         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
86561         space, undoing this 2003-08-12 change:
86562         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86563
86564 2003-08-16  Paul Eggert  <eggert@twinsun.com>
86565
86566         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
86567         strtoul.c from libc, undoing this 2003-08-12 change:
86568         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
86569
86570 2003-08-16  Jim Meyering  <jim@meyering.net>
86571
86572         Merges from coreutils.
86573         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
86574         prefix.  Adjust cache variables similarly.  Create 500 rather than
86575         just 300 files, to exercise bug on Darwin6.5, too.
86576         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
86577         $missing_dir.
86578         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
86579         AM_SYS_POSIX_TERMIOS.
86580         Reported by mkc@mathdogs.com.
86581         Also change use of $am_cv_sys_posix_termios
86582         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
86583         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
86584         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
86585         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
86586         in /proc/mounts until it finds one with matching device number.  This
86587         is unnecessary when the FILE argument *is* a mount point.  No stat call
86588         is necessary in that case.  So, disable the statvfs-testing code on
86589         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
86590         as RedHat bug# 84846.
86591         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
86592         to 1MB, so as not to render systems with no stack size limit (e.g.,
86593         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
86594         Include <unistd.h>.  On some systems,
86595         it is required for the definition of _SC_PAGESIZE.
86596
86597 2003-08-16  Jim Meyering  <jim@meyering.net>
86598
86599         Merge from coreutils.
86600         * lib/xstrtoimax.c: #else #if -> #elif.
86601         * lib/xstrtoumax.c: Likewise.
86602
86603 2003-08-16  Jim Meyering  <jim@meyering.net>
86604
86605         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
86606         * m4/utimes.m4: Removed.
86607         * m4/utimes-null.m4: Renamed from utimes.m4.
86608
86609         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
86610         to 1MB, so as not to render systems with no stack size limit (e.g.,
86611         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
86612         Include <unistd.h>.  On some systems,
86613         it is required for the definition of _SC_PAGESIZE.
86614
86615 2003-08-16  Jim Meyering  <jim@meyering.net>
86616         and Paul Eggert  <eggert@cs.ucla.edu>
86617
86618         Merges from coreutils, etc.
86619
86620         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
86621         using the latest version from cvs.  This avoids problems with #line
86622         directives using a vendor (Sun) compiler.
86623         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
86624         Don't set GETGROUPS_LIB here; now it's
86625         done via getgroups.m4's wrapper function.
86626         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
86627         rather than just in sh-util/configure.in, so that the
86628         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
86629         same.
86630         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
86631         AC_FUNC_GETLOADAVG where to find getloadavg.c.
86632         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
86633         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
86634         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
86635         Remove code that is now done by the newly-required macros.
86636         Append $(EXEEXT) to DF_PROG.
86637         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
86638         Do not invoke or require the following here,
86639         since prereq.m4 or some gnulib .m4 now does this for us:
86640         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
86641         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
86642         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
86643         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
86644         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
86645         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
86646         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
86647         AC_FUNC_OBSTACK.
86648         Do not replace the following functions, as this is now the job
86649         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
86650         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
86651         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
86652         atexit getpass, strdup, getpagesize.
86653         Replace 'raise'.
86654         Do not check for the following functions, as this is now the job
86655         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
86656         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
86657         setregid.
86658         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
86659         Check for sys/sysctl.h.
86660         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
86661         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
86662         of checking for ssize_t ourselves.
86663
86664         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
86665         Require every macro that gnulib/modules/* suggests for us.
86666         (jm_PREREQ_ADDEXT): New macro.
86667         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
86668         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
86669
86670         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
86671         (gl_PHYSMEM): Use it.
86672         Also check for `table' function.
86673         Check for new headers and functions.
86674         Add check for sys/sysmp.h.
86675         With suggestions from Kaveh Ghazi.
86676         Ignore headers that are present but cannot be compiled.  This
86677         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
86678         C 5.4.
86679
86680 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86681
86682         Document merge from coreutils.
86683         * modules/userspec: Depend on posixver.
86684         * modules/strftime: Depend on tzset.
86685
86686 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86687
86688         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
86689         rather than tab, after '#' in shell-script copyright notices.
86690         Suggested by Bruno Haible.
86691
86692 2003-08-15  Paul Eggert  <eggert@twinsun.com>
86693
86694         * config/srclist-update: Use three spaces, rather than tab, after '#'
86695         in shell-script copyright notices.  Suggested by Bruno Haible.
86696         Remove unnecessary parenthesization in regular expression.
86697
86698 2003-08-15  Jim Meyering  <jim@meyering.net>
86699
86700         Merge from coreutils.
86701         * lib/xgethostname.c: Include <stdlib.h>.
86702         (xghostname): Don't exit for anything other than memory-related
86703         failure; just return NULL.
86704         * lib/userspec.c: Include "posixver.h".
86705         (parse_user_spec): Accept `.' as a separator only
86706         in pre-POSIX-200112 mode.
86707         * lib/strtoimax.c: Use #elif rather than #else #if.
86708         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
86709         Remove function, now that we can rely on a working tzset function.
86710         [!_LIBC]: Ensure that the required autoconf test has been run.
86711         [!defined _NL_CURRENT && HAVE_STRFTIME]:
86712         Use underlying_strftime for %r.
86713         * lib/sha.c: Merge in some clean-up and optimization changes from
86714         glibc.
86715         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
86716         Ensure that it is a multiple of 64.
86717         Rearrange loop exit tests so as to avoid performing an
86718         additional fread after encountering an error or EOF.
86719         * lib/realloc.c: Update copyright date.
86720
86721 2003-08-15  Jim Meyering  <jim@meyering.net>
86722         and Paul Eggert  <eggert@twinsun.com>
86723
86724         Merge from coreutils.
86725         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
86726         member but strut utmpx does not.  Needed for AIX 4.3.3.
86727         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
86728
86729 2003-08-15  Jim Meyering  <jim@meyering.net>
86730         and Paul Eggert  <eggert@cs.ucla.edu>
86731
86732         Merges from coreutils, etc.
86733         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
86734         Require gl_FUNC_TZSET_CLOBBER.
86735         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
86736         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
86737         members.
86738
86739 2003-08-14  Paul Eggert  <eggert@twinsun.com>
86740
86741         Help the merge from coreutils.
86742         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
86743         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
86744         * m4/tzset.m4: Use it too.
86745
86746 2003-08-14  Paul Eggert  <eggert@twinsun.com>
86747
86748         * modules/tzset: New file.
86749
86750 2003-08-14  Jim Meyering  <jim@meyering.net>
86751
86752         Merges from coreutils.
86753         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
86754         variable names, rather than @FNMATCH_H@.
86755         * modules/alloca: Likewise for $(ALLOCA_H).
86756
86757         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
86758         the three copies of the literal target, `fnmatch.h'.
86759         * modules/alloca (alloca.h): Likewise.
86760
86761 2003-08-14  Jim Meyering  <jim@meyering.net>
86762
86763         Merge from coreutils.
86764         * m4/tzset.m4: New file.
86765         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
86766         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
86767         otherwise, AIX 5.1 systems would end up using the latter.
86768         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
86769         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
86770         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
86771         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
86772
86773 2003-08-14  Jim Meyering  <jim@meyering.net>
86774
86775         Merge from coreutils.
86776         * lib/obstack.h: Whitespace changes.
86777         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
86778         and xcalloc return values.
86779         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
86780         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
86781         hang on OSF/1 5.1 for DIR on both local and remote file systems.
86782         Reported by (and fix confirmed by) Nelson H. F. Beebe.
86783         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
86784         error from mntctl.
86785         Use mntctl's return value to drive the entry-processing loop, since
86786         we can't rely on the value of the vmt_length member in the last
86787         entry.  On some systems doing so could result in exhausting
86788         virtual memory.  Based in part on a patch from Mike Jetzer.
86789
86790 2003-08-14  Jim Meyering  <jim@meyering.net>
86791         and Paul Eggert  <eggert@twinsun.com>
86792
86793         Merges from coreutils, plus other fixes.
86794         * lib/physmem.c: Merge in portability changes from gcc/libiberty
86795         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
86796         for credits and details.  Thanks to Kaveh Ghazi for helping
86797         to keep these files in sync.
86798         (ARRAY_SIZE): Define it.
86799         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
86800         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
86801         (memcasecmp): Don't assume size_t fits in unsigned int.
86802         Remove casts and duplicate code.
86803         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
86804         (memcpy): Remove definition.
86805         Merge in some clean-up and optimization changes from glibc.
86806         [BLOCKSIZE]: Move definition to top of file.
86807         Ensure that it is a multiple of 64.
86808         Rearrange loop exit tests so as to avoid performing an
86809         additional fread after encountering an error or EOF.
86810         * lib/md5.h (md5_uintptr): Define.
86811         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
86812         return to the initial working directory.  Preserve errno
86813         for caller.
86814         * lib/idcache.c: Include "xalloc.h".
86815         (xmalloc, xrealloc): Remove decls.
86816         (getuser): Remove casts no longer required in C89.
86817         * lib/human.c: Include stdio.h, for sprintf.
86818         * lib/group-member.c: Include "xalloc.h".
86819         (xmalloc, xrealloc): Remove decls.
86820         (get_group_info): Remove casts no longer required in C89.
86821         * lib/getusershell.c (readname): Remove casts no longer required in
86822         C89.
86823         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
86824         * lib/getline.c: Whitespace fix, from coreutils.
86825
86826 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86827
86828         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
86829         Check for isascii.
86830
86831         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
86832         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
86833         Undo previous (whitespace-only) change.
86834
86835 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86836
86837         * lib/exclude.c: Include <ctype.h>
86838         (IN_CTYPE_DOMAIN): New macro.
86839         (is_space): New fn.
86840         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
86841         and empty lines.
86842
86843         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
86844         Undo previous (whitespace-only) change.
86845
86846 2003-08-13  Paul Eggert  <eggert@twinsun.com>
86847
86848         * config/srclist-update: Change update back to the old behavior,
86849         leaving whitespace alone.  Use one 'sed' command rather than a
86850         pipeline.
86851         (fixlicense): Now a variable, not a function.
86852         (remove_trailing_blanks): Remove.
86853         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
86854         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
86855         Undo previous (whitespace-only) change.
86856
86857 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86858
86859         Merge from coreutils.
86860         * modules/euidaccess: Add lib_SOURCES, include for new
86861         file euidaccess.h
86862
86863 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86864
86865         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
86866         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
86867         Normalize leading white space and remove trailing white space.
86868
86869         Merge from coreutils
86870         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
86871
86872         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
86873         0.12.1.  These files are now being upgraded automatically by
86874         ../config/srclist-update.
86875
86876 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86877
86878         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
86879         Normalize leading white space and remove trailing white space.
86880         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
86881         notice, as per ../config/srclist-update.
86882
86883         Merge from coreutils.
86884         * lib/euidaccess.h: New file.
86885         * lib/euidaccess.c: Include it.
86886         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
86887         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
86888         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
86889
86890 2003-08-12  Paul Eggert  <eggert@twinsun.com>
86891
86892         * config/srclist-update: Add copyright notice.
86893         (remove_id_lines, remove_trailing_blanks): New constants.
86894         (fixfile): Use them to normalize spacing a bit in copied files.
86895         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
86896         Normalize leading white space and remove trailing white space.
86897
86898         * config/texinfo.tex: Sync with texinfo.
86899
86900         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
86901         strtoul.c from libc, to merge coreutils whitespace changes.
86902
86903         * config/srclist.txt: Get the following m4 files from gettext:
86904         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
86905         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
86906         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
86907         wint_t.m4.
86908
86909 2003-08-12  Karl Berry  <karl@gnu.org>
86910
86911         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
86912         been made.
86913
86914 2003-08-11  Paul Eggert  <eggert@twinsun.com>
86915
86916         * modules/gnu-source, m4/gnu-source.m4:
86917         Remove; we're assuming Autoconf 2.54 or later now.
86918         Suggested by Bruno Haible.
86919         * MODULES.html.sh (func_all_modules): Remove gnu-source.
86920
86921 2003-08-11  Bruno Haible  <bruno@clisp.org>
86922
86923         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
86924
86925 2003-08-11  Bruno Haible  <bruno@clisp.org>
86926
86927         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
86928         (vasnprintf): Use it instead of wcslen.
86929
86930 2003-08-11  Bruno Haible  <bruno@clisp.org>
86931
86932         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
86933         value to ensure that _Bool promotes to int. Use #define for _Bool when
86934         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
86935
86936 2003-08-10  Karl Berry  <karl@gnu.org>
86937
86938         * lib/regex.h: update from libc (whitespace fix).
86939
86940 2003-08-09  Paul Eggert  <eggert@twinsun.com>
86941
86942         Merge some files from coreutils.  These changes were
86943         originally made by Jim Meyering.
86944         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
86945         many older Unixes require this.
86946         * lib/alloca.c (alloca): Remove cast to argument of free;
86947         no longer needed in C89.
86948         * lib/alloca_.h, regex.h: Fix white space to match
86949         what GNU indent does.
86950
86951 2003-08-09  Paul Eggert  <eggert@twinsun.com>
86952
86953         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
86954         apparently Emacs's Unicode mode got confused before my 2003-08-05
86955         checkin.
86956
86957 2003-08-08  Paul Eggert  <eggert@twinsun.com>
86958
86959         * m4/extensions.m4: New file.
86960         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
86961         Require gl_USE_SYSTEM_EXTENSIONS.
86962         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
86963         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
86964
86965 2003-08-08  Paul Eggert  <eggert@twinsun.com>
86966
86967         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
86968         * modules/extensions, modules/gnu-source: New files.
86969         * modules/timespec, modules/unlocked-io: Depend on extensions.
86970
86971 2003-08-07  Paul Eggert  <eggert@twinsun.com>
86972
86973         * modules/restrict: New file.
86974         * MODULES.html.sh (func_all_modules): Add restrict.
86975         * modules/regex: Depend on restrict.
86976
86977 2003-08-07  Paul Eggert  <eggert@twinsun.com>
86978
86979         * m4/restrict.m4: New file.
86980         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
86981
86982 2003-08-07  Bruno Haible  <bruno@clisp.org>
86983
86984         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
86985         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
86986
86987 2003-08-07  Bruno Haible  <bruno@clisp.org>
86988
86989         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
86990         makes the module 'getndelim2' compatible with the module 'getline'.
86991
86992 2003-08-05  Paul Eggert  <eggert@twinsun.com>
86993
86994         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
86995         byte with "\201" to avoid glitches when editing that source file
86996         with multi-gnome-terminal.
86997
86998 2003-08-05  Paul Eggert  <eggert@twinsun.com>
86999
87000         * lib/bumpalloc.h: Remove.
87001
87002 2003-08-05  Paul Eggert  <eggert@twinsun.com>
87003
87004         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
87005         * modules/bumpalloc: Remove.
87006
87007 2003-08-04  Paul Eggert  <eggert@twinsun.com>
87008
87009         * lib/getloadavg.c: Change copyright notice and spacing to conform to
87010         GNU coding style.
87011
87012         Merge from coreutils.
87013         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
87014         1. From glibc.
87015         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
87016         from Karl Berry, implemented by Jim Meyering.
87017         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
87018         from Dmitry V. Levin.
87019         Remove anachronistic cast of xrealloc.
87020         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
87021         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
87022         type. Otherwise, it wouldn't compile with at least /bin/cc on
87023         ymp-cray-unicos9.0.2.X.
87024         Combine two mostly-identical uses of alloca into one.
87025         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
87026
87027 2003-08-04  Dave Love  <d.love@dl.ac.uk>
87028
87029         [From Emacs.]
87030
87031         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
87032         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
87033         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
87034         obsolete NLIST_NAME_UNION.
87035         [__GNU__]: Undef BSD and FSCALE.
87036         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
87037
87038 2003-08-03  Paul Eggert  <eggert@twinsun.com>
87039
87040         * lib/stdbool_.h (_Bool): Make it signed char, instead of
87041         an enum type, so that it's guaranteed to promote to int.  See:
87042         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
87043
87044 2003-08-03  Karl Berry  <karl@gnu.org>
87045
87046         * config/depcomp: update from automake.
87047
87048 2003-07-31  Paul Eggert  <eggert@twinsun.com>
87049
87050         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
87051         (strerror): Don't assume that a printable int fits in 14 bytes.
87052
87053 2003-07-31  Bruno Haible  <bruno@clisp.org>
87054
87055         * modules/getpass-gnu: New file.
87056         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
87057
87058 2003-07-31  Bruno Haible  <bruno@clisp.org>
87059
87060         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
87061
87062 2003-07-24  Karl Berry  <karl@gnu.org>
87063
87064         * config/missing: update from automake.
87065
87066 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
87067             Bruno Haible  <bruno@clisp.org>
87068
87069         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
87070         * lib/getline.c (getline, getdelim): Likewise.
87071         Remove _GNU_SOURCE define; now it's defined in config.h through
87072         m4/getline.m4.
87073
87074 2003-07-23  Karl Berry  <karl@gnu.org>
87075
87076         * config/config.sub: update from prep.
87077
87078 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87079
87080         * modules/xalloc (Depends-on): Add exitfail.
87081         * modules/xmemcoll: Likewise.
87082
87083 2003-07-22  Paul Eggert  <eggert@twinsun.com>
87084
87085         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
87086         over-parenthesization in macros.
87087
87088         Sync with coreutils.
87089
87090         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
87091         required by C99.
87092
87093         Use `exit_failure' for xalloc and xmemcoll instead of their own
87094         private exit-failure variables.
87095         * lib/xalloc.h (xalloc_exit_failure): Remove.
87096         * lib/xmalloc.c: Likewise.  Include exitfail.h.
87097         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
87098         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
87099         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
87100         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
87101
87102 2003-07-20  Jim Meyering  <jim@meyering.net>
87103
87104         * modules/closeout (Depends-on): Add exitfail.
87105         Suggestion from Bruno Haible.
87106
87107 2003-07-19  Karl Berry  <karl@gnu.org>
87108
87109         * config/config.sub: update from prep.
87110
87111 2003-07-18  Paul Eggert  <eggert@twinsun.com>
87112
87113         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
87114         Remove.
87115         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
87116         to test that it can stand by itself.  Include "exitfail.h".
87117         Clients should set exit_failure instead.
87118         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
87119
87120 2003-07-18  Bruno Haible  <bruno@clisp.org>
87121
87122         * modules/getndelim2: New file.
87123         * modules/getline: Share files with module getndelim2.
87124         * modules/getnline: Depend on getndelim2 instead of sharing files with
87125         it. Add getnline.c to lib_SOURCES.
87126         * MODULES.html.sh (func_all_modules): Add getndelim2.
87127
87128 2003-07-18  Bruno Haible  <bruno@clisp.org>
87129
87130         * m4/getndelim2.m4: New file.
87131         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
87132         invoke gl_PREREQ_GETNDELIM2.
87133         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
87134         gl_PREREQ_GETNDELIM2.
87135         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
87136         gl_GETNDELIM2.
87137
87138 2003-07-18  Bruno Haible  <bruno@clisp.org>
87139
87140         * lib/getndelim2.h: New file.
87141         * lib/getndelim2.c: Make into a module of its own. Include config.h,
87142         getndelim2.h.
87143         (getndelim2): Make non-static. Change return type to ssize_t.
87144         * lib/getline.h: Change argument names.
87145         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
87146         * lib/getnline.c: Include getndelim2.h.
87147
87148 2003-07-18  Andreas Schwab  <schwab@suse.de>
87149
87150         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
87151
87152 2003-07-17  Karl Berry  <karl@gnu.org>
87153
87154         * config/config.sub: update from prep.
87155
87156 2003-07-17  Bruno Haible  <bruno@clisp.org>
87157
87158         * modules/getnline: New file.
87159         * modules/getline: Add lib/getndelim2.c to source file list.
87160         * MODULES.html.sh (func_all_modules): Add getnline.
87161
87162 2003-07-17  Bruno Haible  <bruno@clisp.org>
87163
87164         * m4/getnline.m4: New file.
87165
87166 2003-07-17  Bruno Haible  <bruno@clisp.org>
87167
87168         * m4/Makefile.am.in: Remove file.
87169         * m4/Makefile.am: Remove file.
87170         * m4/Makefile.in: Remove file.
87171
87172 2003-07-17  Bruno Haible  <bruno@clisp.org>
87173
87174         * lib/getnline.h: New file.
87175         * lib/getnline.c: New file.
87176         * lib/getndelim2.c: New file, extracted from getline.c.
87177         (getndelim2): Renamed from getdelim2, with added nmax argument.
87178         * lib/getline.c: Include getndelim2.c.
87179         (getdelim2): Moved out to getndelim2.c.
87180         (getline, getdelim): Update.
87181
87182 2003-07-17  Bruno Haible  <bruno@clisp.org>
87183
87184         * lib/Makefile.am: Remove file.
87185         * lib/Makefile.in: Remove file.
87186
87187 2003-07-17  Bruno Haible  <bruno@clisp.org>
87188
87189         * configure.in: Remove file.
87190         * Makefile.in: Remove file.
87191
87192 2003-07-17  Bruno Haible  <bruno@clisp.org>
87193
87194         * MODULES.html.sh: Put the </BODY> right before </HTML>.
87195
87196 2003-07-16  Karl Berry  <karl@gnu.org>
87197
87198         * config/srclist-update: was running fixlicense twice, which caused
87199                 texinfo.tex to be nullified for some reason.  Simplify,
87200                 $gplsrc is no longer needed as far as I can see?
87201
87202 2003-07-16  Jim Meyering  <jim@meyering.net>
87203
87204         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
87205
87206 2003-07-15  Paul Eggert  <eggert@twinsun.com>
87207
87208         * config/srclist.txt: Get the following files from gettext-runtime/intl
87209         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
87210         ref-del.sin.  From Bruno Haible.
87211         * config/srclist-update (fixfile): Change grep pattern again, since the
87212         previous fix didn't work (there was another trailing $).  Use
87213         '[$]' to escape the $s.
87214
87215 2003-07-15  Karl Berry  <karl@gnu.org>
87216
87217         * lib/vasnprintf.c: update from gettext.
87218
87219 2003-07-15  Karl Berry  <karl@gnu.org>
87220
87221         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
87222         gets expanded when surrounded by '$'.
87223
87224 2003-07-15  Jim Meyering  <jim@meyering.net>
87225
87226         * modules/save-cwd: Don't depend on error.  From Derek Price.
87227
87228 2003-07-15  Jim Meyering  <jim@meyering.net>
87229
87230         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
87231
87232 2003-07-14  Simon Josefsson  <jas@extundo.com>
87233
87234         * modules/mempcpy: New file.
87235         * MODULES.html.sh (func_all_modules): Add mempcpy.
87236
87237 2003-07-14  Simon Josefsson  <jas@extundo.com>
87238
87239         * m4/mempcpy.m4: New file.
87240
87241 2003-07-14  Simon Josefsson  <jas@extundo.com>
87242
87243         * lib/mempcpy.h: New file.
87244         * lib/mempcpy.c: New file.
87245
87246 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87247
87248         * modules/getdate, modules/posixtm: Depend on mktime.
87249
87250 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87251
87252         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
87253         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
87254         unicodeio.c, unicodeio.h, unlocked-io.h:
87255         Switch from LGPL to GPL.
87256
87257 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87258
87259         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
87260         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
87261         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
87262         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
87263         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
87264         updated automatically by ../config/srclist-update.  This changes
87265         their license from LPGL to GPL.
87266
87267 2003-07-14  Paul Eggert  <eggert@twinsun.com>
87268
87269         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
87270         assumed to refer to the root of the most recent stable gettext version.
87271         * config/srclistvars.sh: Add defaults for eggert.
87272         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
87273         Match "This program" as well as "The program".  This is needed
87274         for gettext.
87275
87276 2003-07-14  Jim Meyering  <jim@meyering.net>
87277
87278         Don't emit diagnostics.  Let callers do that.
87279         * lib/save-cwd.c: Don't include "error.h".
87280         (save_cwd): Don't call error.  Ensure that errno is valid
87281         when returning nonzero.
87282
87283         * lib/save-cwd.h (restore_cwd): Update prototype.
87284         * lib/save-cwd.c (restore_cwd): Remove two parameters.
87285         Simplify.  Don't call error upon failure.  Let callers do that.
87286         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
87287         when auditing is enabled.  But don't bother updating the #if.
87288
87289 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
87290
87291         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
87292         it breaks C++ compilation.
87293         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
87294
87295 2003-07-10  Simon Josefsson  <jas@extundo.com>
87296
87297         * modules/strchrnul (Makefile.am): Add strchrnul.h.
87298
87299 2003-07-10  Jim Meyering  <jim@meyering.net>
87300
87301         * m4/clock_time.m4: Remove trailing blank.
87302         * m4/intmax_t.m4: Likewise.
87303
87304 2003-07-10  Jim Meyering  <jim@meyering.net>
87305
87306         * lib/vasnprintf.c: Remove trailing blanks.
87307         Make cpp indentation consistent.
87308
87309 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87310
87311         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
87312         posixver.c, strftime.c, strnlen.c, strverscmp.c:
87313         Switch from LGPL to GPL.
87314
87315 2003-07-09  Paul Eggert  <eggert@twinsun.com>
87316
87317         * config/srclist.txt: Sort sublists.  Add
87318         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
87319         that differ from gnulib for one reason or another; we'd like this list
87320         to be smaller but for now let's document what we have.
87321
87322 2003-07-08  Paul Eggert  <eggert@twinsun.com>
87323
87324         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
87325         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
87326         and sweeter "eval x=$x".
87327         * config/srclist.txt: Get lib/argp* from glibc.
87328
87329 2003-07-07  Paul Eggert  <eggert@twinsun.com>
87330
87331         * lib/mktime.c: Fix some boundary cases and remove need for floating
87332         point.
87333
87334         Issue a compile-time diagnostic if time_t is floating point, or if
87335         two's complement arithmetic is not in effect, or if arithmetic
87336         right shift does not propagate the sign.  These assumptions were
87337         all in the original code but they weren't checked.
87338
87339         (TIME_T_MIDPOINT, verify): New macros.
87340         (__isleap): Remove; it has integer overflow problems.
87341         (leapyear): New function, without those problems.
87342         (ydhms_tm_diff): Remove; splitting into two parts.
87343         (ydhms_diff): New function, containing the arithmetic part of
87344         the old ydhms_tm_diff function.  Issue a compile-time
87345         diagnostic if we are not using C99 integer division.
87346         Avoid casts when possible.
87347         (guess_time_tm): New function, containing the checking part of
87348         the old ydhms_tm_diff function.  Return the new value, rather than
87349         the difference between it and the old.  Accept a new argument T
87350         so that *T specifies the old value.  Check for overflow in the result.
87351
87352         (__mktime_internal): Use a time_t offset, not a long int offset.
87353         This undoes the 2003-06-04 change, which is no longer needed now
87354         that we have better overflow checking.
87355         (localtime_offset): Likewise.
87356
87357         (__mktime_internal): Avoid harmful overflow on hosts where time_t
87358         and long are 64-bit but int is only 32-bit.
87359         (ydhms_diff): Use long int to store year1 and yday1.
87360         Issue a compile-time diagnostic if long int is not wide enough.
87361
87362         (__mktime_internal): Use long int to store adjusted year and yday.
87363         Use plain C rather than preprocessor commands, if that doesn't
87364         affect efficiency.
87365         Check for overflow (and try to repair) after each probe
87366         rather than checking only at the very end.  This avoids some bugs
87367         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
87368         does not equal GMT offset at maximum time).
87369         Use integer to check for overflow rather than floating point; this
87370         is more portable to non-IEEE hosts, and is a tad faster.
87371         When we detect that we are oscillating between two values,
87372         don't check whether tm_isdst has the requested value, since
87373         we already know the answer.  When tm_isdst has the wrong value,
87374         use a different heuristic to find the right one, based on the
87375         extreme values actually observed in practice in tz2003a,
87376         rather than the (overly optimistic) "previous 3 calendar quarters".
87377
87378         (not_equal_tm, print_tm, check_result): Use "const T" rather than
87379         "T const" to accommodate glibc style.
87380         (check_result): Use less-confusing report format.  "long" -> "long int.
87381         (main): Likewise.
87382         Don't loop if the iteration overflows time_t.
87383         Allow a negative step in the iteration.
87384
87385 2003-07-06  Karl Berry  <karl@gnu.org>
87386
87387         * config/depcomp: update from automake.
87388         * config/config.sub: update from prep.
87389
87390 2003-07-03  Karl Berry  <karl@gnu.org>
87391
87392         * config/config.guess: update from prep.
87393
87394 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87395
87396         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
87397         xreadlink.c now includes it unconditionally.
87398
87399 2003-07-01  Paul Eggert  <eggert@twinsun.com>
87400
87401         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
87402         having it depend on HAVE_SYS_TYPES_H.
87403
87404 2003-07-01  Bruno Haible  <bruno@clisp.org>
87405
87406         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
87407         <sys/types.h> should be sufficient.
87408         Reported by Paul Eggert.
87409
87410 2003-06-26  Karl Berry  <karl@gnu.org>
87411
87412         * config/depcomp: update from automake.
87413
87414 2003-06-26  Bruno Haible  <bruno@clisp.org>
87415
87416         * modules/human: Depend on module stdbool.
87417
87418 2003-06-25  Bruno Haible  <bruno@clisp.org>
87419
87420         * modules/readlink: New file.
87421         * modules/xreadlink: Depend on it.
87422         * MODULES.html.sh (func_all_modules): Add readlink.
87423
87424 2003-06-25  Bruno Haible  <bruno@clisp.org>
87425
87426         * m4/readlink.m4: New file.
87427
87428 2003-06-25  Bruno Haible  <bruno@clisp.org>
87429
87430         * lib/readlink.c: New file.
87431
87432 2003-06-22  Karl Berry  <karl@gnu.org>
87433
87434         * config/srclist.txt: update mkinstalldirs from automake.
87435         * config/mkinstalldirs: update.
87436
87437 2003-06-22  Bruno Haible  <bruno@clisp.org>
87438
87439         Portability to mingw32.
87440         * m4/ssize_t.m4: New file, from GNU gettext.
87441         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
87442         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
87443
87444 2003-06-22  Bruno Haible  <bruno@clisp.org>
87445
87446         * modules/safe-read: Add m4/ssize_t.m4.
87447         * modules/xreadlink: Add m4/ssize_t.m4.
87448
87449 2003-06-20  Bruno Haible  <bruno@clisp.org>
87450
87451         Assume C89, so PARAMS isn't needed.
87452         * lib/unicodeio.h (PARAMS): Remove.
87453         * lib/unicodeio.c: Don't use PARAMS.
87454
87455 2003-06-18  Karl Berry  <karl@gnu.org>
87456
87457         * config/config.{guess,sub}: update from prep.
87458
87459 2003-06-18  Jim Meyering  <jim@meyering.net>
87460
87461         Merge changes from coreutils.
87462         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
87463         Remove explicit declarations of xmalloc and realloc.
87464         Include xalloc.h.
87465         (read_utmp): Remove anachronistic cast of xmalloc.
87466
87467 2003-06-17  Paul Eggert  <eggert@twinsun.com>
87468
87469         Assume C89, so PARAMS isn't needed.
87470         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
87471         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
87472         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
87473         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
87474         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
87475         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
87476         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
87477         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
87478         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
87479         lib/xstrtod.h, lib/xstrtol.h: Likewise.
87480         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
87481         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
87482         no longer needed. Anyway, config.h should always be included before any
87483         other file.
87484
87485 2003-06-11  Simon Josefsson  <jas@extundo.com>
87486
87487         * modules/sysexits: New file.
87488         * MODULES.html.sh (func_all_modules): Add sysexits.
87489
87490 2003-06-11  Simon Josefsson  <jas@extundo.com>
87491
87492         * lib/sysexit_.h: New file.
87493
87494 2003-06-11  Derek Price  <derek@ximbiot.com>
87495
87496         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
87497         necessary.
87498
87499 2003-06-11  Bruno Haible  <bruno@clisp.org>
87500
87501         * m4/sysexits.m4: New file.
87502
87503 2003-06-10  Simon Josefsson  <jas@extundo.com>
87504
87505         * lib/argp.h: New file, from glibc.
87506         * lib/argp-ba.c: New file, from glibc.
87507         * lib/argp-eexst.c: New file, from glibc.
87508         * lib/argp-fmtstream.c: New file, from glibc.
87509         * lib/argp-fmtstream.h: New file, from glibc.
87510         * lib/argp-fs-xinl.c: New file, from glibc.
87511         * lib/argp-help.c: New file, from glibc.
87512         * lib/argp-namefrob.h: New file, from glibc.
87513         * lib/argp-parse.c: New file, from glibc.
87514         * lib/argp-pv.c: New file, from glibc.
87515         * lib/argp-pvh.c: New file, from glibc.
87516         * lib/argp-xinl.c: New file, from glibc.
87517
87518 2003-06-10  Simon Josefsson  <jas@extundo.com>
87519
87520         * modules/strchrnul: New file.
87521
87522 2003-06-10  Simon Josefsson  <jas@extundo.com>
87523
87524         * modules/argp: New file.
87525
87526 2003-06-10  Simon Josefsson  <jas@extundo.com>
87527
87528         * m4/strchrnul.m4: New file.
87529
87530 2003-06-10  Simon Josefsson  <jas@extundo.com>
87531
87532         * lib/strchrnul.h: New file.
87533         * lib/strchrnul.c: New file.
87534
87535 2003-06-10  Bruno Haible  <bruno@clisp.org>
87536
87537         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
87538
87539 2003-06-07  Karl Berry  <karl@gnu.org>
87540
87541         * config/config.{guess,sub}: update from prep.
87542
87543 2003-06-07  Jim Meyering  <jim@meyering.net>
87544
87545         * modules/strtod: Use $(...) notation, not @...@ for
87546         AC_REPLACE'd variables.
87547         * modules/localcharset: Likewise.
87548
87549 2003-06-07  Jim Meyering  <jim@meyering.net>
87550
87551         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
87552         in place of my name in the copyright comment.
87553         Remove definition and uses of __P.
87554
87555         From coreutils.
87556         * lib/stat.c: Don't declare xmalloc explicitly.
87557         Instead, include "xalloc.h".
87558         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
87559         xrealloc, and xcalloc return values.
87560         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
87561         Improve comment.
87562         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
87563
87564 2003-06-07  Bruno Haible  <bruno@clisp.org>
87565
87566         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
87567         avoid AC_CONFIG_LINKS.
87568         * modules/fnmatch (Makefile.am): Use explicit creation rule for
87569         fnmatch.h, to avoid AC_CONFIG_LINKS.
87570         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
87571
87572 2003-06-07  Bruno Haible  <bruno@clisp.org>
87573
87574         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
87575         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
87576         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87577         directory.
87578         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
87579         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
87580         directory.
87581
87582 2003-06-06  Jim Meyering  <jim@meyering.net>
87583
87584         Merge from coreutils.
87585         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
87586         Consolidate declarations and initializations of *_base* locals.
87587
87588         Merge from coreutils.
87589         This avoids a core dump on systems without GNU putenv,
87590         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
87591         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
87592         (unsetenv): New static function, from GNU libc.
87593         (rpl_putenv): Use it.
87594
87595         * lib/modechange.c: Remove trailing blanks.
87596
87597         Merge from coreutils.
87598         * lib/fsusage.c: Remove declaration of statfs.
87599         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
87600
87601         * lib/posixtm.c: Include <stdbool.h> unconditionally.
87602
87603 2003-06-06  Jim Meyering  <jim@meyering.net>
87604
87605         * lib/stdbool_.h: Renamed from stdbool.h.in.
87606
87607 2003-06-06  Jim Meyering  <jim@meyering.net>
87608             Bruno Haible  <bruno@clisp.org>
87609
87610         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
87611         Adjust Makefile.am snippet not to redirect directly to target.
87612         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
87613
87614 2003-06-05  Paul Eggert  <eggert@twinsun.com>
87615
87616         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
87617         mismatch, look in future quarters as well as past.  This fixes a
87618         bug when processing fall-backwards gaps immediately after a long
87619         period of daylight-saving time.
87620
87621         * lib/mktime.c: Assume freestanding C89 or better.
87622         (HAVE_LIMITS_H): Remove.  Assume it's 1.
87623         (__P): Remove; not used.
87624         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
87625         (mktime, not_equal_tm, print_tm, check_result,
87626         main): Use prototypes.  Use const * where appropriate.
87627         (main): Fix typo in testing code that uncovered by above changes.
87628         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
87629
87630 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87631
87632         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
87633         locale.h, localeconv.  This merges changes from coreutils.
87634
87635         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
87636         It can be removed after the next Autoconf is released.
87637         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
87638         needed.
87639
87640 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87641
87642         * lib/mktime.c: Fix Debian bug 177940
87643         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
87644         (localtime_offset): Now long int, not time_t, because we want it
87645         to be guaranteed to be signed.  All uses changed.
87646         (__mktime_internal): If overflow would occur when adding offset,
87647         don't add it.
87648
87649         Merge 'human' changes from coreutils.  Rewrite to support
87650         locale-specific notations like thousands separators.
87651         * lib/human.c: Simplify authorship notice.
87652         Include human.h immediately after config.h.
87653         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
87654         <limits.h>: Do not include, since human.h does.
87655         (SIZE_MAX, UINTMAX_MAX): New macros.
87656         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
87657         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
87658         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
87659         (power_letter): Renamed from suffixes.
87660         (generate_suffix_backwards): Remove.
87661         (adjust_value): Now takes int style (because of human.h changes)
87662         and long double value (for greater precision on some platforms).
87663         (group_number): New function.
87664         (human_readable): Use it.  Use integer options, not enum.
87665         Put the options before the sizes in the arg list.
87666         Support all the new options.
87667         The old human_readable function has been removed;
87668         use inttostr.h instead.
87669         (human_readable, default_block_size, humblock):
87670         Use uintmax_t, not int, for block sizes.
87671         (human_readable_inexact, block_size_types): Remove.
87672         (block_size_opts): New constant.
87673         (human_options): Renamed from human_block_size, with new signature
87674         that allows block sizes up to UINTMAX_MAX.  All callers changed.
87675         * lib/human.h: Add copyright and authorship notice.
87676         Include <limits.h> and <stdbool.h> unconditionally.
87677         (PARAMS): Remove.  All uses removed.
87678         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
87679         (enum human_inexact_style): Remove tag; now a nameless enum.
87680         (human_floor, human_ceiling, human_round_to_even): Now have
87681         values 2, 0, 1 rather than -1, 1, 0.
87682         (human_group_digits, human_suppress_point_zero, human_autoscale,
87683         human_base_1024, human_SI, human_B): New constants.
87684         (human_readable_inexact, human_block_size): Remove.
87685         (human_readable): Size args are now uintmax_t, not int.
87686         (human_options): New decl.
87687
87688         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
87689         unnecessary now that we assume C89 or better.  This change
87690         imported from coreutils.
87691
87692         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
87693         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
87694         in the 2003-05-30 sync from glibc.
87695
87696         .h files should stand alone, but we shouldn't include <sys/types.h>
87697         if we can get away with just <stddef.h>.
87698
87699         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
87700         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
87701         rather than <sys/types.h>, as we merely need size_t.
87702         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
87703         to get size_t.
87704         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
87705         Include <stdio.h>, to get FILE.
87706         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
87707         memcasecmp.h has included <stddef.h> and all we need is size_t.
87708         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
87709         our interface, instead of including <sys/types.h>
87710
87711 2003-06-04  Paul Eggert  <eggert@twinsun.com>
87712
87713         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
87714         now, as glibc mktime is buggy on non-glibc systems.
87715
87716 2003-06-03  Karl Berry  <karl@gnu.org>
87717
87718         * config/config.sub: update from prep.
87719
87720 2003-06-02  Paul Eggert  <eggert@twinsun.com>
87721
87722         [from coreutils]
87723         Fix some minor time-related bugs with POSIX time arguments.
87724         Some valid time stamps were being rejected (notably -1, and
87725         time stamps before 1900 on 64-bit hosts).  And some invalid
87726         time stamps were being accepted, e.g. September 31.
87727
87728         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
87729         that we can return (time_t) -1 successfully.
87730         * lib/posixtm.c: Likewise.
87731         [HAVE_STDBOOL_H]: Include <stdbool.h>.
87732         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
87733         (t): Remove static var.
87734         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
87735         of static var.  All uses changed.
87736         (year): Do not reject years before 1900; they can occur with
87737         64-bit time_t.
87738         (posix_time_parse): Do not check for out-of-range components;
87739         that is now the caller's responsibility, since our checks were
87740         only approximations.
87741         (posixtime): Use mktime to check for out-of-range components,
87742         since it knows them exactly.
87743         If mktime returns (time_t) -1, check whether an error actually occurred
87744         by invoking localtime on -1.
87745         (main) [TEST_POSIXTIME]: Check for input data errors, and report
87746         posixtime failures better.
87747         Improve the test data (in comments only).
87748
87749 2003-06-02  Karl Berry  <karl@gnu.org>
87750
87751         * config/mkinstalldirs (version): new variable.
87752         (--version): new option.
87753         (usage): improve message.
87754
87755 2003-05-30  Karl Berry  <karl@gnu.org>
87756
87757         * lib/mktime.c: update from libc.
87758
87759 2003-05-30  Bruno Haible  <bruno@clisp.org>
87760
87761         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
87762         * config/config.rpath: Upgrade to gettext-0.12.1.
87763
87764 2003-05-30  Bruno Haible  <bruno@clisp.org>
87765
87766         * m4/gettext.m4: Upgrade to gettext-0.12.1.
87767         * m4/nls.m4: New file, from gettext-0.12.1.
87768         * m4/po.m4: New file, from gettext-0.12.1.
87769         * m4/progtest.m4: Upgrade to gettext-0.12.1.
87770
87771 2003-05-30  Bruno Haible  <bruno@clisp.org>
87772
87773         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
87774         * lib/localcharset.h: Likewise.
87775         * lib/localcharset.c: Likewise.
87776
87777 2003-05-29  Karl Berry  <karl@gnu.org>
87778
87779         * config/config.rpath: update from gettext.
87780
87781 2003-05-28  Paul Eggert  <eggert@twinsun.com>
87782
87783         Assume the headers required for C89 freestanding compilers.
87784         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
87785         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
87786         * m4/human.m4 (gl_HUMAN): Likewise.
87787         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
87788         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
87789         * m4/userspec.m4 (gl_USERSPEC): Likewise.
87790         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
87791         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
87792         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
87793
87794 2003-05-28  Paul Eggert  <eggert@twinsun.com>
87795
87796         Assume the headers required for C89 freestanding compilers.
87797         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
87798         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
87799         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
87800         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
87801         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
87802         define, since <limits.h> is guaranteed to do that.
87803         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
87804         * lib/exclude.c: Include <stdbool.h> unconditionally.
87805         * lib/tempname.c: Include <stddef.h> unconditionally.
87806         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
87807         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
87808         <stddef.h> does that.
87809         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
87810         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
87811         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
87812         needed.
87813         * lib/xstrtol.c: Likewise.
87814         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
87815         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
87816
87817         * lib/addext.c (addext): Use assignment rather than cast, to avoid
87818         warnings on some platforms.
87819
87820         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
87821         arbitrarily.
87822
87823 2003-05-26  Jim Meyering  <jim@meyering.net>
87824
87825         Merge in a change from coreutils:
87826         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
87827         that is guaranteed to be `no'.  Use `no_such_member' to indicate
87828         that condition, rather than `-1' which is slightly misleading.
87829         Change the name of the cache variable to have the gl_ prefix.
87830         Prompted by a patch from Richard Dawe for DJGPP.
87831
87832 2003-05-24  Karl Berry  <karl@gnu.org>
87833
87834         * config/config.guess: update from prep.
87835
87836 2003-05-22  Karl Berry  <karl@gnu.org>
87837
87838         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
87839
87840 2003-05-20  Karl Berry  <karl@gnu.org>
87841
87842         * config/config.guess: update from prep.
87843
87844 2003-05-18  Karl Berry  <karl@gnu.org>
87845
87846         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
87847         might actually be set by the user.
87848
87849         * config/depcomp, install-sh, mdate-sh: update from automake.
87850
87851 2003-05-17  Bruno Haible  <bruno@clisp.org>
87852
87853         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
87854         invalid expansion for AC_EGREP_CPP.
87855         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
87856         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
87857         Suggested by Akim Demaille <akim@epita.fr> in
87858         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
87859
87860 2003-05-12  Jim Meyering  <jim@meyering.net>
87861
87862         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
87863         the space-padded-by-default conversion specifiers, %e, %k, %l.
87864
87865 2003-05-12  Bruno Haible  <bruno@clisp.org>
87866
87867         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
87868         the string is longer than 4 KB.
87869
87870 2003-05-11  Karl Berry  <karl@gnu.org>
87871
87872         * config/config.{guess,sub}: update from prep.
87873
87874 2003-05-09  Bruno Haible  <bruno@clisp.org>
87875
87876         * modules/error: Add m4/strerror_r.m4 to file list.
87877
87878 2003-05-03  Bruno Haible  <bruno@clisp.org>
87879
87880         Upgrade to Unicode-4.0.
87881         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
87882         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
87883         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
87884         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
87885         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
87886         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
87887         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
87888         Change width of U+E0100..U+E01EF from 1 to 0.
87889
87890 2003-04-25  Jim Meyering  <jim@meyering.net>
87891
87892         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
87893         of type size_t, not int.
87894
87895 2003-04-25  Bruno Haible  <bruno@clisp.org>
87896
87897         * lib/copy-file.c: Include <stddef.h>, for size_t.
87898
87899 2003-04-21  Paul Eggert  <eggert@twinsun.com>
87900
87901         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
87902         code which expansion is under static control.  Patch imported from
87903         Akim Demaille's patch to Bison; see
87904         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
87905
87906 2003-04-14  Bruno Haible  <bruno@clisp.org>
87907
87908         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
87909
87910 2003-04-11  Jim Meyering  <jim@meyering.net>
87911
87912         Merge changes from Coreutils.
87913
87914         2003-03-22  Jim Meyering  <jim@meyering.net>
87915
87916         * lib/strftime.c (widen): Cast alloca return value to proper type.
87917
87918         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
87919
87920         From GNU libc.
87921         * lib/strftime.c (my_strftime): Handle very large width
87922         specifications for numeric values correctly.  Improve checks for
87923         overflow.
87924
87925         2003-01-19  Jim Meyering  <jim@meyering.net>
87926
87927         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
87928         definitions.
87929         (nl_get_alt_digit) [! defined my_strftime]: Define.
87930         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
87931         _nl_get_alt_digit and _nl_get_walt_digit.
87932
87933         * lib/strftime.c (my_strftime): Merge in locale-related changes from
87934         libc. These changes have no effect outside of _LIBC.
87935
87936 2003-04-10  Bruno Haible  <bruno@clisp.org>
87937
87938         * modules/findprog: New file.
87939         * MODULES.html.sh (func_all_modules): Add it.
87940
87941 2003-04-10  Bruno Haible  <bruno@clisp.org>
87942
87943         * m4/findprog.m4: New file.
87944         * m4/eaccess.m4: New file.
87945
87946 2003-04-10  Bruno Haible  <bruno@clisp.org>
87947
87948         * lib/findprog.h: New file, from GNU gettext.
87949         * lib/findprog.c: New file, from GNU gettext.
87950
87951 2003-04-05  Jim Meyering  <jim@meyering.net>
87952
87953         Merge changes from Coreutils.
87954
87955         * lib/exclude.h (PARAMS): Remove definition and uses.
87956         * lib/exclude.c: Remove uses of `PARAMS'.
87957
87958         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
87959         Add test-cases for DOS filenames. Declare program_name.
87960         (main): Set up program_name.  Patch by Rich Dawe.
87961
87962         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
87963         error from mntctl.
87964         Use mntctl's return value to drive the entry-processing loop, since
87965         we can't rely on the value of the vmt_length member in the last
87966         entry.  On some systems doing so could result in exhausting
87967         virtual memory.  Based in part on a patch from Mike Jetzer.
87968
87969 2003-04-04  Bruno Haible  <bruno@clisp.org>
87970
87971         * modules/linebreak: New file.
87972         * MODULES.html.sh (func_all_modules): Add it.
87973
87974 2003-04-04  Bruno Haible  <bruno@clisp.org>
87975
87976         * m4/linebreak.m4: New file.
87977
87978 2003-04-04  Bruno Haible  <bruno@clisp.org>
87979
87980         * lib/linebreak.h: New file, from GNU gettext.
87981         * lib/linebreak.c: New file, from GNU gettext with slight
87982         modifications.
87983         * lib/lbrkprop.h: New file, from GNU gettext.
87984
87985 2003-04-03  Bruno Haible  <bruno@clisp.org>
87986
87987         * modules/utf8-ucs4: New file.
87988         * modules/utf16-ucs4: New file.
87989         * modules/ucs4-utf8: New file.
87990         * modules/ucs4-utf16: New file.
87991         * MODULES.html.sh (func_all_modules): Add them.
87992
87993 2003-04-03  Bruno Haible  <bruno@clisp.org>
87994
87995         * m4/utf-ucs4.m4: New file.
87996         * m4/ucs4-utf.m4: New file.
87997
87998 2003-04-03  Bruno Haible  <bruno@clisp.org>
87999
88000         * lib/utf8-ucs4.h: New file, from GNU gettext.
88001         * lib/utf16-ucs4.h: New file, from GNU gettext.
88002         * lib/ucs4-utf8.h: New file, from GNU gettext.
88003         * lib/ucs4-utf16.h: New file, from GNU gettext.
88004
88005 2003-04-02  Bruno Haible  <bruno@clisp.org>
88006
88007         * modules/binary-io: New file.
88008         * MODULES.html.sh (func_all_modules): Add it.
88009
88010 2003-04-02  Bruno Haible  <bruno@clisp.org>
88011
88012         * lib/binary-io.h: New file, from GNU gettext.
88013
88014 2003-04-01  Bruno Haible  <bruno@clisp.org>
88015
88016         * modules/pathname: New file.
88017         * MODULES.html.sh (func_all_modules): Add it.
88018
88019 2003-04-01  Bruno Haible  <bruno@clisp.org>
88020
88021         * lib/pathname.h: New file, from GNU gettext.
88022         * lib/concatpath.c: New file, from GNU gettext.
88023
88024 2003-03-30  Bruno Haible  <bruno@clisp.org>
88025
88026         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
88027
88028 2003-03-30  Bruno Haible  <bruno@clisp.org>
88029
88030         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
88031         function chown() doesn't exist.
88032
88033 2003-03-28  Bruno Haible  <bruno@clisp.org>
88034
88035         * modules/copy-file: New file.
88036         * MODULES.html.sh (func_all_modules): Add it.
88037
88038 2003-03-28  Bruno Haible  <bruno@clisp.org>
88039
88040         * m4/copy-file.m4: New file.
88041
88042 2003-03-28  Bruno Haible  <bruno@clisp.org>
88043
88044         * lib/copy-file.h: New file, from GNU gettext.
88045         * lib/copy-file.c: New file, from GNU gettext.
88046
88047 2003-03-18  Jim Meyering  <jim@meyering.net>
88048
88049         * lib/quote.c (quote_n): Fix typo in comment.
88050
88051 2003-03-18  Bruno Haible  <bruno@clisp.org>
88052
88053         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
88054         checking.
88055         * m4/onceonly_2_57.m4: Likewise.
88056
88057 2003-03-17  Bruno Haible  <bruno@clisp.org>
88058
88059         * m4/onceonly.m4: Require autoconf 2.54 or newer.
88060         (m4_quote): Remove macro.
88061         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
88062
88063 2003-03-14  Jim Meyering  <jim@meyering.net>
88064
88065         Merge changes from Coreutils.
88066         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
88067         to be const, in order to avoid warnings.
88068         (obstack_room): Likewise.
88069         (obstack_empty_p): Likewise.
88070
88071 2003-03-14  Bruno Haible  <bruno@clisp.org>
88072
88073         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
88074         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
88075
88076 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88077
88078         Merge changes from Bison.
88079         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
88080         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
88081         when compiling Bison 1.875's `bitset bset = obstack_alloc
88082         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
88083         * lib/hash.c: Include <stdbool.h> unconditionally.
88084
88085 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88086
88087         * m4/onceonly.m4 (m4_quote): New macro.
88088         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
88089         Quote AC_FOREACH variable-expansions properly.
88090
88091 2003-03-13  Paul Eggert  <eggert@twinsun.com>
88092
88093         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
88094
88095 2003-03-09  Paul Eggert  <eggert@twinsun.com>
88096
88097         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
88098         Reported by Bruce Becker; see:
88099         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
88100
88101 2003-03-03  Paul Eggert  <eggert@twinsun.com>
88102             Bruno Haible  <bruno@clisp.org>
88103
88104         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
88105         Reported by John Hughes, see
88106         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
88107
88108 2003-02-20  Bruno Haible  <bruno@clisp.org>
88109
88110         * MODULES.html.sh (func_all_modules): Add poll.
88111
88112 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88113
88114         * modules/poll: New file.
88115
88116 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88117
88118         * lib/poll_.h: New file.
88119         * lib/poll.c: New file.
88120
88121 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
88122
88123         * m4/poll.m4: New file.
88124
88125 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88126
88127         * modules/mathl: New file.
88128
88129 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88130
88131         * lib/mathl.h: New file.
88132         * lib/acosl.c: New file.
88133         * lib/asinl.c: New file.
88134         * lib/atanl.c: New file.
88135         * lib/ceill.c: New file.
88136         * lib/cosl.c: New file.
88137         * lib/expl.c: New file.
88138         * lib/floorl.c: New file.
88139         * lib/frexpl.c: New file.
88140         * lib/ldexpl.c: New file.
88141         * lib/logl.c: New file.
88142         * lib/sincosl.c: New file.
88143         * lib/sinl.c: New file.
88144         * lib/sqrtl.c: New file.
88145         * lib/tanl.c: New file.
88146         * lib/trigl.c: New file.
88147         * lib/trigl.h: New file.
88148
88149 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
88150
88151         * m4/mathl.m4: New file.
88152
88153 2003-02-18  Bruno Haible  <bruno@clisp.org>
88154
88155         * MODULES.html.sh (func_all_modules): Add mathl.
88156
88157 2003-02-17  Bruno Haible  <bruno@clisp.org>
88158
88159         * modules/mkdtemp: New module.
88160         * MODULES.html.sh (func_all_modules): Add it.
88161
88162 2003-02-17  Bruno Haible  <bruno@clisp.org>
88163
88164         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
88165
88166 2003-02-17  Bruno Haible  <bruno@clisp.org>
88167
88168         * lib/mkdtemp.h: New file, from GNU gettext.
88169         * lib/mkdtemp.c: New file, from GNU gettext.
88170
88171 2003-02-02  Jim Meyering  <jim@meyering.net>
88172
88173         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
88174         e.g. glibc-2.2.93.
88175
88176 2003-01-31  Bruno Haible  <bruno@clisp.org>
88177
88178         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
88179         'rpl_rename'.
88180         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
88181         'rpl_strnlen'.
88182         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
88183         'rpl_strtod'.
88184         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
88185         'rpl_utime'.
88186
88187 2003-01-31  Bruno Haible  <bruno@clisp.org>
88188
88189         * lib/rename.c: #undef rename before defining rpl_rename.
88190         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
88191
88192 2003-01-30  Bruno Haible  <bruno@clisp.org>
88193
88194         * modules/vasnprintf, modules/vasprintf: New modules.
88195         * MODULES.html.sh (func_all_modules): Add them.
88196
88197 2003-01-30  Bruno Haible  <bruno@clisp.org>
88198
88199         * m4/signed.m4: New file, from GNU gettext.
88200         * m4/longdouble.m4: New file, from GNU gettext.
88201         * m4/wchar_t.m4: New file, from GNU gettext.
88202         * m4/wint_t.m4: New file, from GNU gettext.
88203         * m4/vasnprintf.m4: New file.
88204         * m4/vasprintf.m4: New file.
88205
88206 2003-01-30  Bruno Haible  <bruno@clisp.org>
88207
88208         * lib/printf-args.h: New file, from GNU gettext.
88209         * lib/printf-args.c: New file, from GNU gettext.
88210         * lib/printf-parse.h: New file, from GNU gettext.
88211         * lib/printf-parse.c: New file, from GNU gettext.
88212         * lib/vasnprintf.h: New file, from GNU gettext.
88213         * lib/vasnprintf.c: New file, from GNU gettext.
88214         * lib/asnprintf.c: New file, from GNU gettext.
88215         * lib/vasprintf.h: New file, from GNU gettext with modifications.
88216         * lib/vasprintf.c: New file, from GNU gettext.
88217         * lib/asprintf.c: New file, from GNU gettext.
88218
88219 2003-01-29  Bruno Haible  <bruno@clisp.org>
88220
88221         * modules/stpncpy: New module.
88222         * MODULES.html.sh (func_all_modules): Add it.
88223
88224 2003-01-29  Bruno Haible  <bruno@clisp.org>
88225
88226         * m4/stpncpy.m4: New file.
88227
88228 2003-01-29  Bruno Haible  <bruno@clisp.org>
88229
88230         * lib/stpncpy.h: New file, from GNU gettext with modifications.
88231         * lib/stpncpy.c: New file, from GNU gettext with modifications.
88232
88233 2003-01-28  Bruno Haible  <bruno@clisp.org>
88234
88235         * modules/c-ctype: New module.
88236         * MODULES.html.sh (func_all_modules): Add it.
88237
88238 2003-01-28  Bruno Haible  <bruno@clisp.org>
88239
88240         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
88241         Paul Eggert.
88242         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
88243         Paul Eggert.
88244
88245 2003-01-27  Bruno Haible  <bruno@clisp.org>
88246
88247         * modules/xsetenv: New module.
88248         * MODULES.html.sh (func_all_modules): Add it.
88249
88250 2003-01-27  Bruno Haible  <bruno@clisp.org>
88251
88252         * lib/xsetenv.h: New file, from GNU gettext.
88253         * lib/xsetenv.c: New file, from GNU gettext.
88254
88255 2003-01-23  Jim Meyering  <jim@meyering.net>
88256
88257         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
88258         from working on systems without dirfd (at least Irix and OSF1/Tru64).
88259
88260 2003-01-23  Bruno Haible  <bruno@clisp.org>
88261
88262         * modules/minmax: New module.
88263         * MODULES.html.sh (func_all_modules): Add it.
88264
88265 2003-01-23  Bruno Haible  <bruno@clisp.org>
88266
88267         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
88268         Eggert.
88269
88270 2003-01-22  Bruno Haible  <bruno@clisp.org>
88271
88272         * modules/exit: New module.
88273         * MODULES.html.sh (func_all_modules): Add it.
88274
88275 2003-01-22  Bruno Haible  <bruno@clisp.org>
88276
88277         * lib/exit.h: New file, from GNU gettext.
88278
88279 2003-01-19  Bruno Haible  <bruno@clisp.org>
88280
88281         * gnulib-tool: Recognize option --extract-maintainer.
88282         (func_get_maintainer): New function.
88283         * modules/*: Add Maintainer entry.
88284
88285 2003-01-16  Jim Meyering  <jim@meyering.net>
88286
88287         * m4/regex.m4: The `regex' struct is both input and output.
88288         Initialize it before each use.  Patch by Tim Waugh.
88289
88290 2003-01-16  Bruno Haible  <bruno@clisp.org>
88291
88292         * MODULES.html.sh: Add a table of contents. Add the module name as
88293         leftmost column. Add hyperlinks.
88294
88295 2003-01-15  Bruno Haible  <bruno@clisp.org>
88296
88297         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
88298
88299 2003-01-15  Bruno Haible  <bruno@clisp.org>
88300
88301         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
88302         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
88303         suffix.
88304
88305 2003-01-15  Bruno Haible  <bruno@clisp.org>
88306
88307         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
88308
88309 2003-01-15  Bruno Haible  <bruno@clisp.org>
88310
88311         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
88312         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
88313
88314 2003-01-14  Jim Meyering  <jim@meyering.net>
88315
88316         * lib/same.c (same_name): Tweak a comment.
88317
88318 2003-01-14  Bruno Haible  <bruno@clisp.org>
88319
88320         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
88321         when a string comparison is sufficient.
88322
88323 2003-01-14  Bruno Haible  <bruno@clisp.org>
88324
88325         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
88326         'unsigned int'.
88327
88328 2003-01-14  Bruno Haible  <bruno@clisp.org>
88329
88330         * lib/hash-pjw.c: Add comment about low quality of this function.
88331
88332 2003-01-13  Bruno Haible  <bruno@clisp.org>
88333
88334         * modules/stpcpy: Distribute lib/stpcpy.h.
88335         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
88336
88337 2003-01-13  Bruno Haible  <bruno@clisp.org>
88338
88339         * modules/*: Add a description.
88340         * modules/strpbrk: Fix Makefile.am snippet.
88341         * modules/strtoimax: Fix dependencies.
88342         * modules/strtoumax: Likewise.
88343
88344 2003-01-13  Bruno Haible  <bruno@clisp.org>
88345
88346         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
88347         * modules/alloca (Makefile.am): All object files depend on alloca.h.
88348         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
88349
88350 2003-01-13  Bruno Haible  <bruno@clisp.org>
88351
88352         * gnulib-tool (func_create_testdir): Store config/* files in the main
88353         directory.
88354         * config.rpath: Move to ...
88355         * config/config.rpath: ... here.
88356         * modules/gettext: Contains config/config.rpath, not config.rpath.
88357         * modules/iconv: Likewise.
88358
88359 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88360
88361         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88362         to avoid collisions with libcurses and libreadline.
88363
88364         * m4/getstr.m4: Remove.
88365         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
88366
88367 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88368
88369         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88370         to avoid collisions with libcurses and libreadline.
88371
88372         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
88373         * lib/getstr.h, getstr.c: Remove.
88374         * lib/getline.c: Include "getline.h", to check interface.
88375         Move body of old getstr.c here: this defines MIN_CHUNK and
88376         declares getdelim2, which is renamed from getstr.
88377         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
88378
88379         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
88380         All uses changed.
88381         * lib/linebuffer.h: Likewise.
88382         (readline): Remove backward-compatibility macro.
88383
88384 2003-01-12  Paul Eggert  <eggert@twinsun.com>
88385
88386         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
88387         to avoid collisions with libcurses and libreadline.
88388         * getstr: Remove.
88389         * MODULES.html.sh: Remove getstr.
88390         * modules/getline: Depend on unlocked-io, not getstr.
88391
88392 2003-01-12  Jim Meyering  <jim@meyering.net>
88393
88394         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
88395
88396 2003-01-10  Bruno Haible  <bruno@clisp.org>
88397
88398         * modules/alloca: Change Makefile.am requirements. Simplify Include
88399         requirements. Add lib/alloca_.h to file list.
88400
88401 2003-01-10  Bruno Haible  <bruno@clisp.org>
88402
88403         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
88404
88405 2003-01-10  Bruno Haible  <bruno@clisp.org>
88406
88407         * lib/alloca_.h: New file.
88408         * lib/getdate.y: Unconditionally include alloca.h.
88409         * lib/makepath.c: Likewise.
88410         * lib/setenv.c: Likewise.
88411         * lib/userspec.c: Likewise.
88412
88413 2003-01-09  Karl Berry  <karl@gnu.org>
88414
88415         * MODULES.html.sh: include `dirname $0` in PATH, to find
88416         gnulib-tool.
88417
88418 2003-01-09  Bruno Haible  <bruno@clisp.org>
88419
88420         * modules/stdbool: Change configure.ac, Makefile.am requirements.
88421         Simplify Include requirements. Add lib/stdbool.h.in to file list.
88422
88423 2003-01-09  Bruno Haible  <bruno@clisp.org>
88424
88425         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
88426
88427 2003-01-09  Bruno Haible  <bruno@clisp.org>
88428
88429         * lib/stdbool.h.in: New file.
88430
88431 2003-01-09  Bruno Haible  <bruno@clisp.org>
88432
88433         * gnulib-tool (func_all_modules): Ignore files ending in ~.
88434         * MODULES.html.sh: Likewise.
88435
88436 2003-01-08  Jim Meyering  <jim@meyering.net>
88437
88438         * lib/full-write.c: Undefine and define-away `const' after inclusion
88439         of errno.h, not before.  Suggestion from Bruno Haible.
88440
88441 2003-01-08  Bruno Haible  <bruno@clisp.org>
88442
88443         * modules/full-read: Depend on full-write.
88444
88445 2003-01-08  Bruno Haible  <bruno@clisp.org>
88446
88447         * lib/safe-read.c: Include specification header first, to ensure its
88448         selfcontainedness.
88449         * lib/full-write.c: Likewise.
88450
88451 2003-01-07  Jim Meyering  <jim@meyering.net>
88452
88453         * lib/full-write.c: Rework so that it may serve to define full_read,
88454         too.
88455         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
88456
88457 2003-01-07  Bruno Haible  <bruno@clisp.org>
88458
88459         * lib/strtoimax.c: Include <stdint.h> as an alternative to
88460         <inttypes.h>.
88461         * lib/xstrtol.h: Likewise.
88462         * lib/xstrtoimax.c: Likewise.
88463         * lib/xstrtoumax.c: Likewise.
88464         * lib/human.h: Likewise.
88465
88466         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
88467         on systems that have <inttypes.h> but not <stdint.h>.
88468
88469 2003-01-07  Bruno Haible  <bruno@clisp.org>
88470
88471         * MODULES.html.sh: Add copyright notice.
88472         (missed_files): Omit CVS directory entries.
88473         (func_module): Make it work with sed-3.02.
88474         * MODULES.txt: Remove file.
88475
88476 2003-01-06  Jim Meyering  <jim@meyering.net>
88477
88478         * lib/version-etc.c: Update year in translatable copyright string.
88479
88480 2003-01-03  Karl Berry  <karl@gnu.org>
88481
88482         * config/config.{guess,sub}: update from prep.
88483
88484 2003-01-02  Karl Berry  <karl@gnu.org>
88485
88486         * doc/COPYING.DOC: belatedly updated to 1.2.
88487
88488 2003-01-01  Karl Berry  <karl@gnu.org>
88489
88490         * gnulib-tool (func_verify_module): report module name $module in
88491         error message, not $1.
88492         * gnulib-tool (create-testdir): don't complain if destdir couldn't
88493         be created, only if it doesn't exist.
88494         * gnulib-tool (last_checkin_date): don't expand the $Date here.
88495
88496 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88497
88498         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
88499
88500 2002-12-31  Paul Eggert  <eggert@twinsun.com>
88501
88502         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
88503         memcmp if strcoll doesn't work.
88504
88505 2002-12-31  Bruno Haible  <bruno@clisp.org>
88506
88507         * lib/utime.c (utime_null): No need to call ftruncate if the file was
88508         nonempty.
88509
88510 2002-12-31  Bruno Haible  <bruno@clisp.org>
88511
88512         * lib/memcoll.c (STRCOLL): New macro.
88513         (memcoll): Use it.
88514
88515 2002-12-31  Bruno Haible  <bruno@clisp.org>
88516
88517         * lib/localcharset.h: New file.
88518         * lib/localcharset.c: Include it.
88519         * lib/unicodeio.c: Likewise.
88520
88521 2002-12-31  Bruno Haible  <bruno@clisp.org>
88522
88523         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
88524         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
88525
88526 2002-12-31  Bruno Haible  <bruno@clisp.org>
88527
88528         * lib/getline.h: Include <stddef.h>, for size_t.
88529
88530         * lib/unicodeio.h: Include <stddef.h>, for size_t.
88531         * lib/unicodeio.c: Don't include <stddef.h>.
88532
88533 2002-12-31  Bruno Haible  <bruno@clisp.org>
88534
88535         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
88536         HAVE_TM_ZONE.
88537
88538 2002-12-24  Karl Berry  <karl@gnu.org>
88539
88540         * config/config.guess: update from prep.
88541
88542 2002-12-24  Bruno Haible  <bruno@clisp.org>
88543
88544         General infrasructure.
88545         * m4/README: Rewritten.
88546         * m4/onceonly.m4: New file.
88547         * m4/onceonly_2_57.m4: New file.
88548
88549         Module atexit.
88550         * m4/atexit.m4: New file.
88551
88552         Module strtod.
88553         * m4/strtod.m4: New file.
88554
88555         Module strtol.
88556         * m4/strtol.m4: New file.
88557
88558         Module strtoul.
88559         * m4/strtoul.m4: New file.
88560
88561         Module memchr.
88562         * m4/memchr.m4: New file.
88563
88564         Module memcmp.
88565         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
88566         (jm_FUNC_MEMCMP): Invoke it.
88567
88568         Module memcpy.
88569         * m4/memcpy.m4: New file.
88570
88571         Module memmove.
88572         * m4/memmove.m4: New file.
88573
88574         Module memset.
88575         * m4/memset.m4: New file.
88576
88577         Module strcspn.
88578         * m4/strcspn.m4: New file.
88579
88580         Module strpbrk.
88581         * m4/strpbrk.m4: New file.
88582
88583         Module strstr.
88584         * m4/strstr.m4: New file.
88585
88586         Module strerror.
88587         * m4/strerror.m4: New file.
88588
88589         Module mktime.
88590         * m4/mktime.m4: Renamed from jm-mktime.m4.
88591         (gl_PREREQ_MKTIME): New macro.
88592         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
88593
88594         Module malloc.
88595         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
88596         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
88597         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
88598
88599         Module realloc.
88600         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
88601         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
88602         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
88603
88604         Module strftime.
88605         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
88606         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
88607         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
88608         gl_TM_GMTOFF.
88609         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
88610
88611         Module xalloc.
88612         * m4/xalloc.m4: New file.
88613
88614         Module alloca.
88615         * m4/alloca.m4: New file.
88616
88617         Module putenv.
88618         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
88619         (jm_FUNC_PUTENV): Invoke it.
88620
88621         Module setenv.
88622         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
88623         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
88624         when invoked twice.
88625         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
88626         gt_FUNC_SETENV.
88627
88628         Module memrchr.
88629         * m4/memrchr.m4: New file.
88630
88631         Module stpcpy.
88632         * m4/stpcpy.m4: New file.
88633
88634         Module strcase.
88635         * m4/strcase.m4: New file.
88636
88637         Module strdup.
88638         * m4/strdup.m4: New file.
88639
88640         Module strnlen.
88641         * m4/strnlen.m4: New file.
88642
88643         Module strndup.
88644         * m4/strndup.m4: New file.
88645
88646         Module xstrtod.
88647         * m4/xstrtod.m4: New file.
88648
88649         Module xstrtol.
88650         * m4/xstrtol.m4: New file.
88651
88652         Module getdate.
88653         * m4/getdate.m4: New file.
88654
88655         Module unlocked-io.
88656         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
88657         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
88658         * m4/jm-glibc-io.m4n: Remove file.
88659
88660         Module long-options.
88661         * m4/long-options.m4: New file.
88662
88663         Module md5.
88664         * m4/md5.m4: New file.
88665
88666         Module sha.
88667         * m4/sha.m4: New file.
88668
88669         Module getstr.
88670         * m4/getstr.m4: New file.
88671
88672         Module getline.
88673         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
88674         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
88675         <sys/types.h>, for size_t. Use the function name gnu_getline, not
88676         simply getline. Infoke gl_PREREQ_GETLINE.
88677
88678         Module obstack.
88679         * m4/obstack.m4: New file.
88680
88681         Module hash.
88682         * m4/hash.m4: New file.
88683
88684         Module readtokens.
88685         * m4/readtokens.m4: New file.
88686
88687         Module strverscmp.
88688         * m4/strverscmp.m4: New file.
88689
88690         Module stdbool.
88691         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
88692         OSF/1.
88693
88694         Module strtoll.
88695         * m4/strtoll.m4: New file.
88696
88697         Module strtoull.
88698         * m4/strtoull.m4: New file.
88699
88700         Module strtoimax.
88701         * m4/strtoimax.m4: New file.
88702
88703         Module strtoumax.
88704         * m4/strtoumax.m4: New file.
88705
88706         Module xstrtoimax.
88707         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
88708         jm_AC_PREREQ_XSTRTOIMAX.
88709         Moved the strtol prerequisites to strtol.m4.
88710         Moved the strtoll prerequisites to strtoll.m4.
88711         Moved the strtoimax prerequisites to strtoimax.m4.
88712
88713         Module xstrtoumax.
88714         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
88715         jm_AC_PREREQ_XSTRTOUMAX.
88716         Moved the strtoul prerequisites to strtoul.m4.
88717         Moved the strtoull prerequisites to strtoull.m4.
88718         Moved the strtoumax prerequisites to strtoumax.m4.
88719
88720         Module chown.
88721         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
88722         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
88723
88724         Module dup2.
88725         * m4/dup2.m4: New file.
88726
88727         Module ftruncate.
88728         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
88729         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
88730
88731         Module getgroups.
88732         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
88733         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
88734
88735         Module gettimeofday.
88736         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
88737         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
88738         gl_PREREQ_GETTIMEOFDAY.
88739
88740         Module mkdir.
88741         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
88742         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
88743
88744         Module mkstemp.
88745         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
88746         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
88747         jm_AC_TYPE_UINTMAX_T.
88748         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
88749
88750         Module stat.
88751         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
88752         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
88753
88754         Module lstat.
88755         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
88756         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
88757
88758         Module timespec.
88759         * m4/timespec.m4 (gl_TIMESPEC): New macro.
88760         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
88761         * m4/st_mtim.m4: Indentation.
88762
88763         Module nanosleep.
88764         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
88765         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
88766         gl_PREREQ_NANOSLEEP.
88767
88768         Module regex.
88769         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
88770         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
88771         (gl_REGEX): New macro.
88772
88773         Module rename.
88774         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
88775         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
88776
88777         Module rmdir.
88778         * m4/rmdir.m4: New file.
88779
88780         Module utime.
88781         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
88782         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
88783         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
88784
88785         Module dirname.
88786         * m4/dirname.m4: New file.
88787
88788         Module getopt.
88789         * m4/getopt.m4: New file.
88790
88791         Module unistd-safer.
88792         * m4/unistd-safer.m4: New file.
88793
88794         Module fnmatch.
88795         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
88796         declaration.
88797         (gl_PREREQ_FNMATCH_EXTRA): New macro.
88798         (gl_FUNC_FNMATCH_POSIX): New macro.
88799         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
88800         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
88801         simply fnmatch.
88802
88803         Module exclude.
88804         * m4/exclude.m4: New file.
88805
88806         Module human.
88807         * m4/human.m4: New file.
88808
88809         Module acl.
88810         * m4/acl.m4: Nop.
88811
88812         Module backupfile.
88813         * m4/backupfile.m4: New file.
88814         * m4/d-ino.m4: Indentation.
88815
88816         Module fsusage.
88817         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
88818         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
88819         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
88820
88821         Module dirfd.
88822         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
88823         requirements.
88824
88825         Module euidaccess.
88826         * m4/euidaccess.m4: New file.
88827
88828         Module file-type.
88829         * m4/file-type.m4: New file.
88830
88831         Module fileblocks.
88832         * m4/fileblocks.m4: New file.
88833
88834         Module filemode.
88835         * m4/filemode.m4: New file.
88836
88837         Module isdir.
88838         * m4/isdir.m4: New file.
88839
88840         Module lchown.
88841         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
88842         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
88843
88844         Module makepath.
88845         * m4/makepath.m4: New file.
88846
88847         Module modechange.
88848         * m4/modechange.m4: New file.
88849
88850         Module mountlist.
88851         * m4/mountlist.m4: New file.
88852         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
88853         Indentation.
88854
88855         Module path-concat.
88856         * m4/path-concat.m4: New file.
88857
88858         Module pathmax.
88859         * m4/pathmax.m4: New file.
88860
88861         Module same.
88862         * m4/same.m4: New file.
88863
88864         Module save-cwd.
88865         * m4/save-cwd.m4: New file.
88866
88867         Module savedir.
88868         * m4/savedir.m4: New file.
88869
88870         Module xgetcwd.
88871         * m4/xgetcwd.m4: New file.
88872         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
88873
88874         Module xreadlink.
88875         * m4/xreadlink.m4: New file.
88876
88877         Module safe-read.
88878         * m4/safe-read.m4: New file.
88879
88880         Module safe-write.
88881         * m4/safe-write.m4: New file.
88882
88883         Module closeout.
88884         * m4/closeout.m4: New file.
88885
88886         Module stdio-safer.
88887         * m4/stdio-safer.m4: New file.
88888
88889         Module getpass.
88890         * m4/getpass.m4: New file.
88891
88892         Module getugroups.
88893         * m4/getugroups.m4: New file.
88894
88895         Module group-member.
88896         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
88897         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
88898
88899         Module idcache.
88900         * m4/idcache.m4: New file.
88901
88902         Module userspec.
88903         * m4/userspec.m4: New file.
88904
88905         Module gettime.
88906         * m4/clock_time.m4: New file.
88907         * m4/gettime.m4: New file.
88908
88909         Module settime.
88910         * m4/settime.m4: New file.
88911
88912         Module posixtm.
88913         * m4/posixtm.m4: New file.
88914
88915         Module gethostname.
88916         * m4/gethostname.m4: New file.
88917
88918         Module canon-host.
88919         * m4/canon-host.m4: New file.
88920
88921         Module gettext.
88922         * m4/codeset.m4: New file, from gettext-0.11.5.
88923         * m4/gettext.m4: New file, from gettext-0.11.5.
88924         * m4/glibc21.m4: New file, from gettext-0.11.5.
88925         * m4/iconv.m4: New file, from gettext-0.11.5.
88926         * m4/intdiv0.m4: New file, from gettext-0.11.5.
88927         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
88928         * m4/inttypes.m4: New file, from gettext-0.11.5.
88929         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
88930         * m4/isc-posix.m4: New file, from gettext-0.11.5.
88931         * m4/lcmessage.m4: New file, from gettext-0.11.5.
88932         * m4/lib-ld.m4: New file, from gettext-0.11.5.
88933         * m4/lib-link.m4: New file, from gettext-0.11.5.
88934         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
88935         * m4/progtest.m4: New file, from gettext-0.11.5.
88936         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
88937         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
88938         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
88939
88940         Module localcharset.
88941         * m4/localcharset.m4: New file.
88942
88943         Module hard-locale.
88944         * m4/hard-locale.m4: New file.
88945
88946         Module mbswidth.
88947         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
88948         onceonly macros.
88949         * m4/mbrtowc.m4: Add comment.
88950
88951         Module memcasecmp.
88952         * m4/memcasecmp.m4: New file.
88953
88954         Module memcoll.
88955         * m4/memcoll.m4: New file.
88956
88957         Module unicodeio.
88958         * m4/unicodeio.m4: New file.
88959
88960         Module rpmatch.
88961         * m4/rpmatch.m4: New file.
88962
88963         Module yesno.
88964         * m4/yesno.m4: New file.
88965
88966         Module exitfail.
88967         * m4/exitfail.m4: New file.
88968
88969         Module c-stack.
88970         * m4/c-stack.m4 (gl_C_STACK): New macro.
88971         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
88972
88973         Module error.
88974         * m4/error.m4 (gl_ERROR): New macro.
88975         (jm_PREREQ_ERROR): Use onceonly macros.
88976
88977         Module fatal.
88978         * m4/fatal.m4: New file.
88979
88980         Module getloadavg.
88981         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
88982         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
88983
88984         Module getpagesize.
88985         * m4/getpagesize.m4: New file.
88986
88987         Module getusershell.
88988         * m4/getusershell.m4: New file.
88989
88990         Module physmem.
88991         * m4/physmem.m4: New file.
88992
88993         Module posixver.
88994         * m4/posixver.m4: New file.
88995
88996         Module quotearg.
88997         * m4/quotearg.m4: New file.
88998
88999         Module quote.
89000         * m4/quote.m4: New file.
89001
89002         Module readutmp.
89003         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
89004
89005         Module sig2str.
89006         * m4/sig2str.m4: New file.
89007
89008         Other.
89009         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
89010         ulonglong.m4.
89011         * m4/intmax_t.m4: New file.
89012         * m4/d-type.m4: Indentation.
89013         * m4/jm-macros.m4: Update.
89014         * m4/prereq.m4 (jm_PREREQ): Update.
89015         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
89016         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
89017         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
89018         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
89019         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
89020         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
89021         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
89022         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
89023         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
89024         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
89025         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
89026         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
89027         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
89028         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
89029         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
89030         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
89031         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
89032         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
89033         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
89034
89035 2002-12-24  Bruno Haible  <bruno@clisp.org>
89036
89037         * MODULES.txt: Update according to m4/ changes.
89038
89039         Module gettext.
89040         * config.rpath: New file, from gettext-0.11.5.
89041
89042         * modules/*: New module descriptions.
89043         * gnulib-tool: New file.
89044         * MODULES.html.sh: New file.
89045
89046 2002-12-21  Karl Berry  <karl@gnu.org>
89047
89048         * doc/fdl.texi: update to version 1.2.
89049
89050 2002-12-19  Karl Berry  <karl@gnu.org>
89051
89052         * config/config.guess: update from prep.
89053
89054 2002-12-18  Bruno Haible  <bruno@clisp.org>
89055
89056         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
89057         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
89058
89059 2002-12-17  Bruno Haible  <bruno@clisp.org>
89060
89061         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
89062         stdlib.h, string.h.
89063
89064 2002-12-17  Bruno Haible  <bruno@clisp.org>
89065
89066         * lib/canon-host.c (strdup): Remove unused declaration.
89067
89068         * lib/fsusage.c: Include full_read.h.
89069         (get_fs_usage): Use full_read instead of safe_read.
89070
89071         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
89072
89073 2002-12-12  Karl Berry  <karl@gnu.org>
89074
89075         * config/config.guess: update from prep.
89076
89077 2002-12-11  Bruno Haible  <bruno@clisp.org>
89078
89079         * m4/setenv.m4: New file, from gettext-0.11.5.
89080
89081 2002-12-11  Bruno Haible  <bruno@clisp.org>
89082
89083         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
89084         not unsetenv().
89085         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
89086         modifications:
89087
89088         2002-12-11  Bruno Haible  <bruno@clisp.org>
89089
89090                 * setenv.c (alloca): Fall back to malloc.
89091                 (freea): New macro.
89092                 (setenv): Use freea() to free memory allocated with alloca().
89093
89094         2002-11-13  Bruno Haible  <bruno@clisp.org>
89095
89096                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
89097                 function declarations.
89098                 * unsetenv.c (unsetenv): Likewise.
89099
89100         2002-03-04  Bruno Haible  <bruno@clisp.org>
89101
89102                 Portability to AIX 4.3.3.
89103                 * unsetenv.c: New file, extracted from setenv.c.
89104                 * setenv.c: Move the unsetenv() function to unsetenv.c.
89105
89106         2001-12-20  Bruno Haible  <bruno@clisp.org>
89107
89108                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
89109                 use malloc instead. For SunOS 4.
89110
89111         2001-12-11  Bruno Haible  <bruno@clisp.org>
89112
89113                 * setenv.c: Declare alloca.
89114                 (compar_fn_t): New typedef.
89115                 (KNOWN_VALUE, STORE_VALUE): Use it.
89116
89117         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
89118         setenv.h.
89119
89120 2002-12-10  Paul Eggert  <eggert@twinsun.com>
89121
89122         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
89123         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
89124         Choose values that are less likely to collide with system fnmatch
89125         options.
89126         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
89127         defined (e.g., a pure POSIX system).
89128         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
89129         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
89130
89131 2002-12-06  Paul Eggert  <eggert@twinsun.com>
89132
89133         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
89134         a pain in practice to deal with generated m4 files.  This change
89135         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
89136
89137         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
89138         and jm-glibc-io.m4, as they are no longer a special case.
89139         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
89140         kludge and the auto-generation stuff.  Check only whether the
89141         functions are declared, not whether they exist, since older hosts
89142         that don't declare the functions can't use the optimization anyway.
89143
89144 2002-12-06  Jim Meyering  <jim@meyering.net>
89145
89146         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
89147
89148         Merge in changes from libc's misc/error.c, in preparation
89149         for the merge of gnulib's changes back into libc.
89150
89151         * lib/error.c (_): Define only if not already defined.
89152         Move definition to follow all #include directives.
89153         Include unlocked-io.h only if !_LIBC.
89154         [_LIBC]: Include <libio/libioP.h>.
89155         [USE_IN_LIBIO]: Include <libio/iolibio.h>
89156         (fflush): Tweak definition to use INTUSE.
89157         (putc): Define.
89158
89159 2002-12-05  Paul Eggert  <eggert@twinsun.com>
89160
89161         * lib/alloca.c [defined emacs]: Include "lisp.h".
89162         (xalloc_die) [defined emacs]: New macro.
89163         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
89164         [! defined emacs]: Include <xalloc.h>.
89165         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
89166         (pointer): Typedef to POINTER_TYPE *.
89167         (malloc): Remove decl; we now always use xmalloc.
89168         (alloca): Use old-style definition, since Emacs needs this.
89169         Check for arithmetic overflow when computing combined size.
89170
89171 2002-12-04  Paul Eggert  <eggert@twinsun.com>
89172
89173         Do not generate unlocked-io.h automatically, since it's easier to
89174         maintain it by hand.
89175
89176         * lib/unlocked-io.h: New file, from GNU diffutils,
89177         but with proper copyright notice and attribution.
89178         * lib/gen-uio: Remove.
89179         * lib/Makefile.am: Add copyright notice.
89180         (libfetish_a_SOURCES): Add unlocked-io.h.
89181         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
89182         (DISTCLEANFILES, io_functions): Remove macros.
89183         (EXTRA_DIST): Remove gen_uio.
89184         (unlocked-io.h): Remove rule.
89185
89186 2002-12-04  Jim Meyering  <jim@meyering.net>
89187
89188         Reflect the fact that stat.c and lstat.c are no longer generated.
89189         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
89190         (DISTCLEANFILES): Likewise.
89191         (EXTRA_DIST): Likewise.
89192         (all_local): Don't depend on stat.c or lstat.c.
89193         (stat.c, lstat.c): Remove rules.
89194         (EXTRA_DIST): Remove xstat.in.
89195
89196         * lib/xstat.in: Remove file.  Contents moved into stat.c.
89197         * lib/stat.c: New file.  Contents mostly from xstat.in.
89198         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
89199         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
89200
89201         * lib/safe-read.c: Rework so that it may serve to define safe_write,
89202         too.
89203         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
89204
89205 2002-12-03  Jim Meyering  <jim@meyering.net>
89206
89207         * lib/safe-read.c, safe-write.c: Change variable names and comments,
89208         but not semantics, to minimize the differences between these two files.
89209         (safe_read): Change comment to mention SAFE_READ_ERROR.
89210
89211         * lib/safe-read.c (IS_EINTR): Define.
89212         (safe_read): Use IS_EINTR in place of in-function cpp directives.
89213
89214 2002-12-02  Jim Meyering  <jim@meyering.net>
89215
89216         * lib/safe-read.c (EINTR): Define.
89217         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
89218         (INT_MAX): Provide fallback.
89219         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
89220
89221         * lib/safe-read.h (SAFE_READ_ERROR): Define.
89222
89223 2002-12-02  Bruno Haible  <bruno@clisp.org>
89224
89225         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
89226         Define, taken from safe-read.c.
89227         (INT_MAX): Provide fallback.
89228         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
89229         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
89230
89231         * lib/safe-read.c (EINTR): Remove definition.
89232         (safe_read): Don't use EINTR if it is absent.
89233
89234 2002-12-01  Jim Meyering  <jim@meyering.net>
89235
89236         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
89237         zero.
89238         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
89239
89240 2002-11-27  Paul Eggert  <eggert@twinsun.com>
89241
89242         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
89243         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
89244         with `if (! (value < limit)) abort ();', for readability.
89245
89246 2002-11-26  Karl Berry  <karl@gnu.org>
89247
89248         * lib/strdup.c: copy from libc again, with jim's ok.
89249         * lib/.cppi-disable: re-add strdup.c
89250
89251 2002-11-25  Karl Berry  <karl@gnu.org>
89252
89253         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
89254         instead of "strtol.c".
89255
89256 2002-11-25  Karl Berry  <karl@gnu.org>
89257
89258         * config/install-sh: update from automake for variable quoting, $0 in
89259         error msgs, etc.
89260
89261         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
89262         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
89263         entry.
89264
89265 2002-11-25  Jim Meyering  <jim@meyering.net>
89266
89267         * lib/mktime.c: Sync from libc, now that it has the latest fix.
89268
89269 2002-11-24  Karl Berry  <karl@gnu.org>
89270
89271         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
89272         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
89273
89274 2002-11-24  Jim Meyering  <jim@meyering.net>
89275
89276         Update from coreutils:
89277
89278         * lib/mktime.c: Merge in changes from libc.
89279
89280         Avoid a link-time failure on some Linux systems.
89281         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
89282         (otherwise).
89283         (__mon_yday): Declare with the STATIC attribute.
89284         (__mktime_internal): Likewise.
89285         Based on a report from Greg Schafer.
89286
89287 2002-11-23  Jim Meyering  <jim@meyering.net>
89288
89289         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
89290         Use `unsigned', not `int', as type of index.
89291
89292         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
89293
89294         * lib/fsusage.c: Remove unneeded parentheses around operands of
89295         `defined'.
89296
89297 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89298
89299         * lib/quotearg.h: Allow multiple inclusion by surrounding with
89300         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
89301         so that we can be included first.
89302         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
89303         * lib/quotearg.c: Include quotearg.h immediately after config.h.
89304         No need to include stddef.h or sys/types.h any more.
89305         Surround local include files with "", not "<>".
89306         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
89307         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
89308         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
89309         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
89310         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
89311         (ISPRINT): Remove; no longer needed now that we assume C89.
89312
89313         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
89314         Preserve errno.
89315
89316         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
89317         quotearg_char): Use SIZE_MAX rather than
89318         (size_t) -1 when we are talking about "infinity".
89319
89320         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
89321
89322 2002-11-22  Paul Eggert  <eggert@twinsun.com>
89323
89324         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
89325         hint that one should use `if (! x) abort ();' rather than `assert
89326         (x);', and anyway it's one less thing to worry about configuring.
89327         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
89328         hash_rehash, hash_insert): Use abort rather than assert.
89329
89330 2002-11-22  Bruno Haible  <bruno@clisp.org>
89331
89332         * lib/safe-read.h: Assume C89. Add comments.
89333         (safe_read): Change return type to size_t.
89334         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
89335         byte counts > SSIZE_MAX correctly.
89336         * lib/safe-write.h: New file.
89337         * lib/safe-write.c: New file.
89338         * lib/full-read.h: New file.
89339         * lib/full-read.c: New file.
89340         * lib/full-write.h: Assume C89. Add comments.
89341         * lib/full-write.c: Include safe-write.h.
89342         (full_write): Rewritten to use safe_write.
89343         Suggested by Jim Meyering and Paul Eggert.
89344
89345 2002-11-21  Jim Meyering  <jim@meyering.net>
89346
89347         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
89348
89349         Merge in changes from the coreutils.
89350
89351         2002-09-25  Paul Eggert  <eggert@twinsun.com>
89352         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
89353         <stdint.h>.
89354         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
89355         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
89356         int.  Work more efficiently if X is the same width as uintmax_t.
89357         Do not compare X to -1, to avoid bogus compiler warning.
89358         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
89359         Don't assume that f_frsize and f_bsize are the same type.
89360
89361         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
89362         warning on FreeBSD.
89363
89364         * lib/makepath.c (make_path): Restore umask *before* creating the final
89365         component.
89366         (make_path): Minor reformatting.
89367
89368         * lib/xmalloc.c: Adjust to work with new autoconf macros,
89369         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
89370         HAVE_MALLOC/HAVE_REALLOC.
89371
89372         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
89373         dummy ones.  At least on GNU/Linux systems, `auto' means something
89374         else.
89375         From Michael Stone.
89376
89377 2002-11-21  Bruno Haible  <bruno@clisp.org>
89378
89379         Remove case insensitive option matching.
89380         * lib/argmatch.h (argcasematch): Remove declaration.
89381         (ARGCASEMATCH): Remove macro.
89382         (__xargmatch_internal): Remove case_sensitive argument.
89383         (XARGMATCH): Update.
89384         (XARGCASEMATCH): Remove macro.
89385         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
89386         case_sensitive argument.
89387         (argcasematch): Remove function.
89388         (__xargmatch_internal): Remove case_sensitive argument.
89389         (main): Use XARGMATCH instead of XARGCASEMATCH.
89390
89391         * lib/xmalloc.c: Change compile-time error message. Add comment about
89392         required autoconf version.
89393
89394 2002-11-20  Paul Eggert  <eggert@twinsun.com>
89395
89396         Merge argmatch cleanups from Bison.  Assume C89.
89397
89398         * lib/argmatch.c: Include config.h here, not in argmatch.h.
89399         Include stdlib.h, for EXIT_FAILURE.
89400         Always include <string.h>, since we assume C89.
89401         (EXIT_FAILURE): Remove pre-C89 bug workaround.
89402         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
89403         Include <stddef.h> instead, since it's all we need for size_t.
89404         (PARAMS): Remove.  All uses removed.
89405         (ARRAY_CARDINALITY): Do not bother to #undef.
89406         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
89407         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89408         Remove unnecessary parentheses.
89409         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
89410         Insert necessary parentheses.
89411         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
89412         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
89413
89414 2002-11-19  Bruno Haible  <bruno@clisp.org>
89415
89416         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
89417         * lib/mbswidth.h: Include <stddef.h>, for size_t.
89418
89419         * lib/mbswidth.h (PARAMS): Remove macro.
89420         (mbswidth, mbsnwidth): Use ANSI C function declarations.
89421         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
89422
89423         * lib/gcd.h (PARAMS): Remove macro.
89424         (gcd): Use ANSI C function declarations.
89425         * lib/gcd.c (gcd): Likewise.
89426
89427 2002-11-15  Bruno Haible  <bruno@clisp.org>
89428
89429         * lib/strcspn.c: Include <stddef.h>.
89430         (strcspn): Use ANSI C function declaration. Change return type to
89431         size_t. Use NULL.
89432         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
89433         (strpbrk): Use NULL.
89434         * lib/strpbrk.h (PARAMS): Remove macro.
89435         (strpbrk): Use ANSI C function declaration.
89436         * lib/strstr.c: Don't include <sys/types.h>.
89437         * lib/strstr.h (PARAMS): Remove macro.
89438         (strstr): Use ANSI C function declarations.
89439
89440 2002-11-14  Karl Berry  <karl@gnu.org>
89441
89442         * config/mkinstalldirs: `do' on separate line, instead of
89443         `for var; do'.
89444
89445 2002-11-06  Bruno Haible  <bruno@clisp.org>
89446
89447         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
89448         * lib/gcd.c (gcd): Likewise.
89449
89450 2002-11-05  Bruno Haible  <bruno@clisp.org>
89451
89452         * lib/gcd.h: New file, from gettext-0.11.5.
89453         * lib/gcd.c: New file, from gettext-0.11.5.
89454
89455 2002-11-05  Bruno Haible  <bruno@clisp.org>
89456
89457         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89458         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89459         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89460         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
89461
89462         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
89463         <libintl.h>.
89464         * lib/makepath.c: Include gettext.h instead of <locale.h> and
89465         <libintl.h>.
89466
89467         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
89468         * lib/human.c: Include gettext.h instead of <libintl.h>.
89469         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
89470         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
89471         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
89472         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
89473         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
89474         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
89475         (textdomain): Remove definition.
89476         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
89477
89478         * lib/long-options.c: Remove include of <libintl.h> and definition of
89479         _.
89480         * lib/same.c: Remove include of <libintl.h> and definition of _.
89481
89482 2002-11-04  Owen Taylor  <otaylor@redhat.com>
89483
89484         * lib/config.charset: A few additions for Solaris.
89485
89486 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89487
89488         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
89489         * lib/localcharset.c (locale_charset): Declare as extern "C".
89490
89491 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
89492
89493         * lib/config.charset: msdos in uk_UA uses CP1125.
89494
89495 2002-11-04  Bruno Haible  <bruno@clisp.org>
89496
89497         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
89498         * lib/strcase.h: New file, from GNU gettext-0.11.5.
89499         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
89500         * lib/strstr.h: New file, from GNU gettext-0.11.5.
89501         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
89502
89503 2002-11-04  Bruno Haible  <bruno@clisp.org>
89504
89505         * lib/localcharset.c (locale_charset): Don't return an empty string.
89506
89507 2002-11-04  Bruno Haible  <bruno@clisp.org>
89508
89509         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
89510         aliases.
89511
89512 2002-11-04  Bruno Haible  <bruno@clisp.org>
89513
89514         * lib/config.charset: Update for newest glibc. Add canonical names
89515         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
89516
89517 2002-11-04  Bruno Haible  <bruno@clisp.org>
89518
89519         * lib/config.charset: Add support for NetBSD.
89520
89521 2002-11-04  Bruno Haible  <bruno@clisp.org>
89522
89523         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
89524
89525 2002-11-01  Bruno Haible  <bruno@clisp.org>
89526
89527         * configure.in: Add AC_CONFIG_AUX_DIR call.
89528         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
89529         test/Makefile.
89530         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
89531
89532 2002-09-28  Karl Berry  <karl@gnu.org>
89533
89534         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
89535         installed automake until the next release, since changes have been
89536         made.
89537
89538 2002-09-25  Karl Berry  <karl@gnu.org>
89539
89540         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
89541         * lib/getopt*: copy from libc/posix.
89542         * lib/gettext.h: copy from gettext.
89543         * lib/.cppi-disable: add strdup.c, gettext.h.
89544
89545 2002-09-25  Karl Berry  <karl@gnu.org>
89546
89547         * config/srclist.txt: enable gettext.h check.
89548         * config/config.{guess,sub}: update from prep.
89549         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
89550                 from automake 1.6.3.
89551         See srclist*.
89552
89553 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
89554
89555         * regex.c (PATFETCH): Remove the translating fetch.
89556         (PATFETCH_RAW): Rename to PATFETCH.
89557         (set_image_of_range): New fun.
89558         (SET_RANGE_TABLE_WORK_AREA): Use it.
89559         (regex_compile): Don't translate the pattern chars so eagerly.
89560         Only do it when inserting an `exactn' bytecode or when handling
89561         a char-range.
89562         (mutually_exclusive_p): Avoid empty statement.
89563
89564 2002-07-06  Jim Meyering  <meyering@lucent.com>
89565
89566         * m4/README: Don't mention Makefile.am.in.
89567         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
89568
89569 2002-07-01  Jim Meyering  <meyering@lucent.com>
89570
89571         * lib/c-stack.c: Include sys/time.h.
89572         From Volker Borchert.
89573
89574 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89575
89576         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
89577
89578 2002-06-26  Paul Eggert  <eggert@twinsun.com>
89579
89580         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
89581         New macro.  Use it uniformly instead of
89582         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
89583         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
89584         reported by Vin Shelton.
89585
89586 2002-06-22  Paul Eggert  <eggert@twinsun.com>
89587
89588         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
89589         Do not assume SA_SIGINFO behavior.
89590         Bug reported by Jim Meyering on NetBSD 1.5.2.
89591
89592 2002-06-22  Jim Meyering  <meyering@lucent.com>
89593
89594         * m4/c-stack.m4: New file, from diffutils-2.8.2.
89595         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
89596
89597         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
89598         now that configure.ac uses AC_GNU_SOURCE.
89599         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
89600         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
89601
89602         Update to latest tools.  Suggestions from Paul Eggert.
89603         * m4/stdbool.m4: New file, from diffutils-2.8.2.
89604         * m4/gnu-source.m4: Update from diffutils-2.8.2.
89605         * m4/fnmatch.m4: Likewise.
89606         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
89607         to AC_HEADER_STDBOOL
89608
89609 2002-06-22  Jim Meyering  <meyering@lucent.com>
89610
89611         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
89612         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
89613
89614 2002-06-22  Jim Meyering  <meyering@lucent.com>
89615
89616         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
89617
89618         * lib/exitfail.c, exitfail.h: Likewise.
89619         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
89620
89621         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
89622         of fnmatch.h.
89623         (EXTRA_DIST): Add fnmatch_loop.c.
89624         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
89625
89626         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
89627         * lib/fnmatch.c: Update from diffutils-2.8.2.
89628         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
89629         * lib/fnmatch.h: Remove file.
89630
89631 2002-06-21  Jim Meyering  <meyering@lucent.com>
89632
89633         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
89634         * m4/mbrtowc.m4: Likewise.
89635
89636         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
89637         * m4/mbswidth.m4: Reflect name change:
89638         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
89639         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
89640
89641         * m4/lib-link.m4: Update from gettext-0.11.2.
89642         * m4/gettext.m4: Likewise.
89643
89644         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
89645         From Alfred M. Szmidt.
89646
89647 2002-06-18  Paul Eggert  <eggert@twinsun.com>
89648
89649         * lib/file-type.h: Report an error if neither S_ISREG nor
89650         S_IFREG is defined, instead of using a test specific to glibc
89651         2.2.  This should be safe, since POSIX requires S_ISREG and
89652         Unix Version 7 had S_IFREG.  We don't need to check for
89653         <sys/types.h> since we don't use any symbols that it defines.
89654
89655 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
89656
89657         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
89658         $@-t, so that each temporary file name is unique and valid in the first
89659         8 characters, for operation under DOS.
89660
89661 2002-06-15  Paul Eggert  <eggert@twinsun.com>
89662
89663         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
89664
89665 2002-06-15  Jim Meyering  <meyering@lucent.com>
89666
89667         Work even with DJGPP 2.03, which lacks support for symlinks.
89668         From Richard Dawe.
89669         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
89670         is defined.
89671         * lib/lchown.c (S_ISLNK): Likewise.
89672
89673 2002-06-15  Jim Meyering  <meyering@lucent.com>
89674
89675         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
89676         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
89677         have been included before this file.
89678
89679 2002-06-14  Jim Meyering  <meyering@lucent.com>
89680
89681         * lib/file-type.h: Use the version from diffutils-2.8.2.
89682         * lib/file-type.c: Likewise.
89683
89684 2002-06-07  Jim Meyering  <meyering@lucent.com>
89685
89686         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
89687         They're needed at least for NetBSD 1.5.2.
89688         ($statxfs_includes): Include those same headers.
89689         ($statxfs_includes): Include sys/vfs.h if available.
89690         ($statxfs_includes): Likewise for sys/statvfs.h.
89691         Check for the following members in both structs statfs and statvfs:
89692         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
89693
89694 2002-06-01  Jim Meyering  <meyering@lucent.com>
89695
89696         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
89697         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
89698
89699 2002-05-28  Jim Meyering  <meyering@lucent.com>
89700
89701         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
89702         Reported by Volker Borchert.
89703
89704 2002-05-27  Jim Meyering  <meyering@lucent.com>
89705
89706         Fix a problem seen only on nonconforming systems whereby ls.c's
89707         use of localtime, and then of gettimeofday would cause trouble:
89708         the localtime call used to initialize rpl_gettimeofday's save
89709         mechanism would clobber ls's current local time information so
89710         that in any long listing the first file would always be listed
89711         with date 1970-01-01.  Analysis by Volker Borchert.
89712
89713         * lib/gettimeofday.c (localtime): Undefine.
89714         (rpl_localtime): New function.
89715
89716 2002-05-27  Jim Meyering  <meyering@lucent.com>
89717
89718         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
89719         localtime.
89720
89721         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
89722         use the replacement function; it wouldn't resolve at link time.
89723         Reported by Volker Borchert.
89724
89725 2002-05-22  Jim Meyering  <meyering@lucent.com>
89726
89727         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
89728         file-type.h.
89729         * lib/file-type.h: New file.
89730         * lib/file-type.c (file_type): New file/function.  Extracted from
89731         diffutils.
89732
89733 2002-04-30  Jim Meyering  <meyering@lucent.com>
89734
89735         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
89736
89737 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89738
89739         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
89740
89741 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89742
89743         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
89744         Do not check for alloca.h (no longer used) or stdbool.h (was never
89745         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
89746
89747 2002-04-29  Paul Eggert  <eggert@twinsun.com>
89748
89749         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
89750
89751 2002-04-29  Jim Meyering  <meyering@lucent.com>
89752
89753         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
89754         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
89755         Use AC_FUNC_STRNLEN here instead.
89756
89757         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
89758         With autoconf-2.53a, it's part of AC_PROG_CC.
89759
89760 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89761
89762         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
89763         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
89764
89765 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89766
89767         * lib/sig2str.h, lib/sig2str.c: New files.
89768         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
89769
89770 2002-04-28  Paul Eggert  <eggert@twinsun.com>
89771
89772         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
89773         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
89774         of 127, since 64 is the largest conceivable number for ancient
89775         nonstandard hosts.
89776         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
89777
89778 2002-04-28  Jim Meyering  <meyering@lucent.com>
89779
89780         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
89781
89782 2002-04-24  Jim Meyering  <meyering@lucent.com>
89783
89784         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
89785         (jm_PREREQ): Use it.
89786
89787         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
89788         mach/mach.h fcntl.h.
89789         Check for this function: setlocale.
89790
89791 2002-04-24  Jim Meyering  <meyering@lucent.com>
89792
89793         * lib/gettext.h: New file, from Gettext.
89794         * lib/Makefile.am (INCLUDES): Remove -I../intl.
89795         (libfetish_a_SOURCES): Add gettext.h.
89796
89797 2002-04-16  Jim Meyering  <meyering@lucent.com>
89798
89799         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
89800         ut_pid, ut_id, ut_exit.
89801
89802 2002-04-16  Jim Meyering  <meyering@lucent.com>
89803
89804         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
89805         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
89806         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
89807
89808 2002-04-12  Jim Meyering  <meyering@lucent.com>
89809
89810         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
89811         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
89812         existence of the getmntinfo function.  Needed for Darwin 5.3.
89813
89814         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
89815         This is necessary at least on Darwin 5.3.
89816
89817         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
89818         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
89819         strnlen.o in the library, and that makes some versions of ranlib
89820         object.
89821
89822 2002-04-12  Jim Meyering  <meyering@lucent.com>
89823
89824         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
89825
89826 2002-04-09  Jim Meyering  <meyering@lucent.com>
89827
89828         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
89829         to be more precise.  Rather than saying we're checking whether the
89830         function `works', say what we're testing.
89831         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
89832         Reported by Bruno Haible.
89833
89834 2002-03-10  Jim Meyering  <meyering@lucent.com>
89835
89836         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
89837         Suggestion from Santiago Vila.
89838
89839 2002-03-08  Jim Meyering  <meyering@lucent.com>
89840
89841         * lib/rename.c: Mention that this wrapper is needed also on
89842         mips-dec-ultrix4.4 systems.
89843
89844 2002-03-02  Jim Meyering  <meyering@lucent.com>
89845
89846         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
89847         not HAVE_CLOCK_SETTIME.
89848
89849 2002-02-27  Paul Eggert  <eggert@twinsun.com>
89850
89851         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
89852         Check for clock_settime.
89853
89854 2002-02-27  Paul Eggert  <eggert@twinsun.com>
89855
89856         * lib/nanosleep.h: Rename to....
89857         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
89858
89859         * lib/gettime.c: New file.
89860         * lib/settime.c: New file.
89861         * lib/stime.c: Remove.
89862
89863         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
89864         timespec.h.  Remove nanosleep.h.
89865
89866 2002-02-25  Paul Eggert  <eggert@twinsun.com>
89867
89868         * m4/acl.m4: New file.
89869         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
89870         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
89871
89872 2002-02-25  Paul Eggert  <eggert@twinsun.com>
89873
89874         * lib/acl.c, lib/acl.h: New files.
89875         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
89876
89877 2002-02-24  Jim Meyering  <meyering@lucent.com>
89878
89879         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
89880         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
89881         cause trouble.  Reported by Nelson Beebe.
89882
89883 2002-02-23  Paul Eggert  <eggert@twinsun.com>
89884
89885         * lib/path-concat.c (xpath_concat): Reorder code to pacify
89886         compilers that don't know that xalloc_die never returns.
89887
89888 2002-02-20  Jim Meyering  <meyering@lucent.com>
89889
89890         * lib/getdate.c: Regenerate using bison-1.33.
89891
89892 2002-02-17  Jim Meyering  <meyering@lucent.com>
89893
89894         * config/config.guess (main): Don't use `head -1'; it's no longer
89895         portable. Use `sed 1q' instead.
89896
89897 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
89898
89899         * m4/codeset.m4: Upgrade to gettext-0.11.
89900         * m4/gettext.m4: Upgrade to gettext-0.11.
89901         * m4/glibc21.m4: Upgrade to gettext-0.11.
89902         * m4/iconv.m4: Upgrade to gettext-0.11.
89903         * m4/isc-posix.m4: Upgrade to gettext-0.11.
89904         * m4/lcmessage.m4: Upgrade to gettext-0.11.
89905         * m4/lib-ld.m4: New file, from gettext-0.11.
89906         * m4/lib-link.m4: New file, from gettext-0.11.
89907         * m4/lib-prefix.m4: New file, from gettext-0.11.
89908         * m4/progtest.m4: Upgrade to gettext-0.11.
89909
89910 2002-02-15  Paul Eggert  <eggert@twinsun.com>
89911
89912         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
89913         (jm_PREREQ): Use it.
89914
89915 2002-02-15  Paul Eggert  <eggert@twinsun.com>
89916
89917         * lib/posixver.c, lib/posixver.h: New files.
89918         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
89919
89920 2002-02-02  Paul Eggert  <eggert@twinsun.com>
89921             Bruno Haible  <bruno@clisp.org>
89922
89923         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
89924         (fwrite_success_callback): New declaration.
89925         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
89926         print_unicode_char. Call failure callback instead of error.
89927         (fwrite_success_callback): New function.
89928         (exit_failure_callback): New function.
89929         (fallback_failure_callback): New function.
89930         (print_unicode_char): Call unicode_to_mb.
89931
89932 2002-01-26  Jim Meyering  <meyering@lucent.com>
89933
89934         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
89935         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
89936
89937 2002-01-26  Jim Meyering  <meyering@lucent.com>
89938
89939         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
89940
89941 2002-01-22  Paul Eggert  <eggert@twinsun.com>
89942
89943         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
89944
89945 2002-01-22  Jim Meyering  <meyering@lucent.com>
89946
89947         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
89948         Otherwise, some versions of automake would omit the rule that makes
89949         Makefile from Makefile.in.
89950
89951 2002-01-21  Paul Eggert  <eggert@twinsun.com>
89952
89953         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
89954         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
89955         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
89956         (memcoll): Set errno to zero if there is no error.
89957
89958         * lib/quotearg.c (quotearg_buffer_restyled):
89959         Fix bug with quoting buffers containing NUL when backslashing escapes.
89960         This bug was exposed by the other changes in this patch.
89961         (quotearg_n_options): New arg ARGSIZE.
89962         All callers changed.
89963         (quoting_options_from_style): New function.
89964         (quotearg_n_style): Use it.
89965         (quotearg_n_style_mem): New function.
89966
89967         * lib/quotearg.h (quotearg_n_style_mem): New function.
89968
89969 2002-01-19  Jim Meyering  <meyering@lucent.com>
89970
89971         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
89972         Remove useless quotes: DF_PROG="df".
89973         * m4/strnlen.m4: New file.
89974
89975 2002-01-16  Paul Eggert  <eggert@twinsun.com>
89976
89977         * lib/backupfile.c (ISDIGIT): Comment fix.
89978         * lib/getdate.y (ISDIGIT): Likewise.
89979         * lib/posixtm.c (ISDIGIT, year): Likewise.
89980         * lib/strverscmp.c (ISDIGIT): Likewise.
89981         * lib/userspec.c (ISDIGIT): Likewise.
89982
89983 2002-01-16  Jim Meyering  <meyering@lucent.com>
89984
89985         * lib/getdate.y: Add three semicolons, each just before a closing
89986         brace. Bison (as of version 1.31) no longer papers over that mistake.
89987
89988 2002-01-05  Jim Meyering  <meyering@lucent.com>
89989
89990         * lib/version-etc.c (version_etc_copyright): Update copyright year.
89991
89992 2001-12-19  Paul Eggert  <eggert@twinsun.com>
89993
89994         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
89995         not silently exit merely because the output buffer happens to
89996         have nothing pending.
89997
89998 2001-12-18  Paul Eggert  <eggert@twinsun.com>
89999
90000         See the big note in ../ChangeLog.
90001         * lib/human.c (suffixes): Prefer K to k for 1024.
90002         (generate_suffix_backwards): New function.
90003         (human_readable_inexact): Use it.
90004         * lib/xstrtol.c (__xstrtol): If there is no number but there
90005         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
90006         Accept 'K' as well as 'k'.
90007
90008 2001-12-15  Jim Meyering  <meyering@lucent.com>
90009
90010         * lib/regex.h (__restrict_arr): Update from libc.
90011
90012         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
90013         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
90014         (STREQ): Define.
90015
90016 2001-12-14  Jim Meyering  <meyering@lucent.com>
90017
90018         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
90019         Suggestion from Bruno Haible.
90020
90021 2001-12-10  Jim Meyering  <meyering@lucent.com>
90022
90023         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
90024         xrealloc, Instead, include "xalloc.h".
90025         (initbuffer): Don't cast xmalloc return value to char*.
90026         (readline): Reword comment.
90027         Don't cast xrealloc return value to char*
90028         Return NULL, not 0.
90029
90030 2001-12-09  Jim Meyering  <meyering@lucent.com>
90031
90032         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
90033         about `signed and unsigned type in conditional expression'.
90034         * lib/posixtm.c (posix_time_parse): Likewise.
90035
90036         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
90037
90038         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
90039         to avoid a pedantic warning.
90040
90041         * lib/getstr.c: Don't include assert.h.
90042         (getstr): Remove warning-evoking assertions.
90043         Return -1 if offset parameter is out of bounds.
90044         Change the type of a local from int to size_t.
90045
90046         * lib/strftime.c (my_strftime_localtime_r): Include this function
90047         definition in the `#if ! HAVE_TM_GMTOFF' block.
90048
90049         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
90050         Include xalloc.h instead.
90051
90052 2001-12-02  Jim Meyering  <meyering@lucent.com>
90053
90054         * lib/tempname.c: Don't declare getenv, thus reverting the change of
90055         2001-11-18.  It's no longer necessary, now that stdlib.h is always
90056         included.
90057
90058         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
90059         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
90060
90061 2001-11-30  Akim Demaille  <akim@epita.fr>
90062
90063         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
90064         before being defined.
90065
90066 2001-11-27  Paul Eggert  <eggert@twinsun.com>
90067
90068         * lib/quotearg.h (quotearg_n, quotearg_n_style):
90069         First arg is int, not unsigned.
90070         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
90071         (SIZE_MAX, UINT_MAX): New macros.
90072         (quotearg_n_options): Abort if N is negative.
90073         Avoid overflow check on hosts where size_t is 64 bits and int
90074         is 32 bits, as overflow is impossible there.
90075         Fix off-by-one typo that caused unnecessary reallocation.
90076
90077 2001-11-27  Jim Meyering  <meyering@lucent.com>
90078
90079         * lib/tempname.c: Merge with version from libc.
90080         * lib/regex.c: Likewise.
90081
90082         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
90083         systems for which STDC_HEADERS is 0, it was not included, resulting in
90084         a warning about an integer-to-pointer conversion problem with getenv.
90085         Reported by Volker Borchert.
90086
90087 2001-11-26  Jim Meyering  <meyering@lucent.com>
90088
90089         * lib/gtod.h: Remove file.
90090         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
90091         * lib/gettimeofday.c: Don't include gtod.h.
90092         (GTOD_init): Remove function.
90093         (rpl_gettimeofday): Do its job here instead, rather than aborting.
90094         Suggestion from Volker Borchert.
90095
90096 2001-11-23  Jim Meyering  <meyering@lucent.com>
90097
90098         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
90099         it.
90100         * lib/hash.c (struct hash_table): Define it here instead.
90101
90102 2001-11-22  Jim Meyering  <meyering@lucent.com>
90103
90104         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
90105
90106 2001-11-20  Jim Meyering  <meyering@lucent.com>
90107
90108         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
90109         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
90110
90111 2001-11-19  Jim Meyering  <meyering@lucent.com>
90112
90113         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
90114         directory.  Use "conftestXXXXXX" as the template.
90115         Suggestion from Paul Eggert.
90116
90117         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
90118         immediately, so the test doesn't mistakenly hit the max-open-files
90119         limit.
90120
90121 2001-11-18  Paul Eggert  <eggert@twinsun.com>
90122
90123         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
90124         (TEMPORARIES): New macro.
90125         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
90126         removes an artificial limitation (e.g. HP-UX 10.20, where
90127         TMP_MAX is 17576).
90128
90129 2001-11-18  Jim Meyering  <meyering@lucent.com>
90130
90131         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
90132
90133 2001-11-18  Jim Meyering  <meyering@lucent.com>
90134
90135         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
90136         on SunOS 4.
90137
90138         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
90139         files will be created before anything else.
90140
90141 2001-11-17  Paul Eggert  <eggert@twinsun.com>
90142
90143         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
90144         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
90145
90146 2001-11-17  Jim Meyering  <meyering@lucent.com>
90147
90148         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
90149         Prompted by a report from Bob Proulx.
90150
90151         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
90152         Instead, require UTILS_FUNC_MKSTEMP.
90153
90154 2001-11-17  Jim Meyering  <meyering@lucent.com>
90155
90156         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
90157         Now, that's done as part of AC_FUNC_STRTOD.
90158
90159 2001-11-17  Jim Meyering  <meyering@lucent.com>
90160
90161         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
90162         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
90163         rather than group writable.  Patch by Juan F. Codagnone.
90164
90165         * lib/readtokens.c: Remove explicit declarations of xmalloc and
90166         xrealloc, Instead, include "xalloc.h".
90167
90168         * lib/mountlist.c: Include unlocked-io.h after all system headers.
90169         Remove explicit declarations of xmalloc, xrealloc,
90170         and xstrdup.  Instead, include "xalloc.h".
90171
90172         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
90173         unlocked-io.h.
90174         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
90175         Likewise.
90176         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
90177
90178         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
90179         Reported by Padraig Brady.
90180
90181         * lib/mkstemp.c: #undef mkstemp.
90182         Include config.h.
90183         (rpl_mkstemp): Rename from mkstemp.
90184         Protoize.
90185
90186 2001-11-16  Jim Meyering  <meyering@lucent.com>
90187
90188         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
90189         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
90190         determine the amount of total physical memory, use pstat_getstatic.
90191         HPUX-11 doesn't define _SC_PHYS_PAGES.
90192         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
90193         If sysconf couldn't be used to determine the amount of available
90194         physical memory, use both pstat_getstatic and pstat_getdynamic.
90195         Based on a patch from Bob Proulx.
90196
90197 2001-11-10  Jim Meyering  <meyering@lucent.com>
90198
90199         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
90200         (jm_PREREQ): Use it.
90201
90202 2001-11-09  Jim Meyering  <meyering@lucent.com>
90203
90204         * m4/jm-macros.m4: Require autoconf-2.52f.
90205         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
90206         Use these AC_-prefixed names, not the AM_-prefixed ones.
90207
90208         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
90209
90210 2001-11-05  Jim Meyering  <meyering@lucent.com>
90211
90212         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
90213
90214 2001-11-04  Jim Meyering  <meyering@lucent.com>
90215
90216         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
90217         $DEFS.
90218
90219 2001-11-03  Jim Meyering  <meyering@lucent.com>
90220
90221         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
90222         of AC_DEFUN.
90223
90224         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
90225         know the name of the variable in the macro definition.
90226
90227 2001-11-03  Jim Meyering  <meyering@lucent.com>
90228
90229         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
90230         in argmatch_to_argument call.
90231
90232         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
90233         argument.
90234
90235         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
90236         e.g., a fault due to an attempt to free a NULL pointer.
90237
90238 2001-11-01  Jim Meyering  <meyering@lucent.com>
90239
90240         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
90241         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
90242
90243 2001-11-01  Jim Meyering  <meyering@lucent.com>
90244
90245         * lib/dirfd.c, lib/dirfd.h: New files.
90246         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
90247
90248         * lib/hash.c (hash_print) [TESTING]: Clean up.
90249
90250 2001-10-22  Paul Eggert  <eggert@twinsun.com>
90251
90252         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
90253         to avoid a warning if -Wall.
90254
90255 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
90256
90257         * README: New file
90258         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
90259         (per RMS's instructions, this is now the canonical source)
90260         * lgpl/, gpl/: New directories.
90261
90262 2001-10-21  Paul Eggert  <eggert@twinsun.com>
90263
90264         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
90265
90266 2001-10-21  Jim Meyering  <meyering@lucent.com>
90267
90268         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
90269         this code would end up calling gettext even in packages built
90270         with --disable-nls.
90271         * lib/getopt.c (_): Likewise.
90272         * lib/regex.c (_): Likewise.
90273
90274 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90275
90276         * m4/error.m4 (jm_PREREQ_ERROR):
90277         Do not invoke AC_CHECK_FUNCS with strerror_r, as
90278         AC_FUNC_STRERROR_R does that.
90279         Check for strerror declaration.
90280
90281         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
90282         are supposed to have them these days.
90283         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
90284         Merge changes from latest Autoconf CVS.
90285         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
90286         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
90287         POSIX decided to standardize on the int flavor of strerror_r.
90288
90289 2001-10-20  Paul Eggert  <eggert@twinsun.com>
90290
90291         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
90292         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
90293         Use strerror_r that is only a macro, even if it is not a function.
90294         (strerror): Check for HAVE_DECL_STRERROR before declaring.
90295         (private_strerror): Use prototypes, not old-style function definition.
90296         (print_errno_message): New function.
90297         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
90298         char*-flavored one.
90299         (error_tail, error, error_at_line): Use it.
90300
90301 2001-10-11  Jim Meyering  <meyering@lucent.com>
90302
90303         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
90304         and quote_n (1, ... to avoid clobbering a buffer.
90305
90306 2001-10-05  Jim Meyering  <meyering@lucent.com>
90307
90308         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
90309         hash-pjw.h.
90310         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
90311         * lib/hash-pjw.h: New file.
90312
90313 2001-09-30  Jim Meyering  <meyering@lucent.com>
90314
90315         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
90316         `struct fsstat' has the `f_fstypename' member.
90317         Use that to define FS_TYPE, which is now used to make
90318         the getfsstat link test tighter.
90319
90320 2001-09-30  Jim Meyering  <meyering@lucent.com>
90321
90322         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
90323         Include <sys/ucred.h>, for Apple Darwin.
90324         Include sys/mount.h and sys/fs_types.h only if available.
90325         (FS_TYPE): Define.
90326         (read_filesystem_list): Use FS_TYPE.
90327
90328 2001-09-29  Paul Eggert  <eggert@twinsun.com>
90329
90330         * lib/exclude.c (excluded_filename): 0 -> false, since it's
90331         a boolean context.
90332
90333 2001-09-29  Jim Meyering  <meyering@lucent.com>
90334
90335         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90336         [one-argument getmntent function]): Include stdio.h before mntent.h.
90337         SunOS 4.1.x needs it for the declaration of `FILE'.
90338         Patch by Volker Borchert.
90339
90340         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
90341         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
90342         sys/fs_types.h, and make the link-test for getfsstat guard #include
90343         directives with appropriate #if HAVE_*_H tests so that we can
90344         detect getfsstat on Apple Darwin1.3.7 systems.
90345         Reported by Nelson Beebe.
90346         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
90347
90348 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90349
90350         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90351         #defines strtoimax.  Also treat the other strto* functions
90352         like strtoimax.
90353
90354         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90355         Check for strtoul and strtoumax,
90356         as those declarations are made even in the signed case.
90357         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
90358         Likewise, for strtol and strtoimax.
90359
90360 2001-09-28  Paul Eggert  <eggert@twinsun.com>
90361
90362         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
90363         #defines strtoimax.  Also treat the other strto* functions
90364         like strtoimax.
90365
90366         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
90367         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
90368         (strtoimax, strtoumax): Do not declare if already defined as a macro.
90369
90370 2001-09-26  Jim Meyering  <meyering@lucent.com>
90371
90372         Most macros in unlocked-io.h had the wrong number of arguments.
90373         * lib/gen-uio: New script.
90374         (USE_UNLOCKED_IO): Define to 1 if not already defined.
90375         * lib/unlocked-io.hin: Remove file.
90376         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
90377         rather than trying to embed it here.
90378         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
90379         Reported by Padraig Brady.
90380
90381 2001-09-25  Volker Borchert  <bt@teknon.de>
90382
90383         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
90384         `result'.
90385
90386 2001-09-24  Jim Meyering  <meyering@lucent.com>
90387
90388         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
90389
90390 2001-09-23  Jim Meyering  <meyering@lucent.com>
90391
90392         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
90393         instead of the mere test for existence of mntent.h.  The latter
90394         would get a false-positive on AIX 3.4 systems.
90395         In the outer getmntent if-block, don't die if neither of the getmntent
90396         tests succeeds.  Instead, just fall through and continue with the
90397         remaining tests.
90398
90399 2001-09-23  Jim Meyering  <meyering@lucent.com>
90400
90401         * lib/mountlist.c: Remove useless parentheses in #if directives.
90402         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
90403         the deprecated MOUNTED symbol is no longer defined in mntent.h.
90404
90405 2001-09-22  Jim Meyering  <meyering@lucent.com>
90406
90407         * m4/gettext.m4: New file.  From gettext.
90408         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
90409         * m4/progtest.m4: Likewise
90410         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
90411         * m4/glibc21.m4: Likewise.
90412
90413         * m4/libintl.m4: Remove.  No longer used.
90414
90415 2001-09-22  Jim Meyering  <meyering@lucent.com>
90416
90417         * lib/localcharset.c: Update from latest gettext.
90418         * lib/config.charset: Likewise.
90419
90420 2001-09-20  Jim Meyering  <meyering@lucent.com>
90421
90422         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
90423         strtoimax.
90424         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
90425         strtoumax.
90426
90427 2001-09-20  Jim Meyering  <meyering@lucent.com>
90428
90429         * lib/xstrtol.c (strtoimax): Guard declaration with
90430         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
90431         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
90432         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
90433         (strtoumax): Likewise, for completeness (it wasn't necessary).
90434
90435 2001-09-17  Paul Eggert  <eggert@twinsun.com>
90436
90437         * lib/strtoimax.c (HAVE_LONG_LONG):
90438         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
90439         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
90440         to work around bug in IBM C compiler.
90441
90442 2001-09-17  Jim Meyering  <meyering@lucent.com>
90443
90444         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
90445         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
90446         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
90447         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
90448         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
90449         whenever the right hand side need not be expanded by the shell.
90450
90451 2001-09-16  Paul Eggert  <eggert@twinsun.com>
90452
90453         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
90454         library.  It's not correct, as some older glibcs are buggy.
90455         fnmatch wasn't fixed until glibc 2.2.
90456
90457         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
90458         special shell magic here.
90459
90460 2001-09-16  Jim Meyering  <meyering@lucent.com>
90461
90462         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
90463         * m4/jm-macros.m4: Require it.
90464
90465 2001-09-16  Jim Meyering  <meyering@lucent.com>
90466
90467         * lib/mkdir.c: New file.
90468
90469 2001-09-15  Jim Meyering  <meyering@lucent.com>
90470
90471         * m4/jm-macros.m4: Check for help2man.
90472
90473 2001-09-11  Jim Meyering  <meyering@lucent.com>
90474
90475         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
90476         The body, by Paul Eggert, was moved here from configure.in.
90477         * m4/jm-macros.m4: Require UTILS_HOST_OS.
90478
90479 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90480
90481         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
90482         (jm_PREREQ): Use it.
90483
90484 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90485
90486         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
90487         Use ssize_t, not int, to store result of readlink.
90488         Check for ssize_t overflow as well as size_t overflow,
90489         as POSIX says the result of readlink is implementation-defined
90490         when ssize_t overflows.
90491         Remove unnecessary cast to char*.
90492         Use free+malloc instead of realloc, as the storage doesn't need
90493         to be preserved and it's clearer and can be more efficient that way.
90494         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
90495         * lib/xreadlink.h (xreadlink): Update prototype.
90496
90497 2001-09-04  Paul Eggert  <eggert@twinsun.com>
90498
90499         * lib/xgetcwd.c: Revert some of the previous change; intead,
90500         fix the HAVE_GETCWD_NULL code to behave more like the
90501         !HAVE_GETCWD_NULL code used to.
90502
90503         Include "xalloc.h".
90504         (xgetcwd): Do not return NULL when memory is exhausted; instead,
90505         invoke xalloc_die.
90506
90507 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90508
90509         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
90510         sys/param.h, as pathmax.h includes them.
90511
90512 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90513
90514         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
90515         (jm_PREREQ_XGETCWD): New macro.
90516
90517         * m4/getcwd.m4: New file.
90518
90519 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90520
90521         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
90522         like the HAVE_GETCWD_NULL code.
90523         Include pathmax.h if not HAVE_GETCWD.
90524         Do not include xalloc.h.
90525         (INITIAL_BUFFER_SIZE): New symbol.
90526         Do not use xmalloc / xrealloc, since the caller is responsible for
90527         handling errors.  Preserve errno around `free' during failure.
90528         Do not overrun buffer when using getwd.
90529
90530 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90531
90532         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
90533         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
90534         getcwd (NULL, 0).
90535
90536 2001-09-03  Paul Eggert  <eggert@twinsun.com>
90537
90538         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
90539         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
90540         spotted by Jim Meyering.
90541
90542 2001-09-03  Jim Meyering  <meyering@lucent.com>
90543
90544         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
90545         failure.
90546
90547 2001-09-02  Jim Meyering  <meyering@lucent.com>
90548
90549         * lib/error.c: Update from GNU libc.
90550
90551 2001-09-01  Jim Meyering  <meyering@lucent.com>
90552
90553         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
90554         Used by df.
90555
90556 2001-09-01  Jim Meyering  <meyering@lucent.com>
90557
90558         * lib/xreadlink.c: New file.
90559         * lib/xreadlink.h: New file.
90560         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
90561         xreadlink.h.
90562
90563         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
90564         doesn't conflict with sparc Solaris 7's definition in
90565         /usr/include/sys/int_types.h.
90566
90567         * lib/exclude.c: Use `""', not `<>' to #include non-system header
90568         files.
90569         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
90570         and strncasecmp as r-values.  Unixware didn't have declarations.
90571
90572 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90573
90574         * lib/xstrtol.h: Add copyright notice.
90575         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
90576         LONGINT_INVALID_SUFFIX_CHAR.
90577
90578 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90579
90580         * lib/xstrtol.c (strtoimax): New decl.
90581
90582 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90583
90584         * lib/xgetcwd.c: Don't include pathmax.h.
90585         Include stdlib.h and unistd.h if available.
90586         Include xalloc.h.
90587         (xmalloc, xstrdup, free): Remove decls.
90588         (xgetcwd): Don't assume sizes fit in unsigned.
90589         Check for overflow when computing sizes.
90590         Simplify reallocation code.
90591
90592 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90593
90594         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
90595         a directory's st_size can have an arbitrary value, so the old
90596         usage could waste an arbitrary amount of memory.  All uses
90597         changed.
90598         * lib/savedir.h: Update prototype.
90599
90600 2001-08-31  Paul Eggert  <eggert@twinsun.com>
90601
90602         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
90603
90604         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
90605         old strtoimax.c.
90606
90607         Also, make the following further changes to make this file's
90608         configuration more similar to that of strtol.c:
90609         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
90610         (strtoumax, uintmax_t, strtoull, strtol): Remove.
90611         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
90612         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
90613         changed to signed values.
90614
90615         And make the following changes as well:
90616         Fix copyright notice, as 1999 was missing.
90617         (verify): New macro.
90618         (strtoimax): Check sizes at compile-time, not run-time.
90619         Prefer strtol to strtoll if both work.
90620         (main): Remove; it was not that useful and was a pain to maintain.
90621
90622         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
90623
90624 2001-08-31  Jim Meyering  <meyering@lucent.com>
90625
90626         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
90627         Use an initial, malloc'd, buffer of length 128 rather than
90628         a statically allocated one of length 1024.
90629
90630 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90631
90632         Simplify code, partly by assuming autoconf 2.52 semantics.
90633
90634         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
90635
90636         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
90637         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
90638         All uses removed.
90639         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
90640         Move AC_REQUIRE to next-to-top level, to avoid confusion.
90641         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
90642         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
90643         jm_AC_HEADER_INTTYPES_H.
90644         * m4/jm-macros.m4 (jm_MACROS): Likewise.
90645
90646         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
90647
90648         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
90649         Quote first arg of AC_DEFUN.
90650         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
90651         since they are needed to parse the include file even if we need
90652         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
90653         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
90654         but with opposite signedness.
90655
90656 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90657
90658         Merge 'exclude' changes from tar 1.13.22.
90659         This fixes one or two unlikely storage allocation overflow bugs,
90660         but doesn't change user-visible behavior otherwise.
90661
90662 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90663
90664         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
90665         (jm_PREREQ_EXCLUDE): New macro.
90666
90667 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90668
90669         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
90670         tm to be declared.
90671
90672 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90673
90674         * lib/hash.c: Remove '2001' from copyright notice.
90675
90676 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90677
90678         * lib/full-write.h: New file.
90679         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
90680         * lib/full-write.c: Correct credits, as cccp.c no longer
90681         exists and anyway it was so heavily changed from the old cccp
90682         code as to be unrecognizable.  Include full-write.h.
90683         (full_write): Return size_t, with short writes meaning failure.
90684         All callers changed.  This fixes a bug with large buffers
90685         on 64-bit hosts.
90686         * lib/utime.c: Include full-write.h.
90687
90688 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90689
90690         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
90691         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
90692         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
90693         Include if available.
90694         (<xalloc.h>): Include
90695         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
90696         (verify): New macro.  Use it to verify that EXCLUDE macros do not
90697         collide with FNM macros.
90698         (struct patopts): New struct.
90699         (struct exclude): Use it, as exclude patterns now come with options.
90700         (new_exclude): Support above changes.
90701         (new_exclude, add_exclude_file):
90702         Initial size must now be a power of two to simplify overflow checking.
90703         (free_exclude, fnmatch_no_wildcards): New function.
90704         (excluded_filename): No longer requires options arg, as the options
90705         are determined by add_exclude.  Now returns bool, not int.
90706         (excluded_filename, add_exclude):
90707         Add support for the fancy new exclusion options.
90708         (add_exclude, add_exclude_file): Now takes int options arg.
90709         Check for arithmetic overflow when computing sizes.
90710         (add_exclude_file): xrealloc might modify errno, so don't
90711         realloc until after errno might be used.
90712
90713         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
90714         New macros.
90715         (free_exclude): New decl.
90716         (add_exclude, add_exclude_file): Now takes int options arg.
90717         (excluded_filename): No longer requires options arg, as the options
90718         are determined by add_exclude.  Now returns bool, not int.
90719
90720 2001-08-30  Paul Eggert  <eggert@twinsun.com>
90721
90722         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
90723
90724 2001-08-27  Jim Meyering  <meyering@lucent.com>
90725
90726         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
90727
90728         * lib/version-etc.c (N_): Remove definition.
90729         Revert most of last change.
90730         Instead, simply don't mark the `Copyright...' string for translation.
90731         Based on advice from Paul Eggert.
90732
90733         * lib/strtoxmax.c: Tweak comment.
90734
90735 2001-08-26  Jim Meyering  <meyering@lucent.com>
90736
90737         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
90738
90739         * m4/xstrtoimax.m4: New file.
90740         * m4/xstrtoumax.m4: Add comments explaining why we
90741         AC_REPLACE_FUNCS(strtol).
90742
90743 2001-08-26  Jim Meyering  <meyering@lucent.com>
90744
90745         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
90746         of copyright with `%s' so translators don't get an untranslated
90747         message in 2002.
90748         (COPYRIGHT_YEAR): Define.
90749         (version_etc): Use fprintf rather than fputs.
90750         Suggestion from Ulrich Drepper.
90751
90752         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
90753
90754         * lib/strtoll.c: New file, from GNU libc.
90755         * lib/xstrtoimax.c: New file.
90756
90757         * lib/xstrtol.h: Add xstrtoimax.
90758         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
90759         * lib/strtoimax.c: New file.  Likewise, but first define
90760         STRTOUXMAX_SIGNED.
90761
90762         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
90763         ...
90764         * lib/strtoxmax.c: ... then renamed to this.
90765
90766 2001-08-18  Paul Eggert  <eggert@twinsun.com>
90767
90768         * m4/inttypes.m4: Add AC_PREREQ(2.13).
90769         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
90770         (jm_AC_TYPE_INTMAX_T): New macro.
90771         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
90772
90773         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
90774
90775         * m4/longlong.m4: Renamed from ulonglong.m4.
90776         * m4/inttypes.m4: Renamed from inttypes_h.m4.
90777         * m4/uintmax_t.m4: Removed.
90778
90779 2001-08-13  Paul Eggert  <eggert@twinsun.com>
90780
90781         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
90782         Port to Solaris 8, where 'sed' requires a space after the 'r'
90783         command, and where sh dislikes "$/".  Clean up the spacing a bit.
90784         Redirect output to $tmp just once.
90785
90786 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
90787
90788         * lib/addext.c (<errno.h>): Include.
90789         (errno): Declare if not defined.
90790         (addext): Work correctly when pathconf returns -1 and leaves
90791         errno alone because there is no limit.  Also, work even if
90792         pathconf returns a value greater than SIZE_MAX.
90793
90794 2001-08-12  Jim Meyering  <meyering@lucent.com>
90795
90796         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
90797         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
90798         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
90799         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
90800         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
90801         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
90802         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
90803         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
90804         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
90805         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
90806         utime.m4, utimes.m4, xstrtoumax.m4:
90807         Quote the first argument in each use of AC_DEFUN.
90808
90809 2001-08-12  Jim Meyering  <meyering@lucent.com>
90810
90811         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
90812         Simply `return getcwd (NULL, 0);'.
90813         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
90814         Use 1300 as initial value for length, not PATH_MAX.
90815
90816         * lib/pathmax.h: Clean up cpp syntax.
90817
90818 2001-08-12  Jim Meyering  <meyering@lucent.com>
90819
90820         * lib/gettimeofday.c: New file.
90821         * lib/gtod.h: New file.
90822         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
90823
90824 2001-08-05  Jim Meyering  <meyering@lucent.com>
90825
90826         * m4/jm-macros.m4: Require autoconf-2.52.
90827
90828 2001-08-04  Jim Meyering  <meyering@lucent.com>
90829
90830         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
90831         stmt, to get in sync with glibc.
90832
90833 2001-08-03  Paul Eggert  <eggert@twinsun.com>
90834
90835         The following changes are from gettext 0.10.39 as maintained by
90836         Bruno Haible.
90837
90838         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
90839         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
90840         with inverted sense.  All uses changed.
90841
90842         * lib/mbswidth.c: Don't include <limits.h>.
90843         Include <stdlib.h> and <string.h> unconditionally.
90844         (iswcntrl, mbsinit, ISCNTRL): New macros.
90845         (mbsnwidth): Use K&R style function declarations.
90846         Don't bother checking for MB_LEN_MAX == 1, since the compiler
90847         can optimize it when MB_CUR_MAX == 1.
90848         The width of control characters is zero, not 1.
90849
90850 2001-08-03  Paul Eggert  <eggert@twinsun.com>
90851
90852         The following changes are from gettext 0.10.39 as maintained by
90853         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
90854
90855         * m4/codeset.m4: Upgrade to serial AM1.
90856         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
90857         all uses changed.  Quote first arg of AC_DEFUN.
90858         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
90859
90860         * m4/iconv.m4: Upgrade to serial AM2.
90861         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
90862         Add --with-libconv-prefix.
90863         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
90864         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
90865         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
90866         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
90867         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
90868
90869         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
90870         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
90871         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
90872         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
90873         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
90874         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
90875         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
90876         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
90877         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
90878
90879         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
90880         string.h any more.
90881
90882         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
90883         not the default value.
90884
90885         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
90886         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
90887         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
90888         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
90889         Also check for iswcntrl, used for wcwidth fallback.
90890         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
90891         to Autoconf 2.13.
90892
90893 2001-08-03  Jim Meyering  <meyering@lucent.com>
90894
90895         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
90896         as it was in the original.  Reported by Paul Eggert.
90897
90898 2001-07-16  Jim Meyering  <meyering@lucent.com>
90899
90900         * m4/gettimeofday.m4: New file.
90901         Prompted by a report from Bernhard Baehr.
90902
90903 2001-07-15  Jim Meyering  <meyering@lucent.com>
90904
90905         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
90906         stuff. Now it's in ../Makefile.cfg.
90907
90908 2001-07-15  Jim Meyering  <meyering@lucent.com>
90909
90910         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
90911         (BUILT_SOURCES): Add unlocked-io.h.
90912         (io_functions): Define.
90913         (unlocked-io.h): New rule.
90914         (DISTCLEANFILES): Add unlocked-io.h.
90915         (all-local): Depend on unlocked-io.h, to ensure it is created.
90916
90917         * lib/unlocked-io.hin: New file
90918
90919         * lib/regex.c: Update from glibc.
90920
90921 2001-07-05  Jim Meyering  <meyering@lucent.com>
90922
90923         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
90924         recommendation.
90925         (libfetish_a_SOURCES): Put all .h files here instead.
90926         Remove a thus-exposed (better checks in automake) duplicate and
90927         two unnecessary .h files.
90928
90929 2001-07-04  Jim Meyering  <meyering@lucent.com>
90930
90931         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
90932         that generates jm-glibc-io.m4 so that it doesn't trigger any make
90933         distcheck failure.
90934
90935 2001-07-02  Jim Meyering  <meyering@lucent.com>
90936
90937         The following changes were prompted by suggestions from Bruno Haible.
90938
90939         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
90940         is now generated.
90941         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
90942         definition of EXTRA_DIST.
90943         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
90944         ensure that the generated file is created/updated whenever the list
90945         of $(unlocked_functions) is changed.
90946         (jm-glibc-io.m4): New rule.
90947         (unlocked-io.h): New rule -- currently unused.
90948
90949 2001-06-24  Jim Meyering  <meyering@lucent.com>
90950
90951         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
90952         unmatched right bracket, rather than kludging it with an extra,
90953         falsely-matching quote in a comment.  Patch by Akim Demaille.
90954
90955 2001-06-11  Jim Meyering  <meyering@lucent.com>
90956
90957         * lib/regex.c: Update from GNU libc.
90958
90959 2001-05-27  Jim Meyering  <meyering@lucent.com>
90960
90961         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
90962         Check for ut_type in struct utmp.
90963
90964 2001-05-27  Jim Meyering  <meyering@lucent.com>
90965
90966         * lib/readutmp.h (UT_TYPE): Define.
90967
90968 2001-05-24  Jim Meyering  <meyering@lucent.com>
90969
90970         * lib/argmatch.c: Include "quote.h".
90971         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
90972         quote function.  Reported by Göran Uddeborg.
90973
90974 2001-05-22  Jim Meyering  <meyering@lucent.com>
90975
90976         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
90977         now that we use the package-supplied version unconditionally.
90978         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
90979
90980 2001-05-21  Jim Meyering  <meyering@lucent.com>
90981
90982         * m4/regex.m4: Change a couple backticks to single quotes to avoid
90983         shell syntax errors.
90984
90985 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
90986
90987         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
90988
90989 2001-05-20  Paul Eggert  <eggert@twinsun.com>
90990
90991         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
90992         Don't bother to check library strftime, since
90993         we'll be using our own my_strftime function anyway.
90994         Define my_strftime instead of strftime.
90995
90996 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
90997
90998         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
90999         which is not yet declared.
91000
91001 2001-05-15  Jim Meyering  <meyering@lucent.com>
91002
91003         * m4/regex.m4: Use proper quoting so brackets appear in the test
91004         program.
91005         Reported by, and with help from, Bruno Haible.
91006
91007 2001-05-13  Jim Meyering  <meyering@lucent.com>
91008
91009         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
91010         undefined.
91011
91012 2001-05-11  Paul Eggert  <eggert@twinsun.com>
91013
91014         dirname code cleanup.  base_name now behaves more compatibly
91015         with POSIX basename when given file names that have trailing
91016         slashes, and similarly for dir_name.  Add new primitives
91017         base_len and dir_len.  Put the directory-name-related decls
91018         into dirname.h.
91019
91020         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
91021         * lib/backupfile.c (base_name): Likewise.
91022         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
91023         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
91024         * lib/makepath.c (strip_trailing_slashes): Likewise.
91025         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
91026         ISSLASH): Likewise.
91027         * lib/rename.c (strip_trailing_slashes): Likewise.
91028         * lib/same.c (base_name): Likewise.
91029         * lib/stripslash.c (ISSLASH): Likewise.
91030
91031         * lib/addext.c: Include <dirname.h> after size_t is defined.
91032         * lib/backupfile.c: Likewise.
91033
91034         * lib/addext.c (addext): Use base_len to trim redundant
91035         trailing slashes instead of doing it ourselves.
91036         But do not trim the last slash if it is not redundant.
91037
91038         * lib/backupfile.c (find_backup_file_name,
91039         max_backup_version): Use base_len instead of rolling it ourselves.
91040         Handle the case of "" and (on DOS) "C:" correctly.
91041
91042         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
91043         needed. Include <string.h>, <dirname.h>.
91044         (base_name): Allow file names ending in slashes, other than names
91045         that are all slashes.  In this case, return the basename followed
91046         by the slashes.  This is more general, and can be used in places
91047         where the original base_name purposely had an assertion failure.
91048         (base_len): New function.
91049
91050         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
91051         Do not include <assert.h>; no longer needed.
91052         Include xalloc.h.
91053         (memrchr): Remove decl.
91054         (dir_name_r): Remove.
91055         (dir_len): Renamed from dirlen.  All callers changed.
91056         Rewrite in terms of base_name, for simplicity and consistency.
91057         (dir_name): Never return NULL.  All callers changed.
91058         Do not include <stdlib.h> in test program; no longer needed.
91059         return 0; is fine for test program.
91060
91061         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
91062         New macros.
91063         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
91064
91065         * lib/path-concat.c (path_concat): Use base_len to compute
91066         base length, not strlen; this means we cannot rely on memcpy
91067         to null-terminate.
91068
91069         * lib/same.c (STREQ): Remove.
91070         (same_name): Handle the case where the basename ends in trailing '/'.
91071
91072         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
91073         a slash was stripped.  Do not strip the last slash after a
91074         file system prefix.
91075
91076 2001-05-11  Paul Eggert  <eggert@twinsun.com>
91077
91078         * lib/Makefile.am (libfetish_a_SOURCES):
91079         Add strftime.c, since we now compile it on all hosts.
91080
91081         * lib/strftime.c (my_strftime):
91082         Define to nstrftime if emacs, but only if my_strftime is not defined.
91083         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
91084         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
91085         Add one more extra argument: a nanoseconds value.
91086         All uses changed.
91087         (ns): New macro.
91088         (my_strftime function): Add %N format.
91089         (emacs_strftimeu): Renamed from emacs_strftime,
91090         with extra ut argument.
91091
91092 2001-05-09  Paul Eggert  <eggert@twinsun.com>
91093
91094         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
91095
91096 2001-04-21  Jim Meyering  <meyering@lucent.com>
91097
91098         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
91099         doesn't interfere.
91100
91101 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
91102
91103         * m4/ftruncate.m4: Check for chsize.
91104         Link with ftruncate.o unconditionally if ftruncate is missing.
91105         This was required when cross-compiling to i586-mingw32msvc.
91106
91107 2001-04-08  Jim Meyering  <meyering@lucent.com>
91108
91109         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
91110         recomputed; that's necessary when the offset spans a DST transition.
91111         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
91112
91113 2001-04-02  Jim Meyering  <meyering@lucent.com>
91114
91115         * lib/regex.h, regex.c: Update from GNU libc.
91116
91117 2001-03-24  Jim Meyering  <meyering@lucent.com>
91118
91119         * m4/jm-macros.m4: Require autoconf-2.49d.
91120
91121 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
91122
91123         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
91124
91125 2001-03-19  Paul Eggert  <eggert@twinsun.com>
91126
91127         * lib/version-etc.c (version_etc_copyright): Update to 2001.
91128
91129 2001-03-17  Jim Meyering  <meyering@lucent.com>
91130
91131         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
91132         now that the version in autoconf is equivalent.
91133         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
91134
91135         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
91136         Suggestion from Akim Demaille.
91137
91138         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
91139         (jm_PREREQ_TEMPNAME): New function.
91140
91141 2001-03-16  Paul Eggert  <eggert@twinsun.com>
91142
91143         * lib/tempname.c (uint64_t): Define to uintmax_t if
91144         not defined, and if UINT64_MAX is not defined.
91145         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
91146         Reported by John David Anglin.
91147
91148 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
91149
91150         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
91151         resolve alias if codeset is empty.
91152         * lib/config.charset (BeOS): Use wildcard syntax.
91153
91154 2001-03-13  Jim Meyering  <meyering@lucent.com>
91155
91156         * lib/path-concat.c (path_concat)
91157         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
91158         concatenating e.g., `C:' and `foo'.
91159         From Bruno Haible.
91160
91161 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91162
91163         * lib/localcharset.c (locale_charset): Don't use
91164         setlocale(LC_CTYPE,NULL). Don't return NULL.
91165         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
91166
91167 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
91168
91169         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
91170         support for DOS/DJGPP.
91171
91172 2001-03-01  Paul Eggert  <eggert@twinsun.com>
91173
91174         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
91175         lacks mkstemp.  Compile our own tempname.c if we compile our own
91176         mkstemp.c, as mkstemp relies on tempname.
91177
91178 2001-03-01  Jim Meyering  <meyering@lucent.com>
91179
91180         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
91181         AH_VERBATIM really does output its argument verbatim.
91182
91183 2001-02-28  Paul Eggert  <eggert@twinsun.com>
91184
91185         * lib/Makefile.am (libfetish_a_SOURCES):
91186         Add dup-safer.c, fopen-safer.c.
91187         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
91188
91189         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
91190         * lib/unistd-safer.h: New files.
91191
91192 2001-02-25  Paul Eggert  <eggert@twinsun.com>
91193
91194         The mkstemp replacement is taken from glibc 2.2.2, with some
91195         portability fixes for use outside glibc, as follows:
91196
91197         * lib/tempname.c (struct_stat64): New macro.
91198         (direxists, __gen_tempname): Use it.
91199         This avoids a portability problem with Solaris 8.
91200
91201         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
91202         (<stddef.h>, <stdint.h>, <string.h>):
91203         Include only if STDC_HEADERS || _LIBC.
91204         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
91205         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
91206         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
91207         (__set_errno): Define this macro if <errno.h> doesn't.
91208         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
91209         Define these macros if <stdio.h> doesn't.
91210         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
91211         Define these macros if <sys/stat.h>
91212         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
91213         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
91214         __xstat64): Define if not _LIBC.
91215         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
91216         (__gen_tempname): Invoke gettimeofday only if
91217         HAVE_GETTIMEOFDAY || _LIBC;
91218         otherwise, fall back on plain "time".
91219         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
91220
91221         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
91222
91223         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
91224
91225 2001-02-18  Paul Eggert  <eggert@twinsun.com>
91226
91227         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
91228
91229 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91230
91231         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
91232         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
91233         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
91234         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
91235
91236 2001-02-17  Paul Eggert  <eggert@twinsun.com>
91237
91238         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
91239         Remove workaround macros for hosts that have mbrtowc but not
91240         mbstate_t, as we now insist on proper declarations for both
91241         before using mbrtowc.
91242
91243 2001-02-17  Jim Meyering  <meyering@lucent.com>
91244
91245         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
91246         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
91247         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
91248         UnixWare 7.1.1.
91249
91250         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
91251         rather than AC_CACHE_VAL.
91252
91253 2001-02-17  Jim Meyering  <meyering@lucent.com>
91254
91255         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
91256         around included file name.
91257
91258         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
91259
91260         * lib/strftime.c: Update from GNU libc (the only changes were to
91261         comments).
91262
91263 2001-02-17  Jim Meyering  <meyering@lucent.com>
91264
91265         * lib/regex.c: Update from libc.
91266
91267 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
91268
91269         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
91270         clash.
91271
91272 2001-02-16  Paul Eggert  <eggert@twinsun.com>
91273
91274         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
91275         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
91276         Reported by Mark Hounschell via Paul Eggert.
91277
91278 2001-02-07  Jim Meyering  <meyering@lucent.com>
91279
91280         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
91281
91282 2001-02-05  Jim Meyering  <meyering@lucent.com>
91283
91284         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
91285         it includes the patch required for `large file' support with at least
91286         HP-UX's 10.20 /bin/cc.
91287
91288 2001-02-03  Jim Meyering  <meyering@lucent.com>
91289
91290         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
91291         AS_IF, now that it works once again (mysteriously).
91292         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91293
91294 2001-01-30  Jim Meyering  <meyering@lucent.com>
91295
91296         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
91297         * m4/chown.m4: Rename conftestchown to conftest.chown.
91298         * m4/rename.m4: s/conftestdir/conftest.d1/ and
91299         s/conftestdir2/conftest.d2/.
91300         * m4/utimes.m4: s/conftestdata/conftest.data/
91301         Inspired by Pavel Roskin's change in autoconf.
91302
91303 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
91304
91305         * lib/config.charset: Update for FreeBSD 4.2.
91306
91307 2001-01-27  Jim Meyering  <meyering@lucent.com>
91308
91309         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
91310         a use of AS_IF.
91311         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
91312
91313 2001-01-26  Jim Meyering  <meyering@lucent.com>
91314
91315         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
91316         quotearg.c includes it.
91317
91318 2001-01-26  Jim Meyering  <meyering@lucent.com>
91319
91320         * lib/quotearg.c: Include stddef.h.
91321         * lib/quote.c: Include stddef.h.
91322         Reported by Axel Kittenberger.
91323
91324         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
91325         line in double quotes so that it evokes a better diagnostic.
91326         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
91327         Reported by Axel Kittenberger.
91328
91329 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
91330
91331         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
91332         as if it was a `charset'.
91333
91334 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91335
91336         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
91337         has const.
91338
91339 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
91340
91341         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
91342         to avoid a warning.  Add back 'const' to inptr.
91343
91344 2001-01-20  Jim Meyering  <meyering@lucent.com>
91345
91346         Be sure that headers are checked before used in code compiled
91347         for the type checks.
91348         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
91349         In place of that, invoke jm_CHECK_ALL_TYPES.
91350         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
91351         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
91352         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
91353         The check for ssize_t was mistakenly run before the test for unistd.h.
91354
91355         The configure-time check for stdbool.h was missing.
91356         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
91357         (jm_PREREQ_HASH): New function.
91358
91359 2001-01-17  Jim Meyering  <meyering@lucent.com>
91360
91361         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
91362         for autoconf-2.49c.
91363         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
91364
91365 2001-01-16  Jim Meyering  <meyering@lucent.com>
91366
91367         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
91368         From Bruno Haible.
91369
91370 2001-01-14  Jim Meyering  <meyering@lucent.com>
91371
91372         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
91373         foo and bar.  Create conftestdir/ in the script, not in the C code.
91374         Remove directories in the script, not in the C code.
91375         Remove conftestdir{,2} before trying to create the directory.
91376         Make the entire configure script fail if the mkdir fails.
91377
91378 2001-01-14  Jim Meyering  <meyering@lucent.com>
91379
91380         * lib/rename.c: New file.  From Volker Borchert.
91381         Include stdlib.h, string.h or strings.h, and xalloc.h.
91382         Use strip_trailing_slashes rather than open-coding it.
91383
91384 2001-01-03  Paul Eggert  <eggert@twinsun.com>
91385
91386         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
91387
91388 2001-01-03  Jim Meyering  <meyering@lucent.com>
91389
91390         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
91391         of local `inptr' to avoid warning with some system declarations of
91392         iconv.
91393
91394 2001-01-02  Volker Borchert  <bt@teknon.de>
91395
91396         * m4/rename.m4: New file.
91397         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
91398
91399 2001-01-01  Jim Meyering  <meyering@lucent.com>
91400
91401         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
91402         even on systems with utmpx.h.  It's necessary for the declaration of
91403         utmp's ut_user member.  Reported by Andreas Jaeger.
91404
91405         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
91406         available. They are required for the declarations of getgrgid and
91407         getpwuid resp.
91408         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
91409         Reported by Andreas Jaeger.
91410
91411 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
91412
91413         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
91414         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
91415         so `make install' also works in VPATH builds.
91416
91417 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
91418
91419         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
91420         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
91421         can be used in subdirectories.
91422
91423 2000-12-29  Paul Eggert  <eggert@twinsun.com>
91424
91425         * lib/modechange.c: Do not assume that mode_t uses the
91426         traditional octal encoding.  E.g. "chmod 1 FOO" should set
91427         the other-execute bit of FOO even if S_IXOTH != 1.
91428
91429         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
91430         WOTH, XOTH, ALLM): New macros.
91431         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
91432          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
91433         Use them.
91434         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
91435         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
91436         (mode_compile):
91437         No need to use uintmax_t; unsigned long is long enough.
91438         Don't bother to get suffix since we don't use it.
91439
91440 2000-12-26  Jim Meyering  <meyering@lucent.com>
91441
91442         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
91443         better with autoheader.
91444
91445 2000-12-24  Jim Meyering  <meyering@lucent.com>
91446
91447         * lib/hash.c (is_prime): Return explicit boolean values.
91448         (hash_get_first): Return NULL to appease Irix5.6's 89.
91449         Reported by Nelson Beebe.
91450
91451 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
91452
91453         * lib/localcharset.c (locale_charset): Add support for Win32.
91454
91455 2000-12-18  Paul Eggert  <eggert@twinsun.com>
91456
91457         * lib/physmem.h, lib/physmem.c: New files.
91458
91459         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
91460         (noinst_HEADERS): Add physmem.h.
91461
91462         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
91463         't' for compatibility with Solaris 8 sort.
91464
91465 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
91466
91467         * lib/config.charset: Add support for BeOS.
91468
91469 2000-12-17  Jim Meyering  <meyering@lucent.com>
91470
91471         * m4/dos.m4 (jm_AC_DOS): New file and macro.
91472         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
91473
91474 2000-12-16  Jim Meyering  <meyering@lucent.com>
91475
91476         This bug had a serious impact on chown: `chown N:M FILE' (for integer
91477         N and M) would have treated it like `chown N:N FILE'.
91478
91479         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
91480
91481 2000-12-16  Jim Meyering  <meyering@lucent.com>
91482
91483         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
91484         SHELLS_FILE to a file name that's useful on djgpp systems.
91485         Include stdlib.h.
91486         (ADDITIONAL_DEFAULT_SHELLS): Define.
91487         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
91488         Based mostly on a patch from Prashant TR.
91489
91490 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
91491
91492         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
91493         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
91494         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
91495
91496 2000-12-08  Andreas Schwab  <schwab@suse.de>
91497
91498         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
91499         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
91500
91501 2000-12-07  Jim Meyering  <meyering@lucent.com>
91502
91503         * lib/stripslash.c (ISSLASH): Define.
91504         (strip_trailing_slashes): Use ISSLASH rather than comparing against
91505         `/'.
91506         From Prashant TR.
91507
91508         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
91509         (dir_name_r): Declare this function as static.
91510         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
91511         manifest itself on a name containing a mix of slashes and
91512         backslashes.
91513         Make this function work with names starting with a DOS-style
91514         drive letter and colon prefix.
91515         (dir_name): Append `.' if necessary.
91516         Based mostly on patches from Prashant TR and Eli Zaretskii.
91517
91518         * lib/dirname.h (dir_name_r): Remove prototype.
91519
91520 2000-12-06  Paul Eggert  <eggert@twinsun.com>
91521
91522         * m4/off_t-format.m4: Remove this file.
91523         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
91524
91525 2000-12-06  Jim Meyering  <meyering@lucent.com>
91526
91527         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
91528         replacement strtoull, we may well need the replacement strtoul, too.
91529         Check for declarations of strtoul and strtoull.
91530         Check for strtol.  Mainly as a cue to cause automake to include
91531         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
91532         Check for limits.h -- strtol.c needs it.
91533
91534 2000-12-05  Jim Meyering  <meyering@lucent.com>
91535
91536         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
91537
91538 2000-12-04  Jim Meyering  <meyering@lucent.com>
91539
91540         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
91541         Also include memory.h, stdlib.h, unistd.h if appropriate.
91542         Reported by Andreas Jaeger (conflicting declaration of malloc).
91543
91544 2000-12-02  Jim Meyering  <meyering@lucent.com>
91545
91546         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
91547         * m4/jm-macros.m4 (jm_MACROS): require it.
91548
91549 2000-12-02  Jim Meyering  <meyering@lucent.com>
91550
91551         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
91552
91553 2000-12-01  Paul Eggert  <eggert@twinsun.com>
91554
91555         * lib/memrchr.c: Include <config.h> before any system include file.
91556
91557 2000-11-30  Jim Meyering  <meyering@lucent.com>
91558
91559         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
91560
91561 2000-11-30  Jim Meyering  <meyering@lucent.com>
91562
91563         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
91564
91565 2000-11-29  Paul Eggert  <eggert@twinsun.com>
91566
91567         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
91568
91569 2000-11-26  Jim Meyering  <meyering@lucent.com>
91570
91571         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
91572
91573 2000-11-22  Paul Eggert  <eggert@twinsun.com>
91574
91575         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
91576         size of (size_t) -1; it's not portable.
91577
91578 2000-11-17  Jim Meyering  <meyering@lucent.com>
91579
91580         * lib/strstr.c: Update from GNU libc.
91581
91582 2000-11-17  Akim Demaille  <akim@epita.fr>
91583
91584         * lib/obstack.h: Formatting changes.
91585         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
91586         prevent type checking.
91587         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
91588         cast the value to (void *): assigning a `foo *' to a `void *'
91589         variable is valid.
91590         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
91591
91592 2000-11-16  Jim Meyering  <meyering@lucent.com>
91593
91594         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
91595
91596 2000-11-11  Jim Meyering  <meyering@lucent.com>
91597
91598         * lib/error.c: Add a couple #includes, merging from GNU libc version.
91599
91600 2000-11-10  Jim Meyering  <meyering@lucent.com>
91601
91602         * lib/obstack.h: Update from GNU libc.
91603         * lib/obstack.c: Likewise.
91604
91605 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
91606
91607         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
91608
91609 2000-11-06  Paul Eggert  <eggert@twinsun.com>
91610
91611         * lib/getusershell.c (setusershell): Use rewind rather than
91612         fseek/fseeko, to avoid configuration hassles with fseeko.
91613         Don't bother opening SHELLS_FILE if shellstream is NULL;
91614         it's not necessary.
91615
91616 2000-11-05  Jim Meyering  <meyering@lucent.com>
91617
91618         * lib/makepath.h (make_dir): Declare.
91619         * lib/makepath.c (make_dir): Remove `static' attribute.
91620         Tweak a comment.
91621
91622 2000-11-04  Jim Meyering  <meyering@lucent.com>
91623
91624         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
91625
91626 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
91627
91628         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
91629         last one in a bucket, advance to the next bucket.
91630
91631 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
91632
91633         * lib/fnmatch.c: Do not comment out all the code if we are using
91634         the GNU C library, because in some cases we are replacing buggy
91635         code in the GNU C library itself.
91636
91637 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
91638
91639         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
91640         (regex_compile): Catch bogus \(\1\).
91641
91642 2000-10-30  Paul Eggert  <eggert@twinsun.com>
91643
91644         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
91645         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
91646         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
91647
91648 2000-10-30  Paul Eggert  <eggert@twinsun.com>
91649
91650         * lib/error.h, getline.h, modechange.h:
91651         Remove "2000" from Copyright line, as the file hasn't been
91652         changed this year other than in the copyright notice.
91653
91654         * lib/xalloc.h: Add "2000" to Copyright line, as this file
91655         was changed this year.
91656
91657 2000-10-29  Jim Meyering  <meyering@lucent.com>
91658
91659         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
91660         renaming.
91661         * m4/ls-mntd-fs.m4: Likewise
91662
91663 2000-10-29  Jim Meyering  <meyering@lucent.com>
91664
91665         * lib/xstat.in: Fix grammar in comment.
91666
91667 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
91668
91669         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
91670         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
91671         doesn't define __restrict_arr.
91672
91673 2000-10-28  Jim Meyering  <meyering@lucent.com>
91674
91675         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
91676         (jm_PREREQ_MEMCHR): New function.
91677
91678 2000-10-28  Jim Meyering  <meyering@lucent.com>
91679
91680         * lib/memchr.c: Update from libc.
91681         Adjust for portability:
91682         [HAVE_STDLIB_H]: Include stdlib.h.
91683         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
91684         Undef __memchr, too.
91685         [!weak_alias]: Define __memchr to memchr.
91686
91687         * lib/regex.c: Update from libc.
91688         * lib/regex.h: Likewise.
91689         * lib/getopt1.c: Likewise.
91690         * lib/memcmp.c: Likewise.
91691
91692         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
91693         Avoid using fseek, when possible -- it's broken by design.
91694         Patch by Ulrich Drepper.
91695
91696 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
91697
91698         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
91699         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
91700         Giving in to popular pressure to shut up the compiler with casts.
91701
91702 2000-10-26  Jim Meyering  <meyering@lucent.com>
91703
91704         * lib/strftime.c: Update from libc.
91705
91706 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
91707
91708         * regex.c: More `unsigned char' -> `re_char' changes.
91709         Also change several `int' into `re_wchar_t'.
91710         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
91711         (PUSH_FAILURE_POINTER): Don't cast any more.
91712         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
91713         We want GCC to complain, since this piece of code makes
91714         re_match non-reentrant, which *should* be fixed.
91715         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
91716         (EXTEND_BUFFER): Use RETALLOC.
91717         (SET_LIST_BIT): Don't cast.
91718         (re_wchar_t): New type.
91719         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
91720         that those two functions will always properly return.
91721         (IMMEDIATE_QUIT_CHECK): Cast to void.
91722         (analyse_first): Use recursion rather than an explicit stack.
91723         (re_compile_fastmap): Can't fail anymore.
91724         (re_search_2): Don't check re_compile_fastmap for failure.
91725         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
91726         Now also sets the new value (passed in a new argument).
91727         (re_match_2_internal): Use it.
91728         Also, use a new var `reg' of type size_t when looping through regs
91729         rather than reuse the inappropriate `mcnt'.
91730
91731 2000-10-25  Jim Meyering  <meyering@lucent.com>
91732
91733         * lib/obstack.c: Update from libc.
91734
91735 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
91736
91737         * regex.c (regex_compile): Change the way of handling a range from
91738         a char less than 256 to a char not less than 256.
91739
91740 2000-10-24  Andrew Innes  <andrewi@gnu.org>
91741
91742         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
91743         NT-Emacs only.
91744         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
91745         so that re_search functions only quit when callers expect them to.
91746
91747 2000-10-23  Jim Meyering  <meyering@lucent.com>
91748
91749         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
91750         wrong.  That set_locale call must not have any side effects.
91751         From Paul Eggert.
91752
91753 2000-10-22  Jim Meyering  <meyering@lucent.com>
91754
91755         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
91756         [CYCLIC]: Remove now-unused definition.
91757
91758         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
91759         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
91760         Suggestion from Ulrich Drepper.
91761
91762 2000-10-21  Jim Meyering  <meyering@lucent.com>
91763
91764         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
91765         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
91766         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
91767
91768 2000-10-21  Jim Meyering  <meyering@lucent.com>
91769
91770         * lib/dirname.c (memrchr): Declare if necessary.
91771         (dir_name): Remove the restriction that there be no
91772         trailing slashes.  Now, this code skips past them, effectively
91773         ignoring them.
91774         [TEST_DIRNAME] (main): New unit tests.
91775
91776         * lib/memrchr.c: New file from GNU libc.
91777         Undef __memrchr, too.
91778         [!weak_alias]: Define __memrchr to memrchr.
91779         Guard weak_alias use with `#ifdef weak_alias'.
91780
91781 2000-10-21  Jim Meyering  <meyering@lucent.com>
91782
91783         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
91784         (dir_name): Use dir_name_r.
91785         * lib/dirname.h (dir_name_r): Declare it.
91786
91787 2000-10-17  Jim Meyering  <meyering@lucent.com>
91788
91789         * lib/quote.h (PARAMS): Define and use.
91790         Reported by Akim Demaille.
91791
91792         * lib/getopt.c: Update from libc.
91793
91794 2000-10-16  Jim Meyering  <meyering@lucent.com>
91795
91796         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
91797         setlocale.
91798         From Jan Fedak.
91799
91800 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
91801
91802         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
91803
91804 2000-09-25  Jim Meyering  <meyering@lucent.com>
91805
91806         * lib/md5.h (rol): Define (from GnuPG).
91807
91808         * lib/sha.c: Give credit (GnuPG) where due.
91809         (M): Use rol rather than open-coding it.
91810         Add a FIXME comment.
91811
91812 2000-09-21  Jim Meyering  <meyering@lucent.com>
91813
91814         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
91815         Reported by Michael Stone.
91816
91817 2000-09-20  Jim Meyering  <meyering@lucent.com>
91818
91819         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
91820         (noinst_HEADERS): Add sha.h.
91821         Based on code from Scott G. Miller and from GnuPG.
91822
91823 2000-09-18  Jim Meyering  <meyering@lucent.com>
91824
91825         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
91826         LIBS. Otherwise, everyone ends up linking with -lelf for some
91827         configurations.
91828         Reported by Mike Stone.
91829
91830 2000-09-15  Jim Meyering  <meyering@lucent.com>
91831
91832         * lib/regex.c: Update from libc.
91833
91834 2000-09-10  Jim Meyering  <meyering@lucent.com>
91835
91836         * lib/getopt.c (_getopt_internal): Update from glibc.
91837
91838 2000-09-09  Jim Meyering  <meyering@lucent.com>
91839
91840         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
91841         think it should be used as a general replacement for isascii.
91842         * lib/fnmatch.c: Likewise.
91843         * lib/mbswidth.c: Likewise
91844         * lib/regex.c: Likewise.
91845
91846         Don't use atoi.
91847         * lib/userspec.c: Include sys/param.h and limits.h.
91848         Include xstrtol.h.
91849         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
91850         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
91851         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
91852         UID, GID.  Check range.
91853
91854 2000-09-06  Jim Meyering  <meyering@lucent.com>
91855
91856         * lib/getopt.c (_getopt_internal): Update from glibc.
91857
91858 2000-08-30  Jim Meyering  <meyering@lucent.com>
91859
91860         * lib/strftime.c: Merge in changes from GNU libc.
91861
91862 2000-08-26  Jim Meyering  <meyering@lucent.com>
91863
91864         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
91865         * m4/fpending.m4: New file.
91866
91867 2000-08-26  Jim Meyering  <meyering@lucent.com>
91868
91869         * lib/closeout.c: Include "__fpending.h".
91870         (close_stdout_status): Return right away if there's nothing to flush.
91871
91872         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
91873         * lib/__fpending.c: New file.
91874         * lib/__fpending.h: New file.
91875
91876 2000-08-20  Jim Meyering  <meyering@lucent.com>
91877
91878         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
91879         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
91880         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
91881
91882 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
91883
91884         Improve fileutils installation on systems where running
91885         programs (like install) can't be unlinked.
91886         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
91887         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
91888
91889 2000-08-07  Paul Eggert  <eggert@twinsun.com>
91890
91891         Standardize on "memory exhausted" instead of "Memory exhausted"
91892         or "virtual memory exhausted".
91893         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
91894         "virtual memory exhausted".
91895         * lib/same.c (same_name): Invoke xalloc_die instead of printing
91896         our own message.
91897         * lib/userspec.c (parse_user_spec): Likewise.
91898         * lib/bumpalloc.h: comment fix
91899         * lib/same.c, userspec.c: Include xalloc.h.
91900
91901         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
91902         not char *const and pointing to a constant array.
91903         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
91904         (xrealloc): Comment fix.
91905
91906         * lib/userspec.c (parse_user_spec):
91907         Don't translate a message until just before returning,
91908         to avoid unnecessary translation.
91909
91910 2000-08-07  Jim Meyering  <meyering@lucent.com>
91911
91912         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
91913         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
91914         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
91915         getgroups.c, gethostname.c, getopt.h, group-member.c,
91916         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
91917         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
91918         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
91919         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
91920         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
91921         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
91922         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
91923         yesno.c: Back out Copyright date changes for each file with no change
91924         this year.  This eases coordination with other programs using the same
91925         source code modules.  From Paul Eggert.
91926
91927 2000-08-06  Paul Eggert  <eggert@twinsun.com>
91928
91929         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
91930         not char, for compatibility with glibc 2.1.3 strftime.c.
91931
91932 2000-08-03  Greg McGary  <greg@mcgary.org>
91933
91934         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
91935         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
91936         (EXTEND_BUFFER): Use them.
91937
91938 2000-08-01  Jim Meyering  <meyering@lucent.com>
91939
91940         * lib/dirname.c (ISSLASH): Define.
91941         (BACKSLASH_IS_PATH_SEPARATOR): Define.
91942         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
91943         both `\' and `/' may be use as path separators.
91944         Based on a patch from Prashant TR.
91945
91946 2000-07-31  Paul Eggert  <eggert@twinsun.com>
91947
91948         * lib/quotearg.c (quotearg_n_options): Don't make the initial
91949         slot vector a constant, since it might get modified.
91950
91951 2000-07-31  Jim Meyering  <meyering@lucent.com>
91952
91953         * lib/xmalloc.c: Use `virtual memory exhausted', not
91954         `Memory exhausted'.
91955         * lib/obstack.c (print_and_abort): Likewise.
91956
91957 2000-07-30  Paul Eggert  <eggert@twinsun.com>
91958
91959         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
91960         buffer, so that the caller can always quote one small
91961         component of a "memory exhausted" message in slot 0.
91962         From a suggestion by Jim Meyering.
91963
91964 2000-07-30  Jim Meyering  <meyering@lucent.com>
91965
91966         * lib/makepath.c (make_path): Quote the other instance, too.
91967
91968         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
91969         (STATIC_BUF_SIZE): Define.
91970         (quotearg_n_options): Use only statically allocated storage when
91971         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
91972         than STATIC_BUF_SIZE.
91973
91974 2000-07-29  Jim Meyering  <meyering@lucent.com>
91975
91976         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
91977         * lib/dirname.c (dir_name): Likewise.
91978
91979         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
91980         `/'.
91981
91982         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
91983         (dir_name): Assert that there are no trailing slashes.
91984
91985 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
91986
91987         * lib/mbswidth.h (mbswidth): Add a flags argument.
91988         (mbswidth): New declaration.
91989         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
91990         * lib/mbswidth.c (mbswidth): Add a flags argument.
91991         (mbsnwidth): New function.
91992
91993 2000-07-24  Jim Meyering  <meyering@lucent.com>
91994
91995         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
91996
91997 2000-07-23  Paul Eggert  <eggert@twinsun.com>
91998
91999         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
92000
92001 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92002
92003         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
92004         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
92005         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
92006         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
92007         invoke multibyte primitives.
92008
92009 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92010
92011         * lib/quotearg.c:
92012         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
92013         so that mbstate_t is always defined.
92014
92015         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
92016         be 1 in at least one GCC installation, and this configuration
92017         error is likely to be common.  Ignoring MB_LEN_MAX hurts
92018         performance on hosts that have mbrtowc but have only unibyte
92019         locales, but I assume these hosts are rare.
92020
92021 2000-07-23  Paul Eggert  <eggert@twinsun.com>
92022
92023         * lib/mbswidth.c (_XOPEN_SOURCE):
92024         Don't define; this causes problems on Solaris 7.
92025         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
92026
92027 2000-07-23  Jim Meyering  <meyering@lucent.com>
92028
92029         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
92030         too: getgrgid, getpwuid, getuid.
92031
92032 2000-07-23  Jim Meyering  <meyering@lucent.com>
92033
92034         * lib/basename.c (base_name): Add an assertion.
92035
92036 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
92037
92038         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
92039         shadow its mbsinit function.
92040
92041 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92042
92043         * lib/mbswidth.h: New file.
92044         * lib/mbswidth.c: New file.
92045         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
92046         (noinst_HEADERS): Add mbswidth.h.
92047
92048 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
92049
92050         * lib/config.charset: Add support for FreeBSD. Improve support for
92051         HP-UX and IRIX 6.
92052
92053 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
92054
92055         * m4/mbswidth.m4: New file.
92056         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
92057
92058 2000-07-15  Jim Meyering  <meyering@lucent.com>
92059
92060         * lib/makepath.c: Include quote.h.
92061         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
92062         corresponding argument in a `quote (...)' call.
92063         Give better diagnostics.
92064
92065         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
92066         (noinst_HEADERS): Add quote.h.
92067
92068         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
92069         from tar's src/misc.c.
92070         * lib/quote.h: New file.  Prototypes for same.
92071
92072 2000-07-14  Paul Eggert  <eggert@twinsun.com>
92073
92074         From a suggestion by Bruno Haible.
92075         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
92076         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
92077         to decide whether to define the BeOS workaround macro;
92078         this adjusts to the change to AC_MBSTATE_T.
92079
92080 2000-07-14  Jim Meyering  <meyering@lucent.com>
92081
92082         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
92083         jm_AC_TYPE_UINTMAX_T.
92084
92085 2000-07-13  Paul Eggert  <eggert@twinsun.com>
92086
92087         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
92088
92089         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
92090         quotearg_buffer_restyled): Add support for
92091         clocale_quoting_style.  Undo previous change to
92092         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
92093         and "{RIGHT QUOTATION MARK}" msgids.
92094
92095 2000-07-10  Paul Eggert  <eggert@twinsun.com>
92096
92097         From a suggestion by Bruno Haible.
92098         * m4/mbstate_t.m4 (AC_MBSTATE_T):
92099         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
92100         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
92101         and mbstate_t, to a single-part test that simply defines mbstate_t.
92102         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
92103         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
92104
92105 2000-07-10  Jim Meyering  <meyering@lucent.com>
92106
92107         * m4/strerror_r.m4: Mirror the correction made in autoconf.
92108
92109         * m4/gnu-source.m4: Output to confdefs.h directly.
92110         Suggestion from Akim Demaille.
92111
92112 2000-07-09  Paul Eggert  <eggert@twinsun.com>
92113
92114         The old behavior of quoting `like this' doesn't look good with
92115         newer, ISO-style fonts.  See:
92116         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
92117
92118         Instead, quote "like this" by default.  Let the translator
92119         tailor the locale-specific quoting behavior by providing
92120         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
92121
92122         * lib/quotearg.c (N_): New macro.
92123         (gettext_default): New function.
92124         (quotearg_buffer_restyled): Use
92125         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
92126         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
92127
92128 2000-07-09  Jim Meyering  <meyering@lucent.com>
92129
92130         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
92131         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
92132
92133         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
92134         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
92135
92136 2000-07-09  Jim Meyering  <meyering@lucent.com>
92137
92138         * lib/Most files: Update copyright dates to include 2000.
92139
92140 2000-07-08  Jim Meyering  <meyering@lucent.com>
92141
92142         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
92143         if not defined.
92144         (xgethostname): Remove now-unnecessary #ifdef.
92145         Move declaration of `err' into loop where it's used.
92146
92147 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92148         and Bruno Haible  <haible@clisp.cons.org>
92149
92150         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
92151         only if the test for an object-type mbstate_t fails.  This
92152         prevents us from mistakenly reporting that mbstate_t is a
92153         system object type after we "#define mbstate_t int" to work
92154         around its lack.
92155
92156 2000-07-05  Paul Eggert  <eggert@twinsun.com>
92157         and Bruno Haible  <haible@clisp.cons.org>
92158
92159         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
92160
92161 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92162
92163         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
92164         to strerror_r.
92165         Include <ctype.h> for use of isalpha.
92166
92167 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92168
92169         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
92170         by allocating a larger buffer. Test the gethostname return value for
92171         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
92172         returns an error and ENAMETOOLONG isn't defined.
92173
92174 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
92175
92176         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
92177         dimension.
92178
92179 2000-07-04  Jim Meyering  <meyering@lucent.com>
92180
92181         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
92182         of the deprecated AC_CHECKING.
92183
92184 2000-07-04  Jim Meyering  <meyering@lucent.com>
92185
92186         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
92187         Reported by Bruno Haible.
92188
92189 2000-07-04  Jim Meyering  <meyering@lucent.com>
92190
92191         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
92192         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
92193         lacks mbrtowc.
92194
92195 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92196
92197         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
92198         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
92199
92200 2000-07-03  Paul Eggert  <eggert@twinsun.com>
92201         and Bruno Haible  <haible@clisp.cons.org>
92202
92203         * lib/quotearg.c (mbrtowc):
92204         Assign to *pwc, and return 1 only if result is nonzero.
92205         (iswprint): Use ISPRINT when substituting our own mbrtowc.
92206
92207 2000-07-03  Jim Meyering  <meyering@lucent.com>
92208
92209         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
92210
92211 2000-07-03  Jim Meyering  <meyering@lucent.com>
92212
92213         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
92214         This is necessary to get a definition of e.g., UTMP_FILE on
92215         HP-UX 10.20.
92216         From Bob Proulx.
92217
92218 2000-07-02  Jim Meyering  <meyering@lucent.com>
92219
92220         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
92221
92222         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
92223         AC_LIBOBJ(function_name).
92224         * m4/chown.m4: Likewise.
92225         * m4/fnmatch.m4: Likewise.
92226         * m4/ftruncate.m4: Likewise.
92227         * m4/getgroups.m4: Likewise.
92228         * m4/getline.m4: Likewise.
92229         * m4/group-member.m4: Likewise.
92230         * m4/jm-macros.m4: Likewise.
92231         * m4/lstat.m4: Likewise.
92232         * m4/malloc.m4: Likewise.
92233         * m4/memcmp.m4: Likewise.
92234         * m4/nanosleep.m4: Likewise.
92235         * m4/putenv.m4: Likewise.
92236         * m4/realloc.m4: Likewise.
92237         * m4/regex.m4: Likewise.
92238         * m4/stat.m4: Likewise.
92239         * m4/strftime.m4: Likewise.
92240
92241 2000-07-02  Jim Meyering  <meyering@lucent.com>
92242
92243         * lib/quotearg.c (mbstate_t): Don't define here.
92244
92245 2000-07-02  Jim Meyering  <meyering@lucent.com>
92246
92247         * lib/nanosleep.c (SIGCONT): Define if not already defined.
92248
92249 2000-07-01  Jim Meyering  <meyering@lucent.com>
92250
92251         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
92252
92253 2000-07-01  Jim Meyering  <meyering@lucent.com>
92254
92255         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
92256         problem.
92257
92258 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92259
92260         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
92261         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
92262
92263 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
92264
92265         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
92266         per change in ../m4/ls-mntd-fs.m4.
92267         (read_filesystem_list): Ignore symbolic links.
92268
92269 2000-06-29  Jim Meyering  <meyering@lucent.com>
92270
92271         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
92272         for declaration of strcmp.
92273
92274         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
92275
92276         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
92277         Avoid warning by casting result to `char *' to remove `const'.
92278
92279 2000-06-28  Jim Meyering  <meyering@lucent.com>
92280
92281         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
92282         included by quotearg.c, for which we perform this test.  From
92283         Bruno Haible.
92284
92285 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92286
92287         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
92288         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
92289         <utmpx.h> exists, put readutmp.o into LIBOBJS.
92290
92291 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
92292
92293         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
92294
92295 2000-06-26  Paul Eggert  <eggert@twinsun.com>
92296
92297         savedir now sets errno on failure and invokes xmalloc to get memory.
92298         Fix a couple of other minor bugs while we're at it.
92299
92300         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
92301         (NAMLEN): Remove macro.
92302         (malloc, realloc): Remove decls.
92303         (stpcpy): Likewise.
92304         ("xalloc.h"): Include.
92305         (NAME_SIZE_DEFAULT): New macro.
92306         (savedir): Use xmalloc / xrealloc to allocate memory.
92307         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
92308         Skip "" directory entries.
92309         Use strlen to calculate directory entry length, since the old method
92310         is rarely used these days and isn't worth supporting.
92311         Don't use a pointer after freeing it.
92312         Check for integer overflow when calculating allocation size.
92313         Use memcpy to copy entries, instead of stpcpy.
92314         Set errno properly when returning NULL.
92315         Check for readdir error.
92316
92317 2000-06-26  Jim Meyering  <meyering@lucent.com>
92318
92319         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
92320
92321 2000-06-25  Jim Meyering  <meyering@lucent.com>
92322
92323         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
92324         Linux header bug when _XOPEN_SOURCE is defined to 500.
92325
92326 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92327
92328         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
92329         deficiency.
92330
92331 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
92332
92333         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
92334         Include xalloc.h.
92335         Don't include <stdlib.h>.  Don't declare malloc, realloc.
92336
92337 2000-06-24  Jim Meyering  <meyering@lucent.com>
92338
92339         * m4/strerror_r.m4: Revive this file -- to try out an experimental
92340         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
92341         for which strerror does return char*, but which lacks a conveniently
92342         accessible declaration of the function.  If the compile-test says
92343         strerror_r doesn't work, then resort to a `run'-test that works on
92344         BeOS and segfaults on DEC Unix.
92345
92346 2000-06-24  Jim Meyering  <meyering@lucent.com>
92347
92348         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
92349
92350 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92351
92352         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
92353         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
92354
92355 2000-06-23  Paul Eggert  <eggert@twinsun.com>
92356
92357         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
92358         (mbrtowc, mbstate_t): Define substitutes if
92359         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
92360         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
92361         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
92362
92363 2000-06-23  Jim Meyering  <meyering@lucent.com>
92364
92365         * m4/afs.m4: Add missing AC_MSG_RESULT.
92366         Reported by Bruno Haible.
92367
92368         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
92369         Suggestion from Bruno Haible.
92370
92371 2000-06-23  Jim Meyering  <meyering@lucent.com>
92372
92373         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
92374
92375 2000-06-21  Jim Meyering  <meyering@lucent.com>
92376
92377         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
92378
92379 2000-06-21  Jim Meyering  <meyering@lucent.com>
92380
92381         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
92382         (noinst_HEADERS): Add getstr.h.
92383
92384         * lib/getline.c (getstr): Move into a separate file.
92385         * lib/getstr.c (getstr): New file, extracted from getline.c, with
92386         the following changes: new parameter, delim2; both delim[12]
92387         parameters have type `int', not `char'.  The latter would lose
92388         with 8-bit delimiters.
92389         * lib/getstr.h: New file.
92390
92391 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92392
92393         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
92394         than 1024, return a memory chunk of least possible size, instead
92395         of size PATH_MAX + 2. In the loop, increment the size proportionally.
92396         Use free/xmalloc instead of xrealloc to avoid copying for very long
92397         paths.
92398
92399 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92400
92401         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
92402         the empty string.
92403
92404 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
92405
92406         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
92407         address, not strdup.  Include <stdlib.h> and don't declare free().
92408
92409 2000-06-19  Jim Meyering  <meyering@lucent.com>
92410
92411         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
92412
92413 2000-06-18  Jim Meyering  <meyering@lucent.com>
92414
92415         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
92416
92417         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
92418         `checking whether...' message to be consistent with that of the
92419         lstat test.
92420
92421 2000-06-18  Jim Meyering  <meyering@lucent.com>
92422
92423         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
92424         Besides, these days every porting target provides a mkdir function.
92425
92426         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
92427         needed. (this snippet comes from src/system.h).
92428
92429 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
92430
92431         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
92432
92433 2000-06-15  Paul Eggert  <eggert@twinsun.com>
92434
92435         * lib/human.c (adjust_value): New function.
92436         (human_readable_inexact): Apply rounding style even when
92437         printing approximate values.
92438
92439 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92440
92441         * lib/human.c (human_readable_inexact): Allow an input block
92442         size that is not a multiple of the output block size, and vice versa.
92443         Reported by Piergiorgio Sartor.
92444
92445 2000-06-14  Paul Eggert  <eggert@twinsun.com>
92446
92447         * lib/getdate.y (get_date): Apply relative times after time
92448         zone indicator, not before.  Reported by Todd A. Jacobs.
92449
92450 2000-06-13  Jim Meyering  <meyering@lucent.com>
92451
92452         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
92453
92454         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
92455
92456 2000-06-12  Paul Eggert  <eggert@twinsun.com>
92457
92458         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
92459
92460 2000-06-12  Jim Meyering  <meyering@lucent.com>
92461
92462         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
92463         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
92464         optional argument.
92465         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
92466         the optional argument, `lib'.
92467
92468 2000-06-08  Jim Meyering  <meyering@lucent.com>
92469
92470         * m4/largefile.m4: Remove file (now that it's part of autoconf).
92471
92472 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92473
92474         Rewrite largefile configuration so that we don't need to run
92475         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
92476         AC_CANONICAL_HOST in configure.in -- jmm]
92477
92478         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
92479         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
92480         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
92481         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
92482         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
92483         All uses changed.
92484         Instead of inspecting the output of getconf, try to compile the
92485         test program without and with the macro definition.
92486         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
92487         for getconf.  Instead, check for the needed flags by compiling
92488         test programs.
92489
92490 2000-06-04  Paul Eggert  <eggert@twinsun.com>
92491
92492         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
92493
92494 2000-06-04  Jim Meyering  <meyering@lucent.com>
92495
92496         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
92497         SunOS 4.1.4 for which gid_t is an unsigned type.
92498
92499 2000-06-03  Jim Meyering  <meyering@lucent.com>
92500
92501         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
92502         now that autoconf requires that.
92503
92504         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
92505         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
92506         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
92507
92508 2000-06-03  Jim Meyering  <meyering@lucent.com>
92509
92510         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
92511
92512 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92513
92514         * m4/glibc21.m4: New file.
92515         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
92516
92517 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
92518
92519         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
92520         newer, don't install charset.alias.
92521         * lib/config.charset: Change the Linux/glibc rules so they become empty
92522         on glibc-2.1 or newer.
92523
92524 2000-06-02  Jim Meyering  <meyering@lucent.com>
92525
92526         * lib/mountlist.c: Back out last change.  Instead, do this...
92527         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
92528         me_dummy member using the same `ignore'-testing code.
92529         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
92530         fs_type strings.
92531         From Mark D. Roth.
92532
92533 2000-05-29  Jim Meyering  <meyering@lucent.com>
92534
92535         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
92536         mounts with the `ignore' attribute.  Based on a patch from
92537         Mark D. Roth.
92538
92539 2000-05-28  Jim Meyering  <meyering@lucent.com>
92540
92541         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
92542         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92543         * m4/stat.m4: Likewise.
92544         * m4/lstat.m4: Likewise.
92545         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
92546
92547         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
92548         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
92549
92550 2000-05-26  Jim Meyering  <meyering@lucent.com>
92551
92552         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
92553
92554 2000-05-24  Jim Meyering  <meyering@lucent.com>
92555
92556         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
92557         autoconf requires that.
92558         * m4/lib-check.m4: Likewise.
92559         * m4/jm-macros.m4: Likewise.
92560         * m4/strftime.m4: Likewise.
92561
92562         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
92563         AC_CHECK_DECLS, now that autoconf requires that.
92564
92565 2000-05-22  Jim Meyering  <meyering@lucent.com>
92566
92567         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
92568         * m4/lstat.m4: Likewise.
92569
92570 2000-05-22  Jim Meyering  <meyering@lucent.com>
92571
92572         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
92573
92574 2000-05-20  Jim Meyering  <meyering@lucent.com>
92575
92576         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
92577         (jm_PREREQ): Use it.
92578
92579 2000-05-18  Jim Meyering  <meyering@lucent.com>
92580
92581         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
92582         back, too, since it may have been modified by allocate_entry.
92583         (hash_delete): Rewrite to use neither the assignment operator
92584         nor the comma operator in an if-expression.
92585
92586 2000-05-15  Paul Eggert  <eggert@twinsun.com>
92587
92588         * lib/closeout.c:
92589         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
92590         Remove; no longer needed.
92591         "quotearg.h": Add include.
92592         (file_name): Do not bother to explicitly initialize to NULL; it's less
92593         efficient on some hosts.
92594         (close_stdout_status): Remove test as to whether stdout was already
92595         closed; it breaks for the case "echo x | sort >&-".
92596         Quote file name colons.
92597         Do not assume that _("write error") lacks format strings.
92598
92599 2000-05-15  Jim Meyering  <meyering@lucent.com>
92600
92601         * lib/version-etc.c (version_etc_copyright): Update the copyright
92602         string used in all --version output.
92603
92604 2000-05-14  Jim Meyering  <meyering@lucent.com>
92605
92606         * lib/closeout.c (close_stdout_set_file_name): New function.
92607         (close_stdout_status): Use new file-scoped global.
92608         Return right away if fstat says the stdout file descriptor is invalid.
92609         * lib/closeout.h (close_stdout_set_file_name): Declare.
92610
92611 2000-05-10  Jim Meyering  <meyering@lucent.com>
92612
92613         * lib/closeout.c [default_exit_status]: New file-scoped variable.
92614         (close_stdout_set_status): New function.
92615         * lib/closeout.h (close_stdout_set_status): Declare.
92616
92617 2000-05-09  Jim Meyering  <meyering@lucent.com>
92618
92619         * m4/gettext.m4: Rename this...
92620         * m4/libintl.m4: ...to this.
92621
92622 2000-05-08  Jim Meyering  <meyering@lucent.com>
92623
92624         * lib/long-options.c: Don't include closeout.h.
92625         (parse_long_options): Don't call close_stdout for --version.
92626
92627 2000-05-06  Paul Eggert  <eggert@twinsun.com>
92628
92629         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
92630         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
92631         2.1.3 bug.  This avoids a clash when files like regex.c define
92632         _GNU_SOURCE.
92633
92634 2000-05-06  Jim Meyering  <meyering@lucent.com>
92635
92636         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
92637         (AC_REPLACE_FUNCS): Add strnlen.
92638
92639         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
92640         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
92641
92642         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
92643         AC_SEARCH_LIBS call for nanosleep.
92644         (LIB_NANOSLEEP): Set and AC_SUBST.
92645
92646 2000-05-06  Jim Meyering  <meyering@lucent.com>
92647
92648         * lib/strnlen.c: Undefine __strnlen and strnlen.
92649         [!weak_alias]: Define __strnlen to strnlen.
92650
92651         * lib/atexit.c: New file, from libiberty.
92652
92653 2000-05-06  Jim Meyering  <meyering@lucent.com>
92654
92655         * lib/closeout.c (close_stdout_status): Also check for errors on the
92656         stderr stream.
92657
92658 2000-05-05  Jim Meyering  <meyering@lucent.com>
92659
92660         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
92661         AC_SEARCH_LIBS call for clock_gettime.
92662         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
92663
92664         * m4/search-libs.m4: Update from autoconf.
92665
92666         su doesn't work on Solaris 2.6.
92667         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
92668         <shadow.h>.  Reported by Dragos Harabor.
92669
92670 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
92671
92672         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
92673         memcpy instead of xmalloc, xrealloc, path_concat.
92674         (locale_charset): Treat empty environment variables as absent.
92675         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
92676
92677 2000-05-04  Jim Meyering  <meyering@lucent.com>
92678
92679         * lib/getopt.c: Update from glibc.
92680         * lib/obstack.c: Likewise.
92681         * lib/obstack.h: Likewise.
92682         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
92683         file
92684
92685         * lib/regex.h: Likewise.
92686         * lib/strndup.c: Likewise.
92687         * lib/strnlen.c: New file, from glibc.
92688
92689 2000-05-03  Jim Meyering  <meyering@lucent.com>
92690
92691         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
92692
92693 2000-05-02  Paul Eggert  <eggert@twinsun.com>
92694
92695         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
92696         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
92697         compile-time test, rather than inspecting host and OS, to
92698         decide whether to define _LARGEFILE_SOURCE.
92699
92700 2000-05-01  Jim Meyering  <meyering@lucent.com>
92701
92702         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
92703
92704         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
92705         Based on a patch from Bruno Haible.
92706
92707 2000-05-01  Jim Meyering  <meyering@lucent.com>
92708
92709         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
92710
92711 2000-04-29  Jim Meyering  <meyering@lucent.com>
92712
92713         * lib/path-concat.c: Declare strdup only if it's not defined.
92714         * lib/canon-host.c: Likewise.
92715
92716 2000-04-28  Jim Meyering  <meyering@lucent.com>
92717
92718         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
92719         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
92720         is included first, then limits.h is included by locale.h by libintl.h.
92721         From John David Anglin.
92722
92723 2000-04-25  Jim Meyering  <meyering@lucent.com>
92724
92725         * lib/makepath.c (S_IRWXUGO): Define.
92726         (make_path): Always perform explicit chmod if MODE specifies any
92727         of the `special' permission bits.  Prompted by a bug report against
92728         install from Mate Wierdl and Joost van Baal.
92729
92730 2000-04-18  Jim Meyering  <meyering@lucent.com>
92731
92732         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
92733         (jm_PREREQ): Use it.
92734
92735 2000-04-18  Jim Meyering  <meyering@lucent.com>
92736
92737         * lib/README: New file.
92738
92739         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
92740         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
92741
92742 2000-04-17  Jim Meyering  <meyering@lucent.com>
92743
92744         Get it right :-)
92745         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
92746         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
92747         Suggestion from Akim Demaille.
92748
92749 2000-04-17  Jim Meyering  <meyering@lucent.com>
92750
92751         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
92752         the definition of it to rpl_strftime also defined-away the system's
92753         declaration.
92754
92755 2000-04-15  Jim Meyering  <meyering@lucent.com>
92756
92757         Use `C' to denote so-called `contiguous' files, the same way
92758         that tar does.
92759         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
92760         (ftypelet): Use S_ISCTG.
92761         From Michael Deutschmann.
92762
92763 2000-04-14  Jim Meyering  <meyering@lucent.com>
92764
92765         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
92766         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
92767         clobbered.
92768
92769 2000-04-14  Jim Meyering  <meyering@lucent.com>
92770
92771         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
92772
92773 2000-04-13  Jim Meyering  <meyering@lucent.com>
92774
92775         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
92776         AH_VERBATIM to insert required #ifndef into config.h.in.
92777         Suggestion from Akim Demaille.
92778
92779 2000-04-12  Jim Meyering  <meyering@lucent.com>
92780
92781         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
92782         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
92783         Christian Krackowizer.
92784
92785         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
92786         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
92787         (AC_SYS_LARGEFILE): Require.
92788         (AM_C_PROTOTYPES): Require.
92789
92790 2000-04-08  Jim Meyering  <meyering@lucent.com>
92791
92792         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
92793         names don't conflict.  Reported by Eli Zaretskii.
92794
92795 2000-04-07  Jim Meyering  <meyering@lucent.com>
92796
92797         * lib/putenv.c: Move inclusion of errno.h so it follows that of
92798         sys/types.h, to work around system header problems on AIX 3.2.5.
92799         From Bruno Haible.
92800
92801 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
92802
92803         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
92804         bug.  Deal with the different error behavior of Irix iconv.
92805
92806 2000-04-05  Paul Eggert  <eggert@twinsun.com>
92807
92808         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
92809         IRIX if the installer said otherwise.
92810
92811 2000-04-05  Jim Meyering  <meyering@lucent.com>
92812
92813         Portability tweaks required for ultrix4.3.
92814         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
92815         (jm_CHECK_DECLS): Add getutent to the list of functions.
92816         (_jm_DECL_HEADERS): Add utmpx.h.
92817         From John David Anglin.
92818
92819         * m4/strftime.m4: Back out the 2000-04-02 change.
92820         Instead of that change, simply undefine putenv in the test program.
92821
92822 2000-04-05  Jim Meyering  <meyering@lucent.com>
92823
92824         Portability tweaks required for ultrix4.3.
92825         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
92826         getutent.
92827         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
92828         * lib/canon-host.c: Declare strdup.
92829         * lib/path-concat.c: Likewise.
92830         From John David Anglin.
92831
92832 2000-04-04  Jim Meyering  <meyering@lucent.com>
92833
92834         Be more DOS 8.3-friendly.
92835         * lib/ref-add.sin: Renamed from ref-add.sed.in.
92836         * lib/ref-del.sin: Renamed from ref-del.sed.in.
92837         * lib/Makefile.am: Reflect renaming.
92838         Reported by Eli Zaretskii.
92839
92840         Use a temporary file name that won't clash with `charset.alias'
92841         in the DOS 8.3 name space.
92842         * lib/Makefile.am (charset_tmp): Define.
92843         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
92844         (uninstall-local): Likewise.
92845         Reported by Eli Zaretskii.
92846
92847 2000-04-03  Jim Meyering  <meyering@lucent.com>
92848
92849         * m4/gettext.m4: Fix typo in comment.
92850
92851         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
92852         textutils/configure.in).  Suggestion from Paul Eggert.
92853         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
92854
92855 2000-04-02  Paul Eggert  <eggert@twinsun.com>
92856
92857         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
92858         variable in the shell rather than using putenv, which isn't
92859         portable.  This avoids the configure-time inter-test dependency
92860         on the potentially-renamed putenv function.
92861
92862 2000-03-30  Paul Eggert  <eggert@twinsun.com>
92863
92864         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
92865         before checking struct stat.st_blksize, so that
92866         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
92867
92868 2000-03-29  Paul Eggert  <eggert@twinsun.com>
92869
92870         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
92871         since strftime.c uses HAVE_STRFTIME to decide whether to use
92872         the underlying strftime.
92873
92874 2000-03-29  Paul Eggert  <eggert@twinsun.com>
92875
92876         * lib/time/strftime.c (my_strftime): Make sure we call the system
92877         strftime, not ourselves, when invoking the underlying strftime.
92878
92879 2000-03-24  Jim Meyering  <meyering@lucent.com>
92880
92881         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
92882         (charset_alias): Define.
92883         (install-exec-local): Factor out common code.
92884         (uninstall-local): Split lines longer than 80.
92885         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
92886         (SUFFIXES): Define.
92887         (.sed.in.sed): New rule.  Don't redirect directly to $@.
92888         (CLEANFILES): Add ref-add.sed and ref-del.sed.
92889
92890 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
92891
92892         * lib/config.charset: Output a line containing "Packages using this
92893         file".
92894         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
92895         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
92896         ref-del.sed): New rules.
92897
92898 2000-03-17  Jim Meyering  <meyering@lucent.com>
92899
92900         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
92901         Otherwise, include <strings.h>
92902
92903 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
92904
92905         * lib/unicodeio.c (utf8_wctomb): New function.
92906         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
92907         format instead of in UCS-4 with platform dependent endianness.
92908
92909 2000-03-10  Jim Meyering  <meyering@lucent.com>
92910
92911         * m4/lib-check.m4: Look for getspnam in -lgen, too.
92912         From Marco Franzen.
92913
92914 2000-03-07  Paul Eggert  <eggert@twinsun.com>
92915
92916         * lib/savedir.c (savedir): Work even if directory size is
92917         negative; this can happen with some screwy NFS configurations.
92918
92919 2000-03-06  Jim Meyering  <meyering@lucent.com>
92920
92921         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
92922         if it's NULL (because we ran out of memory).  From Bruno Haible.
92923
92924 2000-03-05  Jim Meyering  <meyering@lucent.com>
92925
92926         * lib/localcharset.c ("path-concat.h"): Include.
92927         (get_charset_aliases): Use path_concat instead of ANSI string
92928         concatenation.
92929
92930         * lib/unicodeio.h (PARAMS): Define.
92931         Use it to guard prototype.
92932
92933 2000-03-04  Jim Meyering  <meyering@lucent.com>
92934
92935         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
92936         for lib/localcharset.c.
92937
92938 2000-03-04  Jim Meyering  <meyering@lucent.com>
92939
92940         * lib/Makefile.am (install-exec-local): Create $(libdir) before
92941         installing into it.
92942         (uninstall-local): Uncomment this rule so `make distcheck' works
92943         once again.
92944
92945         * lib/unicodeio.c (<errno.h>): Include it.
92946         (errno): Declare if not defined.
92947
92948         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
92949
92950         * lib/config.charset: New version, incorporating remarks from a linux
92951         i18n mailing list.  From Bruno Haible.
92952
92953 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
92954
92955         * m4/codeset.m4: New file.
92956         * m4/iconv.m4: New file.
92957         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
92958
92959 2000-03-03  Jim Meyering  <meyering@lucent.com>
92960
92961         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
92962
92963 2000-03-02  Jim Meyering  <meyering@lucent.com>
92964
92965         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
92966         the messages come out on separate lines.
92967
92968         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
92969         rather than jm_CHECK_DECLARATIONS.
92970         * m4/decl.m4: Remove now-unused file.
92971
92972         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
92973         geteuid.
92974
92975 2000-03-02  Jim Meyering  <meyering@lucent.com>
92976
92977         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
92978
92979 2000-03-01  Jim Meyering  <meyering@lucent.com>
92980
92981         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
92982         * lib/unicodeio.c: Likewise.
92983
92984 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
92985
92986         * lib/config.charset: New file.
92987         * lib/localcharset.c: New file.
92988         * lib/unicodeio.h, lib/unicodeio.c: New files.
92989         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
92990         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
92991         (noinst_HEADERS): Add unicodeio.h.
92992         (all-local, install-exec-local, charset.alias): New targets.
92993
92994 2000-02-28  Paul Eggert  <eggert@twinsun.com>
92995
92996         * lib/quotearg.c (ALERT_CHAR): New macro.
92997         (quotearg_buffer_restyled): Use it.
92998
92999 2000-02-27  Jim Meyering  <meyering@lucent.com>
93000
93001         * m4/check-decl.m4: Add getenv to the list.
93002
93003 2000-02-27  Jim Meyering  <meyering@lucent.com>
93004
93005         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
93006         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
93007
93008         * lib/backupfile.c: Guard inclusion of stdlib.h with
93009         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
93010         Declare malloc if needed.
93011
93012         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
93013         `#ifndef HAVE_DECL..'
93014         now that autoconf always defines the HAVE_DECL_ symbols.
93015         * lib/human.c: Likewise.
93016         * lib/same.c: Likewise.
93017         * lib/strtoumax.c: Likewise.
93018
93019         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
93020         declaration check was not run.
93021         * lib/hash.c: Likewise.
93022         * lib/human.c: Likewise.
93023         * lib/same.c: Likewise.
93024         * lib/strtoumax.c: Likewise.
93025
93026         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
93027         `.', then first look up the entire `.'-containing string as a login
93028         name.
93029
93030 2000-02-23  Jim Meyering  <meyering@lucent.com>
93031
93032         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
93033         in place of my hack.
93034
93035 2000-02-18  Paul Eggert  <eggert@twinsun.com>
93036
93037         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
93038         (textint): New typedef.
93039         (parser_control): Member year changed from int to textint.
93040         All uses changed.
93041         (YYSTYPE): Removed; replaced by %union with int and textint members.
93042         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
93043         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
93044         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
93045         (tSNUMBER, tUNUMBER): Now of type <textintval>.
93046         (date, number, to_year): Use width of number in digits, not its value,
93047         to determine whether it's a 2-digit year, or a 2-digit time.
93048         (yylex): Store number of digits of numeric tokens.
93049         Reported by John Kendall.
93050
93051         (parser_control): Changed from struct parser_control to typedef (for
93052         consistency).  All uses changed.
93053
93054         (tID): Removed; not used.
93055         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
93056
93057 2000-02-14  Paul Eggert  <eggert@twinsun.com>
93058
93059         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
93060         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
93061
93062 2000-02-12  Jim Meyering  <meyering@lucent.com>
93063
93064         * lib/userspec.c (ISDIGIT): Define it.
93065         (isdigit): Remove definition.
93066         (is_number): Use ISDIGIT, not isdigit.
93067         <libintl.h>: Include.
93068         (_ and N_): Define.
93069         (parse_user_spec): Mark translatable strings.
93070
93071 2000-02-10  Jim Meyering  <meyering@lucent.com>
93072
93073         With these changes, nanosleep.[ch] are finally enough like the other
93074         lib/* replacement files to compile on a few more losing systems.
93075
93076         * lib/nanosleep.h: Don't include config.h.
93077         Remove prototype from declaration of nanosleep.
93078         (PARAMS): Remove now-unneeded definition.
93079         * lib/nanosleep.c: #undef nanosleep.
93080         (rpl_nanosleep): Rename from nanosleep.
93081
93082 2000-02-10  Jim Meyering  <meyering@lucent.com>
93083
93084         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
93085         gnu_nanosleep to rpl_nanosleep.
93086
93087 2000-02-09  Jim Meyering  <meyering@lucent.com>
93088
93089         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
93090         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
93091
93092 2000-02-08  Akim Demaille  <akim@epita.fr>
93093
93094         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
93095         `[' and `]' and remove uses of `changequote'.
93096         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
93097         (AC_SYS_LARGEFILE): Likewise.
93098         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
93099         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
93100         of changequote.
93101         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
93102         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
93103         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
93104         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
93105
93106 2000-02-05  Jim Meyering  <meyering@lucent.com>
93107
93108         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
93109         Remove explicit use of AC_HEADER_TIME.  It is required by
93110         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
93111         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
93112         in autoconf whereby the expansion of the latter ended up preceding
93113         the expansion of its prerequisite, AC_HEADER_TIME.
93114         Reported by Volker Borchert.
93115
93116 2000-02-03  Jim Meyering  <meyering@lucent.com>
93117
93118         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
93119
93120 2000-02-03  Jim Meyering  <meyering@lucent.com>
93121
93122         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
93123         rather than with `#if HAVE_UTMPNAME'.
93124
93125 2000-02-02  Jim Meyering  <meyering@lucent.com>
93126
93127         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
93128         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
93129         Reported by Eli Zaretskii.
93130
93131 2000-02-01  Jim Meyering  <meyering@lucent.com>
93132
93133         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
93134
93135 2000-01-31  Jim Meyering  <meyering@lucent.com>
93136
93137         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
93138         functions.  Add the time.h and sys/time.h headers along with the
93139         AC_REQUIRE'ment of AC_HEADER_TIME.
93140
93141 2000-01-31  Jim Meyering  <meyering@lucent.com>
93142
93143         * lib/nanosleep.h (nanosleep): Guard declaration with
93144         `#if ! HAVE_DECL_NANOSLEEP'.
93145         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
93146         the declaration in that vendor's sys/timers.h.
93147         Reported by Christian Krackowizer.
93148
93149         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
93150         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
93151         (ISPRINT): Likewise.
93152         Reported by Tom Tromey.
93153
93154 2000-01-30  Jim Meyering  <meyering@lucent.com>
93155
93156         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
93157
93158         * m4/prereq.m4 (utmp_includes): Define.
93159         Check for ut_user and ut_name members in both struct utmpx
93160         and struct utmp.
93161
93162 2000-01-30  Jim Meyering  <meyering@lucent.com>
93163
93164         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
93165         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
93166         header files where only utmpx.ut_user is declared.
93167
93168         * lib/readutmp.h (UT_USER): Define.
93169
93170 2000-01-29  Jim Meyering  <meyering@lucent.com>
93171
93172         * m4/lib-check.m4: New file containing library-related checks from
93173         fileutils and sh-utils (textutils had none).
93174
93175 2000-01-28  Jim Meyering  <meyering@lucent.com>
93176
93177         * m4/perl.m4: Change format of warning message to look more like that
93178         from the missing script.  Suggestion from François Pinard.
93179
93180 2000-01-25  Jim Meyering  <meyering@lucent.com>
93181
93182         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
93183         well as time.h in the compile check.
93184         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
93185         Fix typo in cross-compiling case: s/yes/no/.
93186
93187 2000-01-23  Jim Meyering  <meyering@lucent.com>
93188
93189         * m4/jm-macros.m4: Move df-related tests here from
93190         fileutils/configure.in
93191
93192         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
93193         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
93194
93195         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
93196         s/space/ac_fsusage_space/.
93197         (jm_FILE_SYSTEM_USAGE): Take two parameters.
93198
93199         * m4/ftruncate.m4: New file (derived from part of
93200         fileutils/configure.in).
93201         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
93202         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
93203
93204         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
93205         AC_SUBST these here, rather than just in sh-util/configure.in, so
93206         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
93207         all the same.
93208         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
93209         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
93210         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
93211         (AC_SUBST(POW_LIBM)): Likewise.
93212         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
93213
93214 2000-01-23  Jim Meyering  <meyering@lucent.com>
93215
93216         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
93217         obstack.c.
93218
93219 2000-01-22  Jim Meyering  <meyering@lucent.com>
93220
93221         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
93222
93223         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
93224
93225         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
93226         configure.in
93227         (AC_CHECK_HEADERS): Likewise for sh-utils.
93228         (AC_CHECK_HEADERS): Likewise for textutils.
93229         Merge the three lists of headers.
93230
93231         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
93232         from fileutils' configure.in.
93233
93234         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
93235         code. Moved tests into their own function (_jm_DECL_HEADERS) in
93236         check-decl.m4.
93237
93238         * m4/check-decl.m4: Use #if rather than #ifdef.
93239         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
93240         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
93241         (_jm_DECL_HEADERS): Define new function.
93242         (jm_CHECK_DECLARATIONS): Require it.
93243
93244 2000-01-22  Jim Meyering  <meyering@lucent.com>
93245
93246         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
93247         [! HAVE_DECL_STRTOULL]: Declare strtoull.
93248         Required for some AIX systems.  Reported by Christian Krackowizer.
93249         [TESTING] (main): New function.
93250
93251         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
93252         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
93253         letters.
93254
93255         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
93256         iswprint.
93257
93258         * lib/strverscmp.c (ISDIGIT): Define.
93259         (strverscmp): Use ISDIGIT, not isdigit.
93260
93261 2000-01-19  Jim Meyering  <meyering@lucent.com>
93262
93263         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
93264         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
93265         defines `struct timespec' in <sys/time.h>
93266
93267         * m4/c-bs-a.m4: Remove uses of changequote altogether.
93268         Thanks to Akim for explaining.
93269
93270 2000-01-17  Paul Eggert  <eggert@twinsun.com>
93271
93272         * lib/nanosleep.c (nanosleep):
93273         Don't use SA_INTERRUPT to decide whether to call sigaction, as
93274         POSIX.1 doesn't require SA_INTERRUPT and some systems
93275         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
93276         it's been part of POSIX.1 since day 1 (in 1988).
93277
93278 2000-01-17  Jim Meyering  <meyering@lucent.com>
93279
93280         * lib/interlock: Remove unused file.  Reported by François Pinard.
93281
93282 2000-01-16  Paul Eggert  <eggert@twinsun.com>
93283
93284         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
93285         alert, backslash, formfeed, and vertical tab unnecessarily in
93286         shell quoting style.
93287
93288 2000-01-16  Jim Meyering  <meyering@lucent.com>
93289
93290         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
93291         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
93292         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
93293         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
93294
93295 2000-01-16  Jim Meyering  <meyering@lucent.com>
93296
93297         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
93298         because the latter didn't work.
93299
93300 2000-01-15  Jim Meyering  <meyering@lucent.com>
93301
93302         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
93303         (AC_REPLACE_FUNCS): Add memcpy and memset.
93304         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
93305         Add strpbrk.
93306         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
93307
93308 2000-01-12  Jim Meyering  <meyering@lucent.com>
93309
93310         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
93311         (jm_PREREQ): Use it.
93312         (jm_PREREQ_READUTMP): New macro.
93313         (jm_PREREQ): Use it.
93314
93315 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93316
93317         Quote multibyte characters correctly.
93318         * m4/c-bs-a.m4: New file.
93319         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
93320         (jm_PREREQ): Use it.
93321
93322 2000-01-11  Paul Eggert  <eggert@twinsun.com>
93323
93324         * m4/uintmax_t.m4: Port to autoconf 2.13.
93325
93326 2000-01-08  Jim Meyering  <meyering@ascend.com>
93327
93328         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
93329         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
93330
93331 2000-01-04  Jim Meyering  <meyering@ascend.com>
93332
93333         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
93334         jm_STRUCT_DIRENT_D_TYPE.
93335         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
93336         jm_STRUCT_DIRENT_D_INO.
93337         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
93338         jm_STRUCT_UTIMBUF.
93339         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
93340         renamings.
93341         * m4/utime.m4: Likewise.
93342
93343         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
93344         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
93345
93346 2000-01-03  Paul Eggert  <eggert@twinsun.com>
93347
93348         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
93349         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
93350
93351 2000-01-02  Jim Meyering  <meyering@ascend.com>
93352
93353         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
93354         remember if this is necessary.
93355
93356 1999-12-26  Jim Meyering  <meyering@ascend.com>
93357
93358         * m4/jm-macros.m4: Use it here.
93359         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
93360
93361 1999-12-23  Jim Meyering  <meyering@ascend.com>
93362
93363         * m4/jm-macros.m4: Check for clock_gettime (moved from
93364         fileutils/configure.in)
93365         Check for gettimeofday.
93366
93367 1999-12-20  Jim Meyering  <meyering@ascend.com>
93368
93369         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
93370         autoconf-2.14a-1999-12-20.
93371
93372 1999-12-19  Jim Meyering  <meyering@ascend.com>
93373
93374         * m4/lstat-slash.m4: New file.
93375         * m4/jm-macros.m4: Use the new macro:
93376         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
93377
93378 1999-12-07  Jim Meyering  <meyering@ascend.com>
93379
93380         * m4/perl.m4: Require that File::Compare be available, too.
93381         Too many systems seem to lack it.
93382
93383         * m4/strftime.m4: Add checks for most of the cpp macros tested in
93384         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
93385
93386 1999-11-18  Paul Eggert  <eggert@twinsun.com>
93387
93388         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
93389         problem with the QNX 4.25 shell, which doesn't propagate exit
93390         status of failed commands inside shell assignments.
93391
93392 1999-11-17  Jim Meyering  <meyering@ascend.com>
93393
93394         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
93395
93396 1999-11-07  Jim Meyering  <meyering@ascend.com>
93397
93398         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
93399
93400 1999-11-06  Jim Meyering  <meyering@ascend.com>
93401
93402         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
93403         * m4/jm-macros.m4 (jm_MACROS): Use it here.
93404
93405 1999-11-05  Jim Meyering  <meyering@ascend.com>
93406
93407         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
93408         configure.in of textutils, fileutils, and sh-utils into this one
93409         (shared between those packages) file.
93410         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
93411         AC_STRUCT_ST_BLKSIZE.
93412
93413 1999-11-03  Jim Meyering  <meyering@ascend.com>
93414
93415         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
93416         of AC_CHECK_TYPE checks includes unistd.h.
93417         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
93418         Suggestion from Akim Demaille.
93419
93420 1999-10-30  Jim Meyering  <meyering@ascend.com>
93421
93422         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
93423         m4-quoted string.
93424         * m4/ls-mntd-fs.m4: Likewise.
93425         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
93426         * m4/jm-winsz1.m4: Likewise.
93427
93428         * m4/const.m4: Remove file, since the fix made it into the experimental
93429         version of autoconf.
93430         * m4/mktime.m4: Likewise.
93431
93432         * m4/check-type.m4: Remove file, now that the latest version of
93433         AC_CHECK_TYPE takes a third arg to specify additional #includes.
93434
93435         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
93436         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
93437         AC_CHECK_TYPE.
93438
93439 1999-10-04  Jim Meyering  <meyering@ascend.com>
93440
93441         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
93442
93443 1999-09-22  Paul Eggert  <eggert@twinsun.com>
93444
93445         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
93446         2.95.1 bug with HP-UX 10.20.
93447
93448 1999-09-17  Jim Meyering  <meyering@ascend.com>
93449
93450         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
93451         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
93452         due to missing strdup (against sh-utils-2.0).
93453
93454 1999-08-29  Jim Meyering  <meyering@ascend.com>
93455
93456         * m4/jm-macros.m4: Require jm_BISON.
93457         * m4/bison.m4: New file.
93458
93459 1999-08-17  Paul Eggert  <eggert@twinsun.com>
93460
93461         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
93462         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
93463
93464 1999-08-05  Jim Meyering  <meyering@ascend.com>
93465
93466         * m4/getline.m4: Rename test file from conftestdata to conftest.data
93467         to avoid conflicts with `conftest' on 8+3 filesystems.
93468         Suggestion from Eli Zaretskii.
93469
93470 1999-08-04  Jim Meyering  <meyering@ascend.com>
93471
93472         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
93473         fileutils and sh-utils (textutils's getline test was inadequate).
93474         (AM_FUNC_GETLINE): Run this test.
93475         (AC_CHECK_FUNCS): Check for getdelim.
93476         Reported by Bob Proulx.
93477
93478 1999-08-02  Jim Meyering  <meyering@ascend.com>
93479
93480         * m4/jm-macros.m4: Add a comment.
93481
93482 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93483
93484         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
93485         <inttypes.h> defines strtoumax as a macro (and not as a
93486         function).
93487
93488 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93489
93490         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
93491         that we can shift, multiply and divide unsigned long long
93492         values; Ultrix cc can't do it.
93493
93494 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93495
93496         * m4/mktime.m4: New file, which is a preview of what should appear
93497         in the next public autoconf release.
93498
93499 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93500
93501         * m4/lfs.m4: Remove this file.
93502         * m4/largefile.m4: New file.  It contains the old contents of
93503         lfs.m4, except that all names with prefix AC_LFS have been
93504         changed to use the prefix AC_SYS_LARGEFILE instead, to be
93505         compatible with future autoconf versions.  Also, some minor m4
93506         quoting problems have been fixed.
93507
93508 1999-08-01  Paul Eggert  <eggert@twinsun.com>
93509
93510         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
93511         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
93512         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
93513         and simplify the shell code.
93514
93515 1999-08-01  Jim Meyering  <meyering@ascend.com>
93516
93517         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
93518         m4.
93519
93520 1999-07-20  Jim Meyering  <meyering@ascend.com>
93521
93522         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
93523
93524 1999-07-15  Jim Meyering  <meyering@ascend.com>
93525
93526         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
93527
93528 1999-05-22  Jim Meyering  <meyering@ascend.com>
93529
93530         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
93531
93532 1999-05-20  Jim Meyering  <meyering@ascend.com>
93533
93534         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
93535         Add a colon after each `then' in case $4 is empty.
93536
93537 1999-05-16  Jim Meyering  <meyering@ascend.com>
93538
93539         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
93540
93541 1999-05-10  Jim Meyering  <meyering@ascend.com>
93542
93543         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
93544
93545         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
93546         AC_FUNC_MKTIME.
93547
93548 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
93549
93550         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
93551
93552 1999-05-04  Paul Eggert  <eggert@twinsun.com>
93553
93554         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
93555         not CPPFLAGS, so that linking works correctly in IRIX.
93556
93557 1999-04-30  Paul Eggert  <eggert@twinsun.com>
93558
93559         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
93560
93561 1999-04-20  Paul Eggert  <eggert@twinsun.com>
93562
93563         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
93564         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
93565         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
93566         jm_AC_TYPE_UNSIGNED_LONG_LONG.
93567         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
93568
93569         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
93570
93571 1999-04-20  Jim Meyering  <meyering@ascend.com>
93572
93573         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
93574         AC_REPLACE xstroull if necessary.  From Paul Eggert.
93575         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
93576
93577 1999-04-18  Jim Meyering  <meyering@ascend.com>
93578
93579         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
93580         * m4/jm-macros.m4: Use it.
93581
93582 1999-04-06  Jim Meyering  <meyering@ascend.com>
93583
93584         * m4/strftime.m4: Remove test for %f.
93585
93586 1999-03-29  Jim Meyering  <meyering@ascend.com>
93587
93588         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
93589         superset of the AC_TYPE_* checks in the textutils, fileutils,
93590         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
93591         AC_TYPE_PID_T.
93592
93593 1999-03-28  Jim Meyering  <meyering@ascend.com>
93594
93595         * m4/jm-macros.m4: Define GNU_PACKAGE here.
93596         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
93597         replaced e.g., in the *.sh files of the sh-utils.
93598
93599 1999-03-20  Jim Meyering  <meyering@ascend.com>
93600
93601         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
93602         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
93603         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
93604
93605 1999-03-19  Jim Meyering  <meyering@ascend.com>
93606
93607         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
93608
93609 1999-03-12  Jim Meyering  <meyering@ascend.com>
93610
93611         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
93612
93613 1999-03-07  Jim Meyering  <meyering@ascend.com>
93614
93615         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
93616         declared.
93617
93618 1999-02-17  Jim Meyering  <meyering@ascend.com>
93619
93620         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
93621         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
93622
93623 1999-02-07  Jim Meyering  <meyering@ascend.com>
93624
93625         * m4/group-member.m4: New file -- extracted from sh-utils'
93626         configure.in.
93627
93628         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
93629         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
93630
93631 1999-02-06  Jim Meyering  <meyering@ascend.com>
93632
93633         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
93634         * m4/fnmatch.m4: Likewise.
93635         * m4/getgroups.m4: Likewise.
93636         * m4/lstat.m4: Likewise.
93637         * m4/malloc.m4: Likewise.
93638         * m4/putenv.m4: Likewise.
93639         * m4/realloc.m4: Likewise.
93640         * m4/regex.m4: Likewise.
93641         * m4/stat.m4: Likewise.
93642         * m4/strftime.m4: Likewise.
93643         Suggestion from Alain Magloire.
93644
93645         * m4/chown.m4: Use `.$ac_objext', not `.o'.
93646         * m4/fnmatch.m4: Likewise.
93647         * m4/getgroups.m4: Likewise.
93648         * m4/getline.m4: Likewise.
93649         * m4/lstat.m4: Likewise.
93650         * m4/malloc.m4: Likewise.
93651         * m4/memcmp.m4: Likewise.
93652         * m4/putenv.m4: Likewise.
93653         * m4/realloc.m4: Likewise.
93654         * m4/regex.m4: Likewise.
93655         * m4/stat.m4: Likewise.
93656         * m4/strftime.m4: Likewise.
93657         Suggestion from Alain Magloire.
93658
93659         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
93660         an argument.
93661
93662         * m4/regex.m4: Add a run-time Test for proper operation of
93663         re_compile_pattern.
93664
93665 1999-01-31  Jim Meyering  <meyering@ascend.com>
93666
93667         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
93668
93669 1999-01-30  Jim Meyering  <meyering@ascend.com>
93670
93671         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
93672
93673         * m4/jm-mktime.m4: Make this a wrapper around the official
93674         AM_FUNC_MKTIME rather than my private copy, now that the official one
93675         is up to date.
93676         * m4/mktime.m4: Remove file.
93677
93678         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
93679         * m4/uptime.m4: Likewise.
93680         * m4/uintmax_t.m4: Likewise.
93681
93682 1999-01-28  Jim Meyering  <meyering@ascend.com>
93683
93684         * m4/jm-macros.m4: Use jm_AFS.
93685         * m4/afs.m4: New file (from fileutils' configure.in).
93686
93687         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
93688         * m4/chown.m4: Likewise.
93689         * m4/d-ino.m4: Likewise.
93690         * m4/d-type.m4: Likewise.
93691         * m4/fnmatch.m4: Likewise.
93692         * m4/getgroups.m4: Likewise.
93693         * m4/gettext.m4: Likewise.
93694         * m4/jm-mktime.m4: Likewise.
93695         * m4/jm-winsz2.m4: Likewise.
93696         * m4/lcmessage.m4: Likewise.
93697         * m4/ls-mntd-fs.m4: Likewise.
93698         * m4/malloc.m4: Likewise.
93699         * m4/memcmp.m4: Likewise.
93700         * m4/putenv.m4: Likewise.
93701         * m4/realloc.m4: Likewise.
93702         * m4/st_mtim.m4: Likewise.
93703         * m4/strftime.m4: Likewise.
93704
93705 1999-01-16  Jim Meyering  <meyering@ascend.com>
93706
93707         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
93708         (ARGMATCH_DIE_DECL): Define.
93709
93710 1999-01-12  Jim Meyering  <meyering@ascend.com>
93711
93712         * m4/Makefile.am.in: Rewrite to avoid using fmt.
93713         Reported by Lars Hecking.
93714
93715 1999-01-10  Jim Meyering  <meyering@ascend.com>
93716
93717         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
93718         gross kludge.
93719         * m4/inttypes_h.m4: Likewise.
93720         * m4/lstat.m4: Likewise.
93721         * m4/malloc.m4: Likewise.
93722         * m4/readdir.m4: Likewise.
93723         * m4/realloc.m4: Likewise.
93724         * m4/st_dm_mode.m4: Likewise.
93725         * m4/stat.m4: Likewise.
93726         * m4/utimbuf.m4: Likewise.
93727         * m4/utimes.m4: Likewise.
93728
93729         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
93730         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
93731         comments in config.h.in are meaningful.
93732
93733         * m4/jm-macros.m4: Require autoconf-2.13 here.
93734
93735         * m4/regex.m4: By default, don't use the included regex.c on systems
93736         with glibc 2.  Suggestion from Uli Drepper.
93737
93738 1999-01-02  Jim Meyering  <meyering@ascend.com>
93739
93740         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
93741
93742 1998-12-18  Jim Meyering  <meyering@ascend.com>
93743
93744         * m4/Makefile.am.in (Makefile.am): Simplify rule.
93745         Based on a suggestion from Lars Hecking.
93746
93747 1998-11-16  Paul Eggert  <eggert@twinsun.com>
93748
93749         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
93750
93751 1998-11-16  Jim Meyering  <meyering@ascend.com>
93752
93753         * m4/lfs.m4: Double-quote the `uname...` expression.
93754
93755 1998-11-14  Jim Meyering  <meyering@ascend.com>
93756
93757         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
93758         * m4/stat.m4: Likewise.
93759
93760 1998-11-03  Jim Meyering  <meyering@ascend.com>
93761
93762         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
93763         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
93764
93765 1998-10-18  Jim Meyering  <meyering@ascend.com>
93766
93767         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
93768
93769 1998-10-17  Jim Meyering  <meyering@ascend.com>
93770
93771         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
93772         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
93773         calls for those previously hard-coded headers.  Instead, take a new
93774         parameter.
93775         (jm_CHECK_DECLARATIONS): Reflect interface change.
93776         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
93777         (jm_CHECK_DECL_LOCALTIME_R): New macro.
93778
93779         * m4/mktime.m4: Test for spring-forward gap before long-running test.
93780
93781 1998-10-14  Jim Meyering  <meyering@ascend.com>
93782
93783         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
93784         instead of "TZ=America/Vancouver".  From Paul Eggert.
93785
93786 1998-10-11  Jim Meyering  <meyering@ascend.com>
93787
93788         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
93789         This adds a test for a recently added compatibility fix for mktime.c.
93790         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
93791
93792 1998-09-27  Jim Meyering  <meyering@ascend.com>
93793
93794         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
93795
93796         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
93797         ../configure.in, including a change from Gordon Matzigkeit to allow
93798         cross-compiling for the Hurd.
93799
93800         * m4/glibc.m4: New file/macro to test for the GNU C Library
93801         versions 1 and 2.  From Gordon Matzigkeit.
93802         Indent.
93803
93804 1998-09-21  Jim Meyering  <meyering@ascend.com>
93805
93806         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
93807
93808 1998-08-18  Paul Eggert  <eggert@twinsun.com>
93809
93810         Port nanosecond-resolution times to UnixWare 2.1.2 and
93811         pedantic Solaris 2.6.
93812
93813         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
93814         AC_STRUCT_ST_MTIM.
93815         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
93816         Generate name of ns member, instead of just 1 or undef.
93817         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
93818
93819 1998-08-15  Jim Meyering  <meyering@ascend.com>
93820
93821         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
93822         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
93823         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
93824         instead of jm_TYPE_SSIZE_T.
93825
93826 1998-08-12  Jim Meyering  <meyering@ascend.com>
93827
93828         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
93829
93830 1998-08-02  Jim Meyering  <meyering@ascend.com>
93831
93832         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
93833         in acconfig.h manually.
93834
93835 1998-07-31  Paul Eggert  <eggert@twinsun.com>
93836
93837         * m4/st_mtim.m4: New file.
93838
93839 1998-07-28  Jim Meyering  <meyering@ascend.com>
93840
93841         * m4/utimes.m4: Undef stat.
93842
93843 1998-07-25  Jim Meyering  <meyering@ascend.com>
93844
93845         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
93846         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
93847
93848 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
93849
93850         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
93851         uid and gid actually remain unchanged.
93852
93853 1998-07-07  Jim Meyering  <meyering@ascend.com>
93854
93855         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
93856
93857 1998-07-04  Jim Meyering  <meyering@ascend.com>
93858
93859         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
93860         to prove that this macro can be used in packages without regex.c.
93861
93862 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
93863
93864         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
93865         is to be used.
93866
93867 1998-07-03  Jim Meyering  <meyering@ascend.com>
93868
93869         * m4/gettext.m4: Add -lintl if it's found to be necessary.
93870
93871         * m4/gettext.m4: New file -- from gettext-0.10.35.
93872         * m4/lcmessage.m4: Likewise.
93873         * m4/progtest.m4: Likewise.
93874
93875         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
93876         * m4/jm-macros.m4: Require the new macro.
93877
93878 1998-06-29  Jim Meyering  <meyering@ascend.com>
93879
93880         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
93881         for the definition of NGROUPS (used in a system header included
93882         by sys/mount.h).
93883
93884 1998-06-28  Jim Meyering  <meyering@ascend.com>
93885
93886         * m4/ls-mntd-fs.m4: New file.
93887         * m4/fstypename.m4: New file.
93888
93889         * m4/jm-macros.m4: Require the new macro.
93890         * m4/jm-glibc-io.m4: New file.
93891
93892 1998-05-19  Jim Meyering  <meyering@ascend.com>
93893
93894         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
93895         * m4/lchown.m4: New file.
93896
93897         * m4/Makefile.am.in: New file.
93898         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
93899
93900 1998-05-14  Jim Meyering  <meyering@ascend.com>
93901
93902         * m4/Makefile.am (EXTRA_DIST): Add them.
93903         * m4/jm-macros.m4: New file.
93904         * m4/utimbuf.m4: New file.
93905
93906 1998-05-12  Jim Meyering  <meyering@ascend.com>
93907
93908         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
93909
93910 1998-05-11  Jim Meyering  <meyering@ascend.com>
93911
93912         * m4/isc-posix.m4: New file.
93913
93914 1998-05-10  Jim Meyering  <meyering@ascend.com>
93915
93916         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
93917
93918 1998-05-09  Jim Meyering  <meyering@ascend.com>
93919
93920         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
93921         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
93922         with automake.
93923
93924         * m4/ssize_t.m4: New file.
93925         * m4/mktime.m4: Remove file -- the new automake has this now.
93926
93927 1998-04-26  Jim Meyering  <meyering@ascend.com>
93928
93929         * m4/assert.m4: New file.
93930         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
93931
93932 1998-04-05  Jim Meyering  <meyering@ascend.com>
93933
93934         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
93935         (jm_PREREQ): Use it here.
93936
93937 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
93938
93939         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
93940         in acconfig.h.
93941
93942 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
93943
93944         * m4/prereq.m4: New file.
93945         * m4/error.m4: New file.
93946         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
93947
93948 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
93949
93950         * m4/getline.m4: Don't set am_cv_func_working_getline before the
93951         cache-check for the same variable -- that defeated the purpose of
93952         the test; the test program was never run.  This was a problem only
93953         on systems with losing getline functions -- HP-UX 10.20 is one.
93954         Reported by Bjorn Helgaas.
93955
93956 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
93957
93958         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
93959
93960 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
93961
93962         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
93963
93964         * m4/const.m4: New file.  Use an initializer in this declaration
93965         typedef int charset[2]; const charset x;
93966         Reported by Bob Glickstein.
93967
93968 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
93969
93970         * m4/chown.m4: Fix reversed types on -1 args to chown.
93971         From Kaveh Ghazi.
93972
93973 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
93974
93975         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
93976         Add lseek and memchr.
93977
93978         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
93979         T.E.Dickey <dickey@clark.net> said that some older preprocessors
93980         have a 20-character limit on names.
93981
93982 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
93983
93984         * m4/inttypes_h.m4: New file.
93985         * m4/uintmax_t.m4: New file.
93986         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
93987
93988
93989         -----
93990
93991         Local Variables:
93992         coding: utf-8
93993         End:
93994
93995         Copyright (C) 1997-2012 Free Software Foundation, Inc.
93996
93997         Copying and distribution of this file, with or without
93998         modification, are permitted provided the copyright notice
93999         and this notice are preserved.